
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

size_t do_scrub_chars(_func_size_t_char_ptr_size_t *get,char *tostart,size_t tolen)

{
  byte bVar1;
  char cVar2;
  byte bVar3;
  byte *pbVar4;
  byte *pbVar5;
  uint uVar6;
  byte *pbVar7;
  byte *pbVar8;
  uint uVar9;
  size_t sVar10;
  uint *puVar11;
  byte *pbVar12;
  char *pcVar13;
  char *pcVar14;
  char *pcVar15;
  size_t sVar16;
  uint *puVar17;
  char *pcVar18;
  int iVar19;
  undefined4 uVar20;
  bool bVar21;
  char *local_38;
  byte *local_30;
  uint local_2c;
  
  pbVar4 = (byte *)(tostart + tolen);
  pbVar5 = (byte *)tostart;
  if (saved_input == (char *)0x0) {
    sVar10 = (*get)(input_buffer,0x8000);
    if (sVar10 == 0) {
      return 0;
    }
    pcVar13 = input_buffer + sVar10;
    iVar19 = state;
    pcVar18 = input_buffer;
  }
  else {
    pcVar13 = saved_input + saved_input_len;
    iVar19 = state;
    pcVar18 = saved_input;
  }
LAB_0001649b:
  pcVar14 = pcVar18;
  pbVar12 = pbVar5;
  switch(iVar19) {
  default:
_L47:
    pcVar15 = input_buffer;
    local_30 = pbVar5;
LAB_00016b4e:
    if (pcVar14 < pcVar13) {
      bVar3 = *pcVar14;
    }
    else {
      saved_input = (char *)0x0;
      sVar10 = (*get)(input_buffer,0x8000);
      pcVar13 = input_buffer + sVar10;
      if (sVar10 == 0) {
        pbVar5 = local_30;
        if (state == 0) goto LAB_00016992;
        pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5);
        as_warn(pcVar18);
        state = 0;
        pbVar5 = local_30 + 1;
        *local_30 = 10;
        if (pbVar5 < pbVar4) goto LAB_00016992;
        goto LAB_000169c8;
      }
      pcVar14 = input_buffer;
      bVar3 = input_buffer[0];
    }
    pcVar18 = (char *)((byte *)pcVar14 + 1);
    local_2c = (uint)bVar3;
    pbVar7 = (byte *)(input_buffer + 1);
    uVar9 = (uint)(byte)lex[local_2c];
    pbVar5 = local_30;
_L101:
    pbVar12 = pbVar5;
    if ((byte)uVar9 < 0xf) {
LAB_00016b84:
      bVar3 = (byte)local_2c;
      pbVar5 = pbVar12;
      switch((&switchD_00016b8d::switchdataD_0005b1a4)[uVar9] + 0x80000) {
      case 0x16612:
        pbVar5 = pbVar12 + 1;
        if (state != 10) {
          if (pcVar18 < pcVar13) {
            bVar3 = *pcVar18;
LAB_0001663b:
            pcVar18 = (char *)((byte *)pcVar18 + 1);
            uVar9 = (uint)bVar3;
            if (uVar9 == 0x5c) {
              if (pcVar18 < pcVar13) {
                bVar3 = *pcVar18;
              }
              else {
                saved_input = (char *)0x0;
                sVar10 = (*get)(input_buffer,0x8000);
                if (sVar10 == 0) {
                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);
                  as_warn(pcVar18);
                  uVar20 = 0x5c;
                  goto LAB_000173ae;
                }
                pcVar13 = input_buffer + sVar10;
                pcVar18 = input_buffer;
                bVar3 = input_buffer[0];
              }
              pcVar18 = (char *)((byte *)pcVar18 + 1);
              uVar9 = (uint)bVar3;
              if (uVar9 == 0x66) {
                uVar9 = 0xc;
              }
              else if (uVar9 < 0x67) {
                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {
                  uVar9 = 8;
                }
              }
              else if (uVar9 == 0x72) {
                uVar9 = 0xd;
              }
              else if (uVar9 == 0x74) {
                uVar9 = 9;
              }
              else if (uVar9 == 0x6e) {
                uVar9 = 10;
              }
            }
            sprintf(out_buf,"%d",uVar9);
            if (pcVar13 <= pcVar18) goto LAB_000173d4;
            bVar3 = *pcVar18;
LAB_000166af:
            pcVar18 = (char *)((byte *)pcVar18 + 1);
            if (bVar3 != 0x27) {
              ((byte *)pcVar18)[-1] = bVar3;
              pcVar18 = (char *)((byte *)pcVar18 + -1);
            }
          }
          else {
            saved_input = (char *)0x0;
            sVar10 = (*get)(input_buffer,0x8000);
            if (sVar10 != 0) {
              pcVar13 = input_buffer + sVar10;
              pcVar18 = input_buffer;
              bVar3 = input_buffer[0];
              goto LAB_0001663b;
            }
            uVar20 = 0;
            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)
            ;
            as_warn(pcVar18);
LAB_000173ae:
            sprintf(out_buf,"%d",uVar20);
LAB_000173d4:
            pcVar18 = input_buffer;
            saved_input = (char *)0x0;
            sVar10 = (*get)(input_buffer,0x8000);
            pcVar13 = input_buffer + sVar10;
            if (sVar10 != 0) {
              pcVar18 = input_buffer;
              bVar3 = input_buffer[0];
              goto LAB_000166af;
            }
          }
          iVar19 = state;
          local_38 = out_buf;
          do {
            puVar11 = (uint *)local_38;
            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;
            uVar9 = uVar6 & 0x80808080;
            local_38 = (char *)(puVar11 + 1);
          } while (uVar9 == 0);
          bVar21 = (uVar6 & 0x8080) == 0;
          if (bVar21) {
            uVar9 = uVar9 >> 0x10;
          }
          puVar17 = (uint *)((int)puVar11 + 6);
          if (!bVar21) {
            puVar17 = puVar11 + 1;
          }
          if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)
          {
            *pbVar12 = out_buf[0];
            iVar19 = state;
            goto joined_r0x00016e98;
          }
          state = -1;
          if (iVar19 == 9) {
            iVar19 = 3;
          }
          out_string = out_buf + 1;
          old_state = iVar19;
          *pbVar12 = out_buf[0];
          pcVar14 = pcVar18;
          if (pbVar5 < pbVar4) goto _L52;
          goto LAB_00016520;
        }
        ((byte *)pcVar18)[-1] = bVar3;
        state = 3;
        *pbVar12 = 0x20;
        pcVar14 = (char *)((byte *)pcVar18 + -1);
        goto joined_r0x000172dc;
      case 0x16d47:
        local_30 = pbVar12 + 1;
        goto LAB_00016d70;
      case 0x16dd8:
        break;
      case 0x16e10:
        state = 1;
        *pbVar12 = bVar3;
        goto joined_r0x00016e2c;
      case 0x16e3c:
        if (add_newlines != 0) {
          add_newlines = add_newlines + -1;
          ((byte *)pcVar18)[-1] = bVar3;
          pcVar18 = (char *)((byte *)pcVar18 + -1);
        }
        break;
      case 0x16e62:
        if (state - 9U < 2) {
          state = 3;
        }
        else if (state != 3) {
          state = 1;
        }
        *pbVar12 = bVar3;
        pbVar5 = pbVar12 + 1;
        iVar19 = state;
        goto joined_r0x00016e98;
      case 0x16eae:
        pbVar5 = pbVar12 + 1;
        do_scrub_chars::quotechar = bVar3;
        if (state == 10) {
          state = 3;
          ((byte *)pcVar18)[-1] = bVar3;
          *pbVar12 = 0x20;
          pcVar14 = (char *)((byte *)pcVar18 + -1);
          if (pbVar4 <= pbVar5) goto LAB_00016520;
          if ((byte *)pcVar18 + -1 < pcVar13) {
            local_2c = (uint)((byte *)pcVar18)[-1];
          }
          else {
            pcVar18 = input_buffer;
            saved_input = (char *)0x0;
            sVar10 = (*get)(input_buffer,0x8000);
            local_2c = 0xffffffff;
            pcVar13 = input_buffer + sVar10;
            if (sVar10 != 0) {
              local_2c = (uint)(byte)input_buffer[0];
              pcVar18 = input_buffer + 1;
            }
          }
          old_state = 3;
          pbVar7 = pbVar12 + 2;
          pbVar12 = pbVar5;
        }
        else {
          pbVar7 = pbVar5;
          if (state == 9) {
            old_state = 3;
          }
          else {
            old_state = state;
          }
        }
        state = 5;
        *pbVar12 = (byte)local_2c;
        pbVar5 = pbVar7;
        goto joined_r0x0001680c;
      case 0x16f07:
        do {
          if (pcVar18 < pcVar13) {
            bVar3 = *pcVar18;
            pcVar18 = (char *)((byte *)pcVar18 + 1);
            pbVar12 = pbVar5;
          }
          else {
            saved_input = (char *)0x0;
            sVar10 = (*get)(input_buffer,0x8000);
            if (sVar10 == 0) goto LAB_00016992;
            pcVar13 = input_buffer + sVar10;
            pcVar18 = (char *)pbVar7;
            bVar3 = input_buffer[0];
            pbVar12 = pbVar5;
          }
          local_2c = (uint)bVar3;
          bVar1 = lex[local_2c];
          uVar9 = (uint)bVar1;
          pbVar5 = pbVar12;
        } while (bVar1 == 2);
        if (state != 0) goto code_r0x000171ad;
        state = 1;
        goto LAB_00017227;
      case 0x16f61:
        pbVar5 = pbVar12 + 1;
        if (state == 10) {
          ((byte *)pcVar18)[-1] = bVar3;
          pcVar14 = (char *)((byte *)pcVar18 + -1);
          state = 3;
          *pbVar12 = 0x20;
          goto joined_r0x000172dc;
        }
        local_30 = pbVar5;
        if (state == 3) {
          state = 9;
          if (pbVar4 <= pbVar5) {
            *pbVar12 = bVar3;
            pcVar14 = pcVar18;
            goto LAB_00016520;
          }
        }
        else if (pbVar4 <= pbVar5) goto LAB_00016fab;
        if (mri_state != (char *)0x0) goto LAB_00016fab;
        if ((pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2))
        goto LAB_0001787c;
        iVar19 = (int)pbVar4 - (int)pbVar12;
        if (iVar19 < 1) goto LAB_000178a1;
        goto LAB_00016fab;
      case 0x16fe6:
        if (pcVar18 < pcVar13) {
          pbVar5 = (byte *)pcVar18 + 1;
          bVar1 = *pcVar18;
LAB_00016ff8:
          if (bVar1 == 0x2a) goto LAB_00017025;
          pcVar15 = (char *)(pbVar5 + -1);
          pbVar5[-1] = bVar1;
        }
        else {
          saved_input = (char *)0x0;
          sVar10 = (*get)(input_buffer,0x8000);
          pcVar13 = input_buffer + sVar10;
          pbVar5 = pbVar7;
          bVar1 = input_buffer[0];
          if (sVar10 != 0) goto LAB_00016ff8;
        }
        if (state - 9U < 2) {
          state = 3;
        }
        *pbVar12 = bVar3;
        pbVar5 = pbVar12 + 1;
        pcVar18 = pcVar15;
        iVar19 = state;
        goto joined_r0x00016e98;
      case 0x17082:
        if (local_2c == 0x2f) {
          if (pcVar18 < pcVar13) {
            bVar3 = *pcVar18;
          }
          else {
            saved_input = (char *)0x0;
            sVar10 = (*get)(input_buffer,0x8000);
            pcVar13 = input_buffer + sVar10;
            pcVar18 = pcVar15;
            pbVar5 = pbVar12;
            if (sVar10 == 0) goto LAB_0001708b;
            pcVar18 = input_buffer;
            bVar3 = input_buffer[0];
          }
          pcVar18 = (char *)((byte *)pcVar18 + 1);
          if (bVar3 == 0x2a) {
            old_state = 3;
            state = -2;
            goto _L53;
          }
          ((byte *)pcVar18)[-1] = bVar3;
          pcVar18 = (char *)((byte *)pcVar18 + -1);
          pbVar5 = pbVar12;
        }
LAB_0001708b:
        iVar19 = state;
        if (1 < (uint)state) {
          pcVar14 = strchr(i386_comment_chars,local_2c);
          local_30 = pbVar5 + 1;
          if (pcVar14 != (char *)0x0) goto LAB_00016d70;
          goto LAB_0001741d;
        }
        local_30 = pbVar5;
        goto LAB_0001751e;
      case 0x170df:
        goto LAB_000170e3;
      }
      state = 0;
      pbVar5 = pbVar12 + 1;
      *pbVar12 = bVar3;
      pcVar14 = pcVar18;
      goto joined_r0x000172dc;
    }
LAB_000170e3:
    local_30 = pbVar12 + 1;
    goto LAB_00016fab;
  case 4:
    if (pcVar18 < pcVar13) {
      bVar3 = *pcVar18;
    }
    else {
      saved_input = (char *)0x0;
      sVar10 = (*get)(input_buffer,0x8000);
      if (sVar10 == 0) {
LAB_00016992:
        return (int)pbVar5 - (int)tostart;
      }
      pcVar13 = input_buffer + sVar10;
      pcVar18 = input_buffer;
      bVar3 = input_buffer[0];
      pbVar12 = pbVar5;
    }
    pcVar18 = (char *)((byte *)pcVar18 + 1);
    uVar9 = (uint)bVar3;
    pbVar5 = pbVar12 + 1;
    if (uVar9 - 0x30 < 10) {
      *pbVar12 = bVar3;
      iVar19 = state;
      break;
    }
    pcVar14 = input_buffer;
    while (lex[uVar9] == '\x02') {
      while (pcVar18 < pcVar13) {
        uVar9 = (uint)(byte)*pcVar18;
        pcVar18 = (char *)((byte *)pcVar18 + 1);
        if (lex[uVar9] != '\x02') goto LAB_000167d8;
      }
      saved_input = (char *)0x0;
      sVar10 = (*get)(input_buffer,0x8000);
      pcVar13 = input_buffer + sVar10;
      if (sVar10 == 0) {
        uVar9 = 0xffffffff;
        goto LAB_00016b1d;
      }
      pcVar18 = input_buffer + 1;
      uVar9 = (uint)(byte)input_buffer[0];
    }
LAB_000167d8:
    if (uVar9 == 0x22) {
      do_scrub_chars::quotechar = '\"';
      state = 5;
      old_state = 3;
      *pbVar12 = 0x22;
joined_r0x0001680c:
      pcVar14 = pcVar18;
      if (pbVar5 < pbVar4) goto _L50;
    }
    else {
      pcVar14 = pcVar18;
      while (uVar9 != 0xffffffff) {
        while( true ) {
          if (uVar9 == 10) goto LAB_00016b1d;
          if (pcVar13 <= pcVar14) break;
          uVar9 = (uint)(byte)*pcVar14;
          pcVar14 = (char *)((byte *)pcVar14 + 1);
          if (uVar9 == 0xffffffff) goto LAB_00016b1d;
        }
        saved_input = (char *)0x0;
        sVar10 = (*get)(input_buffer,0x8000);
        pcVar13 = input_buffer + sVar10;
        if (sVar10 == 0) {
          uVar9 = 0xffffffff;
          pcVar14 = input_buffer;
        }
        else {
          uVar9 = (uint)(byte)input_buffer[0];
          pcVar14 = input_buffer + 1;
        }
      }
LAB_00016b1d:
      state = 0;
      *pbVar12 = (byte)uVar9;
      if (pbVar5 < pbVar4) goto _L47;
    }
    goto LAB_00016520;
  case 5:
_L50:
    pbVar12 = pbVar5;
    if (pcVar18 < pcVar13) {
      bVar3 = *pcVar18;
      pcVar14 = pcVar18;
      if (((bVar3 != 0x5c) && (bVar3 != do_scrub_chars::quotechar)) &&
         (pbVar7 = (byte *)pcVar18, bVar3 != 10)) {
        while ((pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&
               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c))) {
          if ((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)) break;
        }
        sVar16 = (int)pbVar4 - (int)pbVar5;
        if ((int)pbVar8 - (int)pcVar18 <= (int)pbVar4 - (int)pbVar5) {
          sVar16 = (int)pbVar8 - (int)pcVar18;
        }
        if (0 < (int)sVar16) {
          pcVar14 = (char *)((byte *)pcVar18 + sVar16);
          memcpy(pbVar5,pcVar18,sVar16);
          pbVar5 = pbVar5 + sVar16;
          if (pbVar4 <= pbVar5) goto LAB_00016520;
          pbVar12 = pbVar5;
          if (pcVar13 <= pcVar14) goto LAB_00016a7d;
        }
      }
      pbVar5 = pbVar12 + 1;
      bVar3 = *pcVar14;
    }
    else {
LAB_00016a7d:
      saved_input = (char *)0x0;
      sVar10 = (*get)(input_buffer,0x8000);
      pbVar5 = pbVar12 + 1;
      if (sVar10 == 0) {
        iVar19 = (int)do_scrub_chars::quotechar;
        pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);
        as_warn(pcVar18,iVar19);
        iVar19 = old_state;
        do_scrub_chars::lexical_block_16::one_char_buf[0] = '\n';
        state = old_state;
        *pbVar12 = do_scrub_chars::quotechar;
        if (pbVar4 <= pbVar5) {
          saved_input_len = 1;
          saved_input = do_scrub_chars::lexical_block_16::one_char_buf;
          goto LAB_00016538;
        }
        pcVar13 = &do_scrub_chars::quotechar;
        pcVar18 = do_scrub_chars::lexical_block_16::one_char_buf;
        goto LAB_0001649b;
      }
      pcVar13 = input_buffer + sVar10;
      pcVar14 = input_buffer;
      bVar3 = input_buffer[0];
    }
    iVar19 = old_state;
    pcVar18 = (char *)((byte *)pcVar14 + 1);
    if ((int)do_scrub_chars::quotechar == (uint)bVar3) {
      state = old_state;
      *pbVar12 = bVar3;
    }
    else {
      if (bVar3 == 0x5c) {
        state = 6;
        *pbVar12 = 0x5c;
        pcVar14 = pcVar18;
        if (pbVar4 <= pbVar5) goto LAB_00016520;
        goto _L48;
      }
      *pbVar12 = bVar3;
      iVar19 = state;
    }
    break;
  case 6:
_L48:
    state = 5;
    pbVar12 = pbVar5 + 1;
    if (pcVar18 < pcVar13) {
      bVar3 = *pcVar18;
joined_r0x00016a19:
      pcVar18 = (char *)((byte *)pcVar18 + 1);
      if (bVar3 == 10) {
        ((byte *)pcVar18)[-1] = 0x6e;
        pcVar18 = (char *)((byte *)pcVar18 + -1);
        add_newlines = add_newlines + 1;
        *pbVar5 = 0x5c;
        pbVar5 = pbVar12;
        iVar19 = state;
      }
      else {
        *pbVar5 = bVar3;
        pbVar5 = pbVar12;
        iVar19 = state;
      }
      break;
    }
    saved_input = (char *)0x0;
    sVar10 = (*get)(input_buffer,0x8000);
    if (sVar10 != 0) {
      pcVar13 = input_buffer + sVar10;
      pcVar18 = input_buffer;
      bVar3 = input_buffer[0];
      goto joined_r0x00016a19;
    }
    iVar19 = (int)do_scrub_chars::quotechar;
    pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);
    as_warn(pcVar18,iVar19);
    *pbVar5 = do_scrub_chars::quotechar;
    pbVar5 = pbVar12;
    iVar19 = state;
joined_r0x00016c7b:
    pcVar13 = input_buffer;
    pcVar18 = pcVar13;
    state = iVar19;
    if (pbVar4 <= pbVar5) {
LAB_000169c8:
      saved_input = (char *)0x0;
LAB_00016538:
      return (int)pbVar5 - (int)tostart;
    }
    goto LAB_0001649b;
  case -2:
_L53:
    pbVar5 = pbVar12;
LAB_00016570:
    if (pcVar13 <= pcVar18) goto LAB_000165c0;
    do {
      pbVar12 = pbVar5;
      bVar3 = *pcVar18;
      while( true ) {
        pcVar14 = (char *)((byte *)pcVar18 + 1);
        pcVar18 = pcVar14;
        if (bVar3 == 10) {
          pbVar5 = pbVar12 + 1;
          *pbVar12 = 10;
          if (pbVar5 < pbVar4) goto LAB_00016570;
          goto LAB_00016520;
        }
        pbVar5 = pbVar12;
        if (bVar3 != 0x2a) goto LAB_00016570;
        do {
          if (pcVar14 < pcVar13) {
            bVar3 = *pcVar14;
          }
          else {
            saved_input = (char *)0x0;
            sVar10 = (*get)(input_buffer,0x8000);
            if (sVar10 == 0) goto LAB_00016974;
            pcVar13 = input_buffer + sVar10;
            pcVar14 = input_buffer;
            bVar3 = input_buffer[0];
          }
          iVar19 = old_state;
          pcVar14 = (char *)((byte *)pcVar14 + 1);
        } while (bVar3 == 0x2a);
        pcVar18 = (char *)((byte *)pcVar14 + -1);
        if (bVar3 == 0x2f) {
          state = old_state;
          ((byte *)pcVar14)[-1] = 0x20;
          goto LAB_0001649b;
        }
        ((byte *)pcVar14)[-1] = bVar3;
        if (pcVar18 < pcVar13) break;
LAB_000165c0:
        saved_input = (char *)0x0;
        sVar10 = (*get)(input_buffer,0x8000);
        if (sVar10 == 0) {
LAB_00016974:
          pcVar18 = (char *)dcgettext(0,"end of file in comment",5);
          as_warn(pcVar18);
          goto LAB_00016992;
        }
        pcVar13 = input_buffer + sVar10;
        pcVar18 = input_buffer;
        pbVar12 = pbVar5;
        bVar3 = input_buffer[0];
      }
    } while( true );
  case -1:
_L52:
    iVar19 = old_state;
    pcVar14 = out_string + 1;
    pcVar15 = out_string + 1;
    bVar3 = *out_string;
    out_string = pcVar14;
    if (*pcVar15 == '\0') {
      old_state = 3;
      state = iVar19;
    }
LAB_0001677e:
    *pbVar5 = bVar3;
    pbVar5 = pbVar5 + 1;
    iVar19 = state;
  }
joined_r0x00016e98:
  pcVar14 = pcVar18;
  if (pbVar5 < pbVar4) goto LAB_0001649b;
LAB_00016520:
  if (pcVar14 < pcVar13) {
    saved_input_len = (int)pcVar13 - (int)pcVar14;
    saved_input = pcVar14;
    goto LAB_00016538;
  }
  goto LAB_000169c8;
LAB_00017025:
  if (pbVar5 < pcVar13) {
    uVar9 = (uint)*pbVar5;
    cVar2 = lex[uVar9];
    pbVar5 = pbVar5 + 1;
  }
  else {
    saved_input = (char *)0x0;
    sVar10 = (*get)(input_buffer,0x8000);
    pcVar13 = input_buffer + sVar10;
    if (sVar10 == 0) {
LAB_0001704e:
      pcVar18 = (char *)dcgettext(0,"end of file in multiline comment",5);
      as_warn(pcVar18);
      pcVar18 = pcVar15;
LAB_0001706e:
      uVar9 = (uint)(byte)lex[0x20];
      local_2c = 0x20;
      pbVar5 = pbVar12;
      goto _L101;
    }
    uVar9 = (uint)(byte)input_buffer[0];
    cVar2 = lex[uVar9];
    pbVar5 = pbVar7;
  }
  if (cVar2 == '\n') {
    add_newlines = add_newlines + 1;
  }
  if (uVar9 == 0x2a) {
    do {
      if (pbVar5 < pcVar13) {
        pcVar18 = (char *)(pbVar5 + 1);
        bVar3 = *pbVar5;
      }
      else {
        saved_input = (char *)0x0;
        sVar10 = (*get)(input_buffer,0x8000);
        pcVar13 = input_buffer + sVar10;
        pcVar18 = (char *)pbVar7;
        bVar3 = input_buffer[0];
        if (sVar10 == 0) goto LAB_0001704e;
      }
      pbVar5 = (byte *)pcVar18;
    } while (bVar3 == 0x2a);
    if (bVar3 == 0x2f) goto LAB_0001706e;
    pbVar5 = (byte *)pcVar18 + -1;
    ((byte *)pcVar18)[-1] = bVar3;
  }
  goto LAB_00017025;
LAB_0001751e:
  do {
    if (pcVar18 < pcVar13) {
      bVar3 = *pcVar18;
    }
    else {
      saved_input = (char *)0x0;
      sVar10 = (*get)(input_buffer,0x8000);
      if (sVar10 == 0) {
        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);
        as_warn(pcVar18);
        pbVar5 = local_30 + 1;
        *local_30 = 10;
        iVar19 = state;
        goto joined_r0x00016c7b;
      }
      pcVar13 = input_buffer + sVar10;
      bVar3 = input_buffer[0];
      pcVar18 = input_buffer;
    }
    pcVar18 = (char *)((byte *)pcVar18 + 1);
    cVar2 = lex[bVar3];
  } while (cVar2 == '\x02');
  if (((bVar3 - 0x30 < 10) && (state == 0)) && (local_2c == 0x23)) {
    ((byte *)pcVar18)[-1] = bVar3;
    pcVar18 = (char *)((byte *)pcVar18 + -1);
    old_state = 4;
    state = -1;
    pbVar5 = local_30 + 1;
    out_string = ".linefile ";
    *local_30 = 9;
    pcVar14 = pcVar18;
    if (pbVar4 <= pbVar5) goto LAB_00016520;
    out_string = "linefile ";
    bVar3 = s__linefile_0005b02f[1];
    goto LAB_0001677e;
  }
  while (cVar2 != '\n') {
    if (pcVar18 < pcVar13) {
      bVar3 = *pcVar18;
    }
    else {
      saved_input = (char *)0x0;
      sVar10 = (*get)(input_buffer,0x8000);
      if (sVar10 == 0) {
        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);
        as_warn(pcVar18);
        pbVar5 = local_30 + 1;
        *local_30 = 10;
        pcVar14 = pcVar15;
        pcVar13 = pcVar15;
        local_30 = pbVar5;
        if (pbVar5 < pbVar4) goto LAB_00017782;
        goto LAB_000169c8;
      }
      pcVar13 = input_buffer + sVar10;
      bVar3 = input_buffer[0];
      pcVar18 = input_buffer;
    }
    pcVar18 = (char *)((byte *)pcVar18 + 1);
    cVar2 = lex[bVar3];
  }
  ((byte *)pcVar18)[-1] = bVar3;
  pcVar14 = (char *)((byte *)pcVar18 + -1);
LAB_00017782:
  state = 0;
  goto LAB_00016b4e;
LAB_00016d70:
  do {
    if (pcVar18 < pcVar13) {
      bVar3 = *pcVar18;
    }
    else {
      saved_input = (char *)0x0;
      sVar10 = (*get)(input_buffer,0x8000);
      if (sVar10 == 0) {
        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);
        as_warn(pcVar18);
        pcVar18 = pcVar15;
        pcVar13 = pcVar15;
        break;
      }
      pcVar13 = input_buffer + sVar10;
      pcVar18 = input_buffer;
      bVar3 = input_buffer[0];
    }
    pcVar18 = (char *)((byte *)pcVar18 + 1);
  } while (lex[bVar3] != '\n');
  state = 0;
  *pbVar5 = 10;
  pbVar5 = local_30;
  pcVar14 = pcVar18;
joined_r0x000172dc:
  local_30 = pbVar5;
  if (pbVar4 <= pbVar5) goto LAB_00016520;
  goto LAB_00016b4e;
code_r0x000171ad:
  if (bVar1 != 4) goto code_r0x000171b5;
  goto LAB_00016b84;
code_r0x000171b5:
  if (local_2c == 0x2f) {
    uVar9 = (uint)(byte)lex[0x2f];
    goto _L101;
  }
  if ((bVar1 == 0xe) || (bVar1 == 3)) goto _L101;
  if ((state == 2 || state == 0xb) && (bVar1 == 9)) {
    state = 1;
    *pbVar12 = bVar3;
joined_r0x00016e2c:
    pbVar5 = pbVar12 + 1;
    pcVar14 = pcVar18;
    goto joined_r0x000172dc;
  }
  switch(state) {
  default:
    iVar19 = state;
    pcVar18 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9,
                                state);
                    /* WARNING: Subroutine does not return */
    as_fatal(pcVar18,iVar19,0x3cd,"../../gas/app.c");
  case 1:
  case 3:
    goto _L101;
  case 2:
    state = 3;
    pbVar5 = pbVar12 + 1;
    if (pbVar4 <= pbVar5) {
      pcVar14 = (char *)((byte *)pcVar18 + -1);
      ((byte *)pcVar18)[-1] = bVar3;
      *pbVar12 = 0x20;
      goto LAB_00016520;
    }
    *pbVar12 = 0x20;
    uVar9 = (uint)(byte)lex[local_2c];
    goto _L101;
  case 9:
  case 10:
    state = 10;
    goto _L101;
  case 0xb:
    break;
  }
  state = 3;
LAB_00017227:
  ((byte *)pcVar18)[-1] = bVar3;
  *pbVar12 = 0x20;
  pbVar5 = pbVar12 + 1;
  pcVar14 = (char *)((byte *)pcVar18 + -1);
  goto joined_r0x000172dc;
  while ((byte)lex[pbVar8[1]] < 2) {
LAB_0001787c:
    pbVar8 = pbVar7;
    pbVar7 = pbVar8 + 1;
    if ((byte *)pcVar13 == pbVar7) break;
  }
  if (pbVar7 <= pcVar18) {
    pbVar8 = pbVar7;
  }
  iVar19 = (int)pbVar4 - (int)pbVar12;
  sVar16 = (int)pbVar8 - (int)pcVar18;
  if (iVar19 <= (int)sVar16) {
LAB_000178a1:
    sVar16 = iVar19 - 1;
  }
  if (0 < (int)sVar16) {
    *pbVar12 = bVar3;
    memcpy(pbVar5,pcVar18,sVar16);
    pbVar5 = pbVar5 + sVar16;
    pcVar14 = (char *)((byte *)pcVar18 + sVar16);
    if (pbVar4 <= pbVar5) goto LAB_00016520;
    local_30 = pbVar5 + 1;
    if (pcVar14 < pcVar13) {
      local_2c = (uint)(byte)*pcVar14;
      pcVar18 = (char *)((byte *)pcVar14 + 1);
      pbVar12 = pbVar5;
    }
    else {
      pcVar18 = input_buffer;
      saved_input = (char *)0x0;
      sVar10 = (*get)(input_buffer,0x8000);
      pcVar13 = input_buffer + sVar10;
      pbVar12 = pbVar5;
      if (sVar10 == 0) {
        local_2c = 0xffffffff;
        pcVar13 = pcVar18;
      }
      else {
        local_2c = (uint)(byte)input_buffer[0];
        pcVar18 = input_buffer + 1;
      }
    }
  }
LAB_00016fab:
  pbVar5 = pbVar12;
  if (state == 0) {
    state = 0xb;
  }
  else {
    iVar19 = state;
    if (state == 1) {
      state = 2;
    }
    else {
LAB_0001741d:
      if (iVar19 == 9) {
        if (lex[local_2c] != '\x01') goto LAB_0001743a;
      }
      else if (iVar19 == 10) {
        if (local_2c == 0x5c) {
          if (pbVar4 <= local_30) {
            ((byte *)pcVar18)[-1] = 0x5c;
            pcVar14 = (char *)((byte *)pcVar18 + -1);
            goto LAB_00016520;
          }
          *pbVar5 = 0x20;
          pbVar5 = local_30;
          local_30 = local_30 + 1;
        }
LAB_0001743a:
        state = 3;
      }
    }
  }
  *pbVar5 = (byte)local_2c;
  pbVar5 = local_30;
  iVar19 = state;
  goto joined_r0x00016e98;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

int FUN_00016450(code *param_1,byte *param_2,int param_3)

{
  byte bVar1;
  char cVar2;
  byte bVar3;
  byte *pbVar4;
  byte *pbVar5;
  uint uVar6;
  uint uVar7;
  byte *pbVar8;
  byte *pbVar9;
  uint uVar10;
  int iVar11;
  undefined4 uVar12;
  char *pcVar13;
  undefined4 uVar14;
  uint *puVar15;
  byte *pbVar16;
  byte *pbVar17;
  byte *pbVar18;
  byte *pbVar19;
  size_t sVar20;
  uint *puVar21;
  bool bVar22;
  uint *local_38;
  byte *local_30;
  uint local_2c;
  
  pbVar4 = param_2 + param_3;
  pbVar5 = param_2;
  if (DAT_00088784 == (byte *)0x0) {
    iVar11 = (*param_1)(&DAT_00080780,0x8000);
    if (iVar11 == 0) {
      return 0;
    }
    pbVar17 = &DAT_00080780 + iVar11;
    uVar10 = DAT_000887a8;
    pbVar18 = &DAT_00080780;
  }
  else {
    pbVar17 = DAT_00088784 + DAT_00088780;
    uVar10 = DAT_000887a8;
    pbVar18 = DAT_00088784;
  }
LAB_0001649b:
  pbVar19 = pbVar18;
  pbVar16 = pbVar5;
  switch(uVar10) {
  default:
LAB_00016b40:
    pbVar8 = &DAT_00080780;
    local_30 = pbVar5;
code_r0x00016b4e:
    if (pbVar19 < pbVar17) {
      pbVar18 = pbVar19 + 1;
      bVar3 = *pbVar19;
    }
    else {
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000);
      pbVar17 = &DAT_00080780 + iVar11;
      if (iVar11 == 0) {
        pbVar5 = local_30;
        if (DAT_000887a8 == 0) goto LAB_00016992;
        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);
        FUN_0002bc80(uVar12);
        DAT_000887a8 = 0;
        pbVar5 = local_30 + 1;
        *local_30 = 10;
        if (pbVar5 < pbVar4) goto LAB_00016992;
        goto LAB_000169c8;
      }
      pbVar18 = &DAT_00080781;
      bVar3 = DAT_00080780;
    }
    local_2c = (uint)bVar3;
    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];
    pbVar5 = local_30;
code_r0x00016b78:
    pbVar16 = pbVar5;
    if ((byte)uVar10 < 0xf) {
code_r0x00016b84:
      bVar3 = (byte)local_2c;
      pbVar5 = pbVar16;
      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {
      case 0x16612:
        pbVar5 = pbVar16 + 1;
        if (DAT_000887a8 != 10) {
          if (pbVar18 < pbVar17) {
            pbVar19 = pbVar18 + 1;
            bVar3 = *pbVar18;
code_r0x0001663b:
            uVar10 = (uint)bVar3;
            if (uVar10 == 0x5c) {
              if (pbVar19 < pbVar17) {
                bVar3 = *pbVar19;
                pbVar19 = pbVar19 + 1;
              }
              else {
                DAT_00088784 = (byte *)0x0;
                iVar11 = (*param_1)(&DAT_00080780,0x8000);
                if (iVar11 == 0) {
                  uVar12 = dcgettext(0,"end of file in escape character",5);
                  FUN_0002bc80(uVar12);
                  uVar12 = 0x5c;
                  goto code_r0x000173ae;
                }
                pbVar17 = &DAT_00080780 + iVar11;
                pbVar19 = &DAT_00080781;
                bVar3 = DAT_00080780;
              }
              uVar10 = (uint)bVar3;
              if (uVar10 == 0x66) {
                uVar10 = 0xc;
              }
              else if (uVar10 < 0x67) {
                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {
                  uVar10 = 8;
                }
              }
              else if (uVar10 == 0x72) {
                uVar10 = 0xd;
              }
              else if (uVar10 == 0x74) {
                uVar10 = 9;
              }
              else if (uVar10 == 0x6e) {
                uVar10 = 10;
              }
            }
            sprintf((char *)&DAT_0008878c,"%d",uVar10);
            if (pbVar17 <= pbVar19) goto code_r0x000173d4;
            pbVar18 = pbVar19 + 1;
            bVar3 = *pbVar19;
code_r0x000166af:
            if (bVar3 != 0x27) {
              pbVar18[-1] = bVar3;
              pbVar18 = pbVar18 + -1;
            }
          }
          else {
            DAT_00088784 = (byte *)0x0;
            iVar11 = (*param_1)(&DAT_00080780,0x8000);
            if (iVar11 != 0) {
              pbVar17 = &DAT_00080780 + iVar11;
              pbVar19 = &DAT_00080781;
              bVar3 = DAT_00080780;
              goto code_r0x0001663b;
            }
            uVar12 = 0;
            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);
            FUN_0002bc80(uVar14);
code_r0x000173ae:
            sprintf((char *)&DAT_0008878c,"%d",uVar12);
code_r0x000173d4:
            pbVar18 = &DAT_00080780;
            DAT_00088784 = (byte *)0x0;
            iVar11 = (*param_1)(&DAT_00080780,0x8000);
            pbVar17 = &DAT_00080780 + iVar11;
            if (iVar11 != 0) {
              pbVar18 = &DAT_00080781;
              bVar3 = DAT_00080780;
              goto code_r0x000166af;
            }
          }
          uVar10 = DAT_000887a8;
          local_38 = &DAT_0008878c;
          do {
            puVar15 = local_38;
            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;
            uVar7 = uVar6 & 0x80808080;
            local_38 = puVar15 + 1;
          } while (uVar7 == 0);
          bVar22 = (uVar6 & 0x8080) == 0;
          if (bVar22) {
            uVar7 = uVar7 >> 0x10;
          }
          puVar21 = (uint *)((int)puVar15 + 6);
          if (!bVar22) {
            puVar21 = puVar15 + 1;
          }
          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {
            *pbVar16 = (byte)DAT_0008878c;
            uVar10 = DAT_000887a8;
            goto joined_r0x00016e98;
          }
          DAT_000887a8 = 0xffffffff;
          if (uVar10 == 9) {
            uVar10 = 3;
          }
          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);
          DAT_000887a4 = uVar10;
          *pbVar16 = (byte)DAT_0008878c;
          pbVar19 = pbVar18;
          if (pbVar5 < pbVar4) goto code_r0x00016750;
          goto LAB_00016520;
        }
        pbVar18[-1] = bVar3;
        DAT_000887a8 = 3;
        *pbVar16 = 0x20;
        pbVar19 = pbVar18 + -1;
        goto joined_r0x000172dc;
      case 0x16d47:
        local_30 = pbVar16 + 1;
        goto code_r0x00016d70;
      case 0x16dd8:
        break;
      case 0x16e10:
        DAT_000887a8 = 1;
        *pbVar16 = bVar3;
        goto joined_r0x00016e2c;
      case 0x16e3c:
        if (DAT_00088788 != 0) {
          DAT_00088788 = DAT_00088788 + -1;
          pbVar18[-1] = bVar3;
          pbVar18 = pbVar18 + -1;
        }
        break;
      case 0x16e62:
        if (DAT_000887a8 - 9 < 2) {
          DAT_000887a8 = 3;
        }
        else if (DAT_000887a8 != 3) {
          DAT_000887a8 = 1;
        }
        *pbVar16 = bVar3;
        pbVar5 = pbVar16 + 1;
        uVar10 = DAT_000887a8;
        goto joined_r0x00016e98;
      case 0x16eae:
        pbVar5 = pbVar16 + 1;
        bRam00080761 = bVar3;
        if (DAT_000887a8 == 10) {
          DAT_000887a8 = 3;
          pbVar18[-1] = bVar3;
          *pbVar16 = 0x20;
          pbVar19 = pbVar18 + -1;
          if (pbVar4 <= pbVar5) goto LAB_00016520;
          if (pbVar18 + -1 < pbVar17) {
            local_2c = (uint)pbVar18[-1];
          }
          else {
            pbVar18 = &DAT_00080780;
            DAT_00088784 = (byte *)0x0;
            iVar11 = (*param_1)(&DAT_00080780,0x8000);
            local_2c = 0xffffffff;
            pbVar17 = &DAT_00080780 + iVar11;
            if (iVar11 != 0) {
              local_2c = (uint)DAT_00080780;
              pbVar18 = &DAT_00080781;
            }
          }
          DAT_000887a4 = 3;
          pbVar19 = pbVar16 + 2;
          pbVar16 = pbVar5;
        }
        else {
          pbVar19 = pbVar5;
          if (DAT_000887a8 == 9) {
            DAT_000887a4 = 3;
          }
          else {
            DAT_000887a4 = DAT_000887a8;
          }
        }
        DAT_000887a8 = 5;
        *pbVar16 = (byte)local_2c;
        pbVar5 = pbVar19;
        goto joined_r0x0001680c;
      case 0x16f07:
        do {
          if (pbVar18 < pbVar17) {
            bVar3 = *pbVar18;
            pbVar18 = pbVar18 + 1;
            pbVar16 = pbVar5;
          }
          else {
            DAT_00088784 = (byte *)0x0;
            iVar11 = (*param_1)(&DAT_00080780,0x8000);
            if (iVar11 == 0) goto LAB_00016992;
            pbVar17 = &DAT_00080780 + iVar11;
            pbVar18 = &DAT_00080781;
            bVar3 = DAT_00080780;
            pbVar16 = pbVar5;
          }
          local_2c = (uint)bVar3;
          bVar1 = (&DAT_000887c0)[local_2c];
          uVar10 = (uint)bVar1;
          pbVar5 = pbVar16;
        } while (bVar1 == 2);
        if (DAT_000887a8 != 0) goto code_r0x000171ad;
        DAT_000887a8 = 1;
        goto code_r0x00017227;
      case 0x16f61:
        pbVar5 = pbVar16 + 1;
        if (DAT_000887a8 == 10) {
          pbVar18[-1] = bVar3;
          pbVar19 = pbVar18 + -1;
          DAT_000887a8 = 3;
          *pbVar16 = 0x20;
          goto joined_r0x000172dc;
        }
        local_30 = pbVar5;
        if (DAT_000887a8 == 3) {
          DAT_000887a8 = 9;
          if (pbVar4 <= pbVar5) {
            *pbVar16 = bVar3;
            pbVar19 = pbVar18;
            goto LAB_00016520;
          }
        }
        else if (pbVar4 <= pbVar5) goto LAB_00016fab;
        if (DAT_00080764 != 0) goto LAB_00016fab;
        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))
        goto code_r0x0001787c;
        iVar11 = (int)pbVar4 - (int)pbVar16;
        if (iVar11 < 1) goto code_r0x000178a1;
        goto LAB_00016fab;
      case 0x16fe6:
        if (pbVar18 < pbVar17) {
          pbVar5 = pbVar18 + 1;
          bVar1 = *pbVar18;
code_r0x00016ff8:
          if (bVar1 == 0x2a) goto code_r0x00017025;
          pbVar8 = pbVar5 + -1;
          pbVar5[-1] = bVar1;
        }
        else {
          DAT_00088784 = (byte *)0x0;
          iVar11 = (*param_1)(&DAT_00080780,0x8000);
          pbVar17 = &DAT_00080780 + iVar11;
          pbVar5 = &DAT_00080781;
          bVar1 = DAT_00080780;
          if (iVar11 != 0) goto code_r0x00016ff8;
        }
        if (DAT_000887a8 - 9 < 2) {
          DAT_000887a8 = 3;
        }
        *pbVar16 = bVar3;
        pbVar5 = pbVar16 + 1;
        pbVar18 = pbVar8;
        uVar10 = DAT_000887a8;
        goto joined_r0x00016e98;
      case 0x17082:
        if (local_2c == 0x2f) {
          if (pbVar18 < pbVar17) {
            bVar3 = *pbVar18;
            pbVar18 = pbVar18 + 1;
          }
          else {
            DAT_00088784 = (byte *)0x0;
            iVar11 = (*param_1)(&DAT_00080780,0x8000);
            pbVar17 = &DAT_00080780 + iVar11;
            pbVar18 = pbVar8;
            pbVar5 = pbVar16;
            if (iVar11 == 0) goto code_r0x0001708b;
            pbVar18 = &DAT_00080781;
            bVar3 = DAT_00080780;
          }
          if (bVar3 == 0x2a) {
            DAT_000887a4 = 3;
            DAT_000887a8 = 0xfffffffe;
            goto code_r0x00016560;
          }
          pbVar18[-1] = bVar3;
          pbVar18 = pbVar18 + -1;
          pbVar5 = pbVar16;
        }
code_r0x0001708b:
        uVar10 = DAT_000887a8;
        if (1 < DAT_000887a8) {
          pcVar13 = strchr(PTR_DAT_00080718,local_2c);
          local_30 = pbVar5 + 1;
          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;
          goto code_r0x0001741d;
        }
        local_30 = pbVar5;
        goto code_r0x0001751e;
      case 0x170df:
        goto LAB_000170e3;
      }
      DAT_000887a8 = 0;
      pbVar5 = pbVar16 + 1;
      *pbVar16 = bVar3;
      pbVar19 = pbVar18;
      goto joined_r0x000172dc;
    }
LAB_000170e3:
    local_30 = pbVar16 + 1;
    goto LAB_00016fab;
  case 4:
    if (pbVar18 < pbVar17) {
      bVar3 = *pbVar18;
      pbVar18 = pbVar18 + 1;
    }
    else {
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000);
      if (iVar11 == 0) {
LAB_00016992:
        return (int)pbVar5 - (int)param_2;
      }
      pbVar17 = &DAT_00080780 + iVar11;
      pbVar18 = &DAT_00080781;
      bVar3 = DAT_00080780;
      pbVar16 = pbVar5;
    }
    uVar10 = (uint)bVar3;
    pbVar5 = pbVar16 + 1;
    if (uVar10 - 0x30 < 10) {
      *pbVar16 = bVar3;
      uVar10 = DAT_000887a8;
      break;
    }
    pbVar19 = &DAT_00080780;
    while ((&DAT_000887c0)[uVar10] == '\x02') {
      while (pbVar18 < pbVar17) {
        uVar10 = (uint)*pbVar18;
        pbVar18 = pbVar18 + 1;
        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;
      }
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000);
      pbVar17 = &DAT_00080780 + iVar11;
      if (iVar11 == 0) {
        uVar10 = 0xffffffff;
        goto code_r0x00016b1d;
      }
      pbVar18 = &DAT_00080781;
      uVar10 = (uint)DAT_00080780;
    }
code_r0x000167d8:
    if (uVar10 == 0x22) {
      bRam00080761 = 0x22;
      DAT_000887a8 = 5;
      DAT_000887a4 = 3;
      *pbVar16 = 0x22;
joined_r0x0001680c:
      pbVar19 = pbVar18;
      if (pbVar5 < pbVar4) goto code_r0x00016818;
    }
    else {
      pbVar19 = pbVar18;
      while (uVar10 != 0xffffffff) {
        while( true ) {
          if (uVar10 == 10) goto code_r0x00016b1d;
          if (pbVar17 <= pbVar19) break;
          uVar10 = (uint)*pbVar19;
          pbVar19 = pbVar19 + 1;
          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;
        }
        DAT_00088784 = (byte *)0x0;
        iVar11 = (*param_1)(&DAT_00080780,0x8000);
        pbVar17 = &DAT_00080780 + iVar11;
        if (iVar11 == 0) {
          uVar10 = 0xffffffff;
          pbVar19 = &DAT_00080780;
        }
        else {
          uVar10 = (uint)DAT_00080780;
          pbVar19 = &DAT_00080781;
        }
      }
code_r0x00016b1d:
      DAT_000887a8 = 0;
      *pbVar16 = (byte)uVar10;
      if (pbVar5 < pbVar4) goto LAB_00016b40;
    }
    goto LAB_00016520;
  case 5:
code_r0x00016818:
    pbVar16 = pbVar5;
    if (pbVar18 < pbVar17) {
      bVar3 = *pbVar18;
      pbVar19 = pbVar18;
      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {
        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&
               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {
          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;
        }
        sVar20 = (int)pbVar4 - (int)pbVar5;
        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {
          sVar20 = (int)pbVar9 - (int)pbVar18;
        }
        if (0 < (int)sVar20) {
          pbVar19 = pbVar18 + sVar20;
          memcpy(pbVar5,pbVar18,sVar20);
          pbVar5 = pbVar5 + sVar20;
          if (pbVar4 <= pbVar5) goto LAB_00016520;
          pbVar16 = pbVar5;
          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;
        }
      }
      pbVar18 = pbVar19 + 1;
      pbVar5 = pbVar16 + 1;
      bVar3 = *pbVar19;
    }
    else {
code_r0x00016a7d:
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000);
      pbVar5 = pbVar16 + 1;
      if (iVar11 == 0) {
        iVar11 = (int)(char)bRam00080761;
        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);
        FUN_0002bc80(uVar12,iVar11);
        uVar10 = DAT_000887a4;
        uRam00080760 = 10;
        DAT_000887a8 = DAT_000887a4;
        *pbVar16 = bRam00080761;
        if (pbVar4 <= pbVar5) {
          DAT_00088780 = 1;
          DAT_00088784 = (byte *)0x80760;
          goto LAB_00016538;
        }
        pbVar17 = (byte *)0x80761;
        pbVar18 = (byte *)0x80760;
        goto LAB_0001649b;
      }
      pbVar17 = &DAT_00080780 + iVar11;
      pbVar18 = &DAT_00080781;
      bVar3 = DAT_00080780;
    }
    uVar10 = DAT_000887a4;
    if ((int)(char)bRam00080761 == (uint)bVar3) {
      DAT_000887a8 = DAT_000887a4;
      *pbVar16 = bVar3;
    }
    else {
      if (bVar3 == 0x5c) {
        DAT_000887a8 = 6;
        *pbVar16 = 0x5c;
        pbVar19 = pbVar18;
        if (pbVar4 <= pbVar5) goto LAB_00016520;
        goto code_r0x000168d0;
      }
      *pbVar16 = bVar3;
      uVar10 = DAT_000887a8;
    }
    break;
  case 6:
code_r0x000168d0:
    DAT_000887a8 = 5;
    pbVar19 = pbVar5 + 1;
    if (pbVar18 < pbVar17) {
      bVar3 = *pbVar18;
      pbVar18 = pbVar18 + 1;
joined_r0x00016a19:
      if (bVar3 == 10) {
        pbVar18[-1] = 0x6e;
        pbVar18 = pbVar18 + -1;
        DAT_00088788 = DAT_00088788 + 1;
        *pbVar5 = 0x5c;
        pbVar5 = pbVar19;
        uVar10 = DAT_000887a8;
      }
      else {
        *pbVar5 = bVar3;
        pbVar5 = pbVar19;
        uVar10 = DAT_000887a8;
      }
      break;
    }
    DAT_00088784 = (byte *)0x0;
    iVar11 = (*param_1)(&DAT_00080780,0x8000);
    if (iVar11 != 0) {
      pbVar17 = &DAT_00080780 + iVar11;
      pbVar18 = &DAT_00080781;
      bVar3 = DAT_00080780;
      goto joined_r0x00016a19;
    }
    iVar11 = (int)(char)bRam00080761;
    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);
    FUN_0002bc80(uVar12,iVar11);
    *pbVar5 = bRam00080761;
    pbVar5 = pbVar19;
    uVar10 = DAT_000887a8;
joined_r0x00016c7b:
    pbVar17 = &DAT_00080780;
    pbVar18 = pbVar17;
    DAT_000887a8 = uVar10;
    if (pbVar4 <= pbVar5) {
LAB_000169c8:
      DAT_00088784 = (byte *)0x0;
LAB_00016538:
      return (int)pbVar5 - (int)param_2;
    }
    goto LAB_0001649b;
  case 0xfffffffe:
code_r0x00016560:
    pbVar5 = pbVar16;
code_r0x00016570:
    if (pbVar17 <= pbVar18) goto code_r0x000165c0;
    do {
      pbVar19 = pbVar18 + 1;
      pbVar16 = pbVar5;
      bVar3 = *pbVar18;
      while( true ) {
        pbVar18 = pbVar19;
        if (bVar3 == 10) {
          pbVar5 = pbVar16 + 1;
          *pbVar16 = 10;
          if (pbVar5 < pbVar4) goto code_r0x00016570;
          goto LAB_00016520;
        }
        pbVar5 = pbVar16;
        if (bVar3 != 0x2a) goto code_r0x00016570;
        do {
          if (pbVar19 < pbVar17) {
            bVar3 = *pbVar19;
            pbVar19 = pbVar19 + 1;
          }
          else {
            DAT_00088784 = (byte *)0x0;
            iVar11 = (*param_1)(&DAT_00080780,0x8000);
            if (iVar11 == 0) goto code_r0x00016974;
            pbVar17 = &DAT_00080780 + iVar11;
            pbVar19 = &DAT_00080781;
            bVar3 = DAT_00080780;
          }
          uVar10 = DAT_000887a4;
        } while (bVar3 == 0x2a);
        pbVar18 = pbVar19 + -1;
        if (bVar3 == 0x2f) {
          DAT_000887a8 = DAT_000887a4;
          pbVar19[-1] = 0x20;
          goto LAB_0001649b;
        }
        pbVar19[-1] = bVar3;
        if (pbVar18 < pbVar17) break;
code_r0x000165c0:
        DAT_00088784 = (byte *)0x0;
        iVar11 = (*param_1)(&DAT_00080780,0x8000);
        if (iVar11 == 0) {
code_r0x00016974:
          uVar12 = dcgettext(0,"end of file in comment",5);
          FUN_0002bc80(uVar12);
          goto LAB_00016992;
        }
        pbVar17 = &DAT_00080780 + iVar11;
        pbVar19 = &DAT_00080781;
        pbVar16 = pbVar5;
        bVar3 = DAT_00080780;
      }
    } while( true );
  case 0xffffffff:
code_r0x00016750:
    uVar10 = DAT_000887a4;
    pbVar19 = DAT_000887a0 + 1;
    pbVar16 = DAT_000887a0 + 1;
    bVar3 = *DAT_000887a0;
    DAT_000887a0 = pbVar19;
    if (*pbVar16 == 0) {
      DAT_000887a4 = 3;
      DAT_000887a8 = uVar10;
    }
code_r0x0001677e:
    *pbVar5 = bVar3;
    pbVar5 = pbVar5 + 1;
    uVar10 = DAT_000887a8;
  }
joined_r0x00016e98:
  pbVar19 = pbVar18;
  if (pbVar5 < pbVar4) goto LAB_0001649b;
LAB_00016520:
  if (pbVar19 < pbVar17) {
    DAT_00088780 = (int)pbVar17 - (int)pbVar19;
    DAT_00088784 = pbVar19;
    goto LAB_00016538;
  }
  goto LAB_000169c8;
code_r0x00017025:
  if (pbVar5 < pbVar17) {
    uVar10 = (uint)*pbVar5;
    cVar2 = (&DAT_000887c0)[uVar10];
    pbVar5 = pbVar5 + 1;
  }
  else {
    DAT_00088784 = (byte *)0x0;
    iVar11 = (*param_1)(&DAT_00080780,0x8000);
    pbVar17 = &DAT_00080780 + iVar11;
    if (iVar11 == 0) {
code_r0x0001704e:
      uVar12 = dcgettext(0,"end of file in multiline comment",5);
      FUN_0002bc80(uVar12);
      pbVar18 = pbVar8;
code_r0x0001706e:
      uVar10 = (uint)DAT_000887e0;
      local_2c = 0x20;
      pbVar5 = pbVar16;
      goto code_r0x00016b78;
    }
    uVar10 = (uint)DAT_00080780;
    cVar2 = (&DAT_000887c0)[uVar10];
    pbVar5 = &DAT_00080781;
  }
  if (cVar2 == '\n') {
    DAT_00088788 = DAT_00088788 + 1;
  }
  if (uVar10 == 0x2a) {
    do {
      if (pbVar5 < pbVar17) {
        pbVar18 = pbVar5 + 1;
        bVar3 = *pbVar5;
      }
      else {
        DAT_00088784 = (byte *)0x0;
        iVar11 = (*param_1)(&DAT_00080780,0x8000);
        pbVar17 = &DAT_00080780 + iVar11;
        pbVar18 = &DAT_00080781;
        bVar3 = DAT_00080780;
        if (iVar11 == 0) goto code_r0x0001704e;
      }
      pbVar5 = pbVar18;
    } while (bVar3 == 0x2a);
    if (bVar3 == 0x2f) goto code_r0x0001706e;
    pbVar5 = pbVar18 + -1;
    pbVar18[-1] = bVar3;
  }
  goto code_r0x00017025;
code_r0x0001751e:
  do {
    if (pbVar18 < pbVar17) {
      bVar3 = *pbVar18;
      pbVar18 = pbVar18 + 1;
    }
    else {
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000);
      if (iVar11 == 0) {
        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);
        FUN_0002bc80(uVar12);
        pbVar5 = local_30 + 1;
        *local_30 = 10;
        uVar10 = DAT_000887a8;
        goto joined_r0x00016c7b;
      }
      pbVar17 = &DAT_00080780 + iVar11;
      pbVar18 = &DAT_00080781;
      bVar3 = DAT_00080780;
    }
    cVar2 = (&DAT_000887c0)[bVar3];
  } while (cVar2 == '\x02');
  if (((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)) {
    pbVar18[-1] = bVar3;
    pbVar18 = pbVar18 + -1;
    DAT_000887a4 = 4;
    DAT_000887a8 = 0xffffffff;
    pbVar5 = local_30 + 1;
    DAT_000887a0 = (byte *)0x5b030;
    *local_30 = 9;
    pbVar19 = pbVar18;
    if (pbVar4 <= pbVar5) goto LAB_00016520;
    DAT_000887a0 = (byte *)0x5b031;
    bVar3 = s__linefile_0005b02f[1];
    goto code_r0x0001677e;
  }
  while (cVar2 != '\n') {
    if (pbVar18 < pbVar17) {
      bVar3 = *pbVar18;
      pbVar18 = pbVar18 + 1;
    }
    else {
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000);
      if (iVar11 == 0) {
        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);
        FUN_0002bc80(uVar12);
        pbVar5 = local_30 + 1;
        *local_30 = 10;
        pbVar19 = pbVar8;
        pbVar17 = pbVar8;
        local_30 = pbVar5;
        if (pbVar5 < pbVar4) goto code_r0x00017782;
        goto LAB_000169c8;
      }
      pbVar17 = &DAT_00080780 + iVar11;
      pbVar18 = &DAT_00080781;
      bVar3 = DAT_00080780;
    }
    cVar2 = (&DAT_000887c0)[bVar3];
  }
  pbVar18[-1] = bVar3;
  pbVar19 = pbVar18 + -1;
code_r0x00017782:
  DAT_000887a8 = 0;
  goto code_r0x00016b4e;
code_r0x00016d70:
  do {
    if (pbVar18 < pbVar17) {
      bVar3 = *pbVar18;
      pbVar18 = pbVar18 + 1;
    }
    else {
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000);
      if (iVar11 == 0) {
        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);
        FUN_0002bc80(uVar12);
        pbVar18 = pbVar8;
        pbVar17 = pbVar8;
        break;
      }
      pbVar17 = &DAT_00080780 + iVar11;
      pbVar18 = &DAT_00080781;
      bVar3 = DAT_00080780;
    }
  } while ((&DAT_000887c0)[bVar3] != '\n');
  DAT_000887a8 = 0;
  *pbVar5 = 10;
  pbVar5 = local_30;
  pbVar19 = pbVar18;
joined_r0x000172dc:
  local_30 = pbVar5;
  if (pbVar4 <= pbVar5) goto LAB_00016520;
  goto code_r0x00016b4e;
code_r0x000171ad:
  if (bVar1 != 4) goto code_r0x000171b5;
  goto code_r0x00016b84;
code_r0x000171b5:
  if (local_2c == 0x2f) {
    uVar10 = (uint)DAT_000887ef;
    goto code_r0x00016b78;
  }
  if ((bVar1 == 0xe) || (bVar1 == 3)) goto code_r0x00016b78;
  if ((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)) {
    DAT_000887a8 = 1;
    *pbVar16 = bVar3;
joined_r0x00016e2c:
    pbVar5 = pbVar16 + 1;
    pbVar19 = pbVar18;
    goto joined_r0x000172dc;
  }
  switch(DAT_000887a8) {
  default:
    uVar7 = DAT_000887a8;
    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,
                       DAT_000887a8);
                    /* WARNING: Subroutine does not return */
    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");
  case 1:
  case 3:
    goto code_r0x00016b78;
  case 2:
    DAT_000887a8 = 3;
    pbVar5 = pbVar16 + 1;
    if (pbVar4 <= pbVar5) {
      pbVar19 = pbVar18 + -1;
      pbVar18[-1] = bVar3;
      *pbVar16 = 0x20;
      goto LAB_00016520;
    }
    *pbVar16 = 0x20;
    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];
    goto code_r0x00016b78;
  case 9:
  case 10:
    DAT_000887a8 = 10;
    goto code_r0x00016b78;
  case 0xb:
    break;
  }
  DAT_000887a8 = 3;
code_r0x00017227:
  pbVar18[-1] = bVar3;
  *pbVar16 = 0x20;
  pbVar5 = pbVar16 + 1;
  pbVar19 = pbVar18 + -1;
  goto joined_r0x000172dc;
  while ((byte)(&DAT_000887c0)[pbVar8[1]] < 2) {
code_r0x0001787c:
    pbVar8 = pbVar19;
    pbVar19 = pbVar8 + 1;
    if (pbVar17 == pbVar19) break;
  }
  if (pbVar19 <= pbVar18) {
    pbVar8 = pbVar19;
  }
  iVar11 = (int)pbVar4 - (int)pbVar16;
  sVar20 = (int)pbVar8 - (int)pbVar18;
  if (iVar11 <= (int)sVar20) {
code_r0x000178a1:
    sVar20 = iVar11 - 1;
  }
  if (0 < (int)sVar20) {
    *pbVar16 = bVar3;
    memcpy(pbVar5,pbVar18,sVar20);
    pbVar5 = pbVar5 + sVar20;
    pbVar19 = pbVar18 + sVar20;
    if (pbVar4 <= pbVar5) goto LAB_00016520;
    local_30 = pbVar5 + 1;
    if (pbVar19 < pbVar17) {
      local_2c = (uint)*pbVar19;
      pbVar18 = pbVar19 + 1;
      pbVar16 = pbVar5;
    }
    else {
      pbVar18 = &DAT_00080780;
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);
      pbVar17 = &DAT_00080780 + iVar11;
      pbVar16 = pbVar5;
      if (iVar11 == 0) {
        local_2c = 0xffffffff;
        pbVar17 = pbVar18;
      }
      else {
        local_2c = (uint)DAT_00080780;
        pbVar18 = &DAT_00080781;
      }
    }
  }
LAB_00016fab:
  pbVar5 = pbVar16;
  if (DAT_000887a8 == 0) {
    DAT_000887a8 = 0xb;
  }
  else {
    uVar10 = DAT_000887a8;
    if (DAT_000887a8 == 1) {
      DAT_000887a8 = 2;
    }
    else {
code_r0x0001741d:
      if (uVar10 == 9) {
        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;
      }
      else if (uVar10 == 10) {
        if (local_2c == 0x5c) {
          if (pbVar4 <= local_30) {
            pbVar18[-1] = 0x5c;
            pbVar19 = pbVar18 + -1;
            goto LAB_00016520;
          }
          *pbVar5 = 0x20;
          pbVar5 = local_30;
          local_30 = local_30 + 1;
        }
LAB_0001743a:
        DAT_000887a8 = 3;
      }
    }
  }
  *pbVar5 = (byte)local_2c;
  pbVar5 = local_30;
  uVar10 = DAT_000887a8;
  goto joined_r0x00016e98;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016000
ADD EBX,0x69ba7
SUB ESP,0x2c
MOV EAX,dword ptr [ESP + 0x44]
ADD EAX,dword ptr [ESP + 0x48]
MOV dword ptr [ESP + 0x8],EAX
MOV ESI,dword ptr [EBX + 0x8784]
TEST ESI,ESI
JZ 0x000169e0
MOV EBP,dword ptr [EBX + 0x8780]
ADD EBP,ESI
MOV ECX,dword ptr [ESP + 0x44]
MOV EAX,dword ptr [EBX + 0x87a8]
MOV dword ptr [ESP],ECX
LEA ECX,[EBX + 0x718]
MOV dword ptr [ESP + 0x14],ECX
ADD EAX,0x2
CMP EAX,0x8
JA 0x00016b40
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfffdb180]
ADD ECX,EBX
JMP ECX
CMP ESI,EBP
JNC 0x000169c8
MOV EAX,EBP
SUB EAX,ESI
MOV dword ptr [EBX + 0x8784],ESI
MOV dword ptr [EBX + 0x8780],EAX
MOV EAX,EDX
SUB EAX,dword ptr [ESP + 0x44]
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESP]
SUB EAX,dword ptr [ESP + 0x44]
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV dword ptr [EBX + 0x8784],0x0
JMP 0x00016538
SUB ESP,0x8
LEA ESI,[EBX + 0x780]
PUSH 0x8000
PUSH ESI
CALL dword ptr [ESP + 0x50]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001653e
LEA EBP,[ESI + EAX*0x1]
JMP 0x00016484
LEA ECX,[EBX + 0x780]
MOV EAX,ESI
MOV dword ptr [ESP + 0x18],ECX
MOV ESI,ECX
CMP EBP,EAX
JBE 0x00016b90
MOVZX ECX,byte ptr [EAX]
LEA EDI,[EAX + 0x1]
LEA EDX,[EBX + 0x781]
LEA EAX,[EBX + 0x87c0]
MOV dword ptr [ESP + 0x10],ECX
MOV dword ptr [ESP + 0xc],EDX
MOV dword ptr [ESP + 0x4],EAX
MOVZX EAX,byte ptr [EBX + ECX*0x1 + 0x87c0]
CMP AL,0xe
JA 0x000170e3
MOV ECX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [EBX + EAX*0x4 + 0xfffdb1a4]
ADD EDX,EBX
JMP EDX
MOV dword ptr [EBX + 0x8784],0x0
SUB ESP,0x8
PUSH 0x8000
PUSH ESI
CALL dword ptr [ESP + 0x50]
LEA EBP,[ESI + EAX*0x1]
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00016d00
MOV EAX,dword ptr [EBX + 0x87a8]
TEST EAX,EAX
JZ 0x00016992
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdb064]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EAX
CALL 0x0002bc80
MOV EAX,dword ptr [ESP + 0x10]
ADD ESP,0x10
MOV dword ptr [EBX + 0x87a8],0x0
LEA EDX,[EAX + 0x1]
MOV byte ptr [EAX],0xa
CMP dword ptr [ESP + 0x8],EDX
JBE 0x000169c8
MOV dword ptr [ESP],EDX
JMP 0x00016992
MOVZX ECX,byte ptr [EBX + 0x780]
LEA EDI,[EBX + 0x781]
JMP 0x00016b58
MOV EDX,dword ptr [ESP]
JMP 0x00016520
TEST ECX,ECX
JNZ 0x00017144
MOV dword ptr [EBX + 0x87a8],0xb
MOV EAX,EDX
MOV EDX,dword ptr [ESP]
MOV ESI,EDI
MOV dword ptr [ESP],EAX
MOVZX EAX,byte ptr [ESP + 0x10]
MOV ECX,dword ptr [ESP]
MOV byte ptr [EDX],AL
CMP dword ptr [ESP + 0x8],ECX
JBE 0x00016eff
MOV EAX,dword ptr [EBX + 0x87a8]
JMP 0x0001649b
MOV EAX,dword ptr [EBX + 0x87a8]
MOV ECX,EAX
MOV EAX,dword ptr [ESP]
LEA EDX,[EAX + 0x1]
JMP 0x00016fab
CMP ECX,0x1
JNZ 0x00017413
MOV dword ptr [EBX + 0x87a8],0x2
MOV EAX,EDX
MOV ESI,EDI
MOV EDX,dword ptr [ESP]
MOV dword ptr [ESP],EAX
JMP 0x00016fc7
MOV EAX,EDX
MOV EDX,dword ptr [ESP]
MOV ESI,EDI
MOV dword ptr [ESP],EAX
CMP ECX,0x9
JZ 0x00017649
CMP ECX,0xa
JNZ 0x00016fc7
CMP dword ptr [ESP + 0x10],0x5c
JZ 0x00017809
MOV dword ptr [EBX + 0x87a8],0x3
JMP 0x00016fc7
MOV EAX,dword ptr [ESP + 0x4]
MOV EDI,dword ptr [ESP + 0x10]
CMP byte ptr [EAX + EDI*0x1],0x1
JNZ 0x0001743a
JMP 0x00016fc7
MOV ECX,dword ptr [ESP]
CMP dword ptr [ESP + 0x8],ECX
JBE 0x00017a59
MOV EAX,dword ptr [ESP]
MOV byte ptr [EDX],0x20
MOV EDX,EAX
ADD EAX,0x1
MOV dword ptr [ESP],EAX
JMP 0x0001743a
MOV byte ptr [EDI + -0x1],0x5c
LEA ESI,[EDI + -0x1]
JMP 0x00016520
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nint FUN_00016450(code *param_1,byte *param_2,int param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  undefined4 uVar14;\n  uint *puVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  size_t sVar20;\n  uint *puVar21;\n  bool bVar22;\n  uint *local_38;\n  byte *local_30;\n  uint local_2c;\n  \n  pbVar4 = param_2 + param_3;\n  pbVar5 = param_2;\n  if (DAT_00088784 == (byte *)0x0) {\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 == 0) {\n      return 0;\n    }\n    pbVar17 = &DAT_00080780 + iVar11;\n    uVar10 = DAT_000887a8;\n    pbVar18 = &DAT_00080780;\n  }\n  else {\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }\nLAB_0001649b:\n  pbVar19 = pbVar18;\n  pbVar16 = pbVar5;\n  switch(uVar10) {\n  default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;\n  case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;\n  case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;\n  case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );\n  case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;\n  }\njoined_r0x00016e98:\n  pbVar19 = pbVar18;\n  if (pbVar5 < pbVar4) goto LAB_0001649b;\nLAB_00016520:\n  if (pbVar19 < pbVar17) {\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }\n  goto LAB_000169c8;\ncode_r0x00017025:\n  if (pbVar5 < pbVar17) {\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }\n  if (cVar2 == '\n') {\n    DAT_00088788 = DAT_00088788 + 1;\n  }\n  if (uVar10 == 0x2a) {\n    do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto code_r0x0001706e;\n    pbVar5 = pbVar18 + -1;\n    pbVar18[-1] = bVar3;\n  }\n  goto code_r0x00017025;\ncode_r0x0001751e:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  } while (cVar2 == '\x02');\n  if (((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)) {\n    pbVar18[-1] = bVar3;\n    pbVar18 = pbVar18 + -1;\n    DAT_000887a4 = 4;\n    DAT_000887a8 = 0xffffffff;\n    pbVar5 = local_30 + 1;\n    DAT_000887a0 = (byte *)0x5b030;\n    *local_30 = 9;\n    pbVar19 = pbVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    DAT_000887a0 = (byte *)0x5b031;\n    bVar3 = s__linefile_0005b02f[1];\n    goto code_r0x0001677e;\n  }\n  while (cVar2 != '\n') {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }\n  pbVar18[-1] = bVar3;\n  pbVar19 = pbVar18 + -1;\ncode_r0x00017782:\n  DAT_000887a8 = 0;\n  goto code_r0x00016b4e;\ncode_r0x00016d70:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  } while ((&DAT_000887c0)[bVar3] != '\n');\n  DAT_000887a8 = 0;\n  *pbVar5 = 10;\n  pbVar5 = local_30;\n  pbVar19 = pbVar18;\njoined_r0x000172dc:\n  local_30 = pbVar5;\n  if (pbVar4 <= pbVar5) goto LAB_00016520;\n  goto code_r0x00016b4e;\ncode_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;\n  goto code_r0x00016b84;\ncode_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }\n  if ((bVar1 == 0xe) || (bVar1 == 3)) goto code_r0x00016b78;\n  if ((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)) {\n    DAT_000887a8 = 1;\n    *pbVar16 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;\n    pbVar19 = pbVar18;\n    goto joined_r0x000172dc;\n  }\n  switch(DAT_000887a8) {\n  default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto code_r0x00016b78;\n  case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;\n  case 9:\n  case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;\n  case 0xb:\n    break;\n  }\n  DAT_000887a8 = 3;\ncode_r0x00017227:\n  pbVar18[-1] = bVar3;\n  *pbVar16 = 0x20;\n  pbVar5 = pbVar16 + 1;\n  pbVar19 = pbVar18 + -1;\n  goto joined_r0x000172dc;\n  while ((byte)(&DAT_000887c0)[pbVar8[1]] < 2) {\ncode_r0x0001787c:\n    pbVar8 = pbVar19;\n    pbVar19 = pbVar8 + 1;\n    if (pbVar17 == pbVar19) break;\n  }\n  if (pbVar19 <= pbVar18) {\n    pbVar8 = pbVar19;\n  }\n  iVar11 = (int)pbVar4 - (int)pbVar16;\n  sVar20 = (int)pbVar8 - (int)pbVar18;\n  if (iVar11 <= (int)sVar20) {\ncode_r0x000178a1:\n    sVar20 = iVar11 - 1;\n  }\n  if (0 < (int)sVar20) {\n    *pbVar16 = bVar3;\n    memcpy(pbVar5,pbVar18,sVar20);\n    pbVar5 = pbVar5 + sVar20;\n    pbVar19 = pbVar18 + sVar20;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }\n  }\nLAB_00016fab:\n  pbVar5 = pbVar16;\n  if (DAT_000887a8 == 0) {\n    DAT_000887a8 = 0xb;\n  }\n  else {\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }\n  *pbVar5 = (byte)local_2c;\n  pbVar5 = local_30;\n  uVar10 = DAT_000887a8;\n  goto joined_r0x00016e98;\n}\n\n" comment comment (function_definition "int FUN_00016450(code *param_1,byte *param_2,int param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  undefined4 uVar14;\n  uint *puVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  size_t sVar20;\n  uint *puVar21;\n  bool bVar22;\n  uint *local_38;\n  byte *local_30;\n  uint local_2c;\n  \n  pbVar4 = param_2 + param_3;\n  pbVar5 = param_2;\n  if (DAT_00088784 == (byte *)0x0) {\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 == 0) {\n      return 0;\n    }\n    pbVar17 = &DAT_00080780 + iVar11;\n    uVar10 = DAT_000887a8;\n    pbVar18 = &DAT_00080780;\n  }\n  else {\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }\nLAB_0001649b:\n  pbVar19 = pbVar18;\n  pbVar16 = pbVar5;\n  switch(uVar10) {\n  default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;\n  case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;\n  case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;\n  case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );\n  case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;\n  }\njoined_r0x00016e98:\n  pbVar19 = pbVar18;\n  if (pbVar5 < pbVar4) goto LAB_0001649b;\nLAB_00016520:\n  if (pbVar19 < pbVar17) {\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }\n  goto LAB_000169c8;\ncode_r0x00017025:\n  if (pbVar5 < pbVar17) {\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }\n  if (cVar2 == '\n') {\n    DAT_00088788 = DAT_00088788 + 1;\n  }\n  if (uVar10 == 0x2a) {\n    do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto code_r0x0001706e;\n    pbVar5 = pbVar18 + -1;\n    pbVar18[-1] = bVar3;\n  }\n  goto code_r0x00017025;\ncode_r0x0001751e:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  } while (cVar2 == '\x02');\n  if (((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)) {\n    pbVar18[-1] = bVar3;\n    pbVar18 = pbVar18 + -1;\n    DAT_000887a4 = 4;\n    DAT_000887a8 = 0xffffffff;\n    pbVar5 = local_30 + 1;\n    DAT_000887a0 = (byte *)0x5b030;\n    *local_30 = 9;\n    pbVar19 = pbVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    DAT_000887a0 = (byte *)0x5b031;\n    bVar3 = s__linefile_0005b02f[1];\n    goto code_r0x0001677e;\n  }\n  while (cVar2 != '\n') {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }\n  pbVar18[-1] = bVar3;\n  pbVar19 = pbVar18 + -1;\ncode_r0x00017782:\n  DAT_000887a8 = 0;\n  goto code_r0x00016b4e;\ncode_r0x00016d70:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  } while ((&DAT_000887c0)[bVar3] != '\n');\n  DAT_000887a8 = 0;\n  *pbVar5 = 10;\n  pbVar5 = local_30;\n  pbVar19 = pbVar18;\njoined_r0x000172dc:\n  local_30 = pbVar5;\n  if (pbVar4 <= pbVar5) goto LAB_00016520;\n  goto code_r0x00016b4e;\ncode_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;\n  goto code_r0x00016b84;\ncode_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }\n  if ((bVar1 == 0xe) || (bVar1 == 3)) goto code_r0x00016b78;\n  if ((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)) {\n    DAT_000887a8 = 1;\n    *pbVar16 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;\n    pbVar19 = pbVar18;\n    goto joined_r0x000172dc;\n  }\n  switch(DAT_000887a8) {\n  default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto code_r0x00016b78;\n  case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;\n  case 9:\n  case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;\n  case 0xb:\n    break;\n  }\n  DAT_000887a8 = 3;\ncode_r0x00017227:\n  pbVar18[-1] = bVar3;\n  *pbVar16 = 0x20;\n  pbVar5 = pbVar16 + 1;\n  pbVar19 = pbVar18 + -1;\n  goto joined_r0x000172dc;\n  while ((byte)(&DAT_000887c0)[pbVar8[1]] < 2) {\ncode_r0x0001787c:\n    pbVar8 = pbVar19;\n    pbVar19 = pbVar8 + 1;\n    if (pbVar17 == pbVar19) break;\n  }\n  if (pbVar19 <= pbVar18) {\n    pbVar8 = pbVar19;\n  }\n  iVar11 = (int)pbVar4 - (int)pbVar16;\n  sVar20 = (int)pbVar8 - (int)pbVar18;\n  if (iVar11 <= (int)sVar20) {\ncode_r0x000178a1:\n    sVar20 = iVar11 - 1;\n  }\n  if (0 < (int)sVar20) {\n    *pbVar16 = bVar3;\n    memcpy(pbVar5,pbVar18,sVar20);\n    pbVar5 = pbVar5 + sVar20;\n    pbVar19 = pbVar18 + sVar20;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }\n  }\nLAB_00016fab:\n  pbVar5 = pbVar16;\n  if (DAT_000887a8 == 0) {\n    DAT_000887a8 = 0xb;\n  }\n  else {\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }\n  *pbVar5 = (byte)local_2c;\n  pbVar5 = local_30;\n  uVar10 = DAT_000887a8;\n  goto joined_r0x00016e98;\n}" primitive_type (function_declarator "FUN_00016450(code *param_1,byte *param_2,int param_3)" identifier (parameter_list "(code *param_1,byte *param_2,int param_3)" ( (parameter_declaration "code *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  undefined4 uVar14;\n  uint *puVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  size_t sVar20;\n  uint *puVar21;\n  bool bVar22;\n  uint *local_38;\n  byte *local_30;\n  uint local_2c;\n  \n  pbVar4 = param_2 + param_3;\n  pbVar5 = param_2;\n  if (DAT_00088784 == (byte *)0x0) {\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 == 0) {\n      return 0;\n    }\n    pbVar17 = &DAT_00080780 + iVar11;\n    uVar10 = DAT_000887a8;\n    pbVar18 = &DAT_00080780;\n  }\n  else {\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }\nLAB_0001649b:\n  pbVar19 = pbVar18;\n  pbVar16 = pbVar5;\n  switch(uVar10) {\n  default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;\n  case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;\n  case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;\n  case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );\n  case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;\n  }\njoined_r0x00016e98:\n  pbVar19 = pbVar18;\n  if (pbVar5 < pbVar4) goto LAB_0001649b;\nLAB_00016520:\n  if (pbVar19 < pbVar17) {\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }\n  goto LAB_000169c8;\ncode_r0x00017025:\n  if (pbVar5 < pbVar17) {\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }\n  if (cVar2 == '\n') {\n    DAT_00088788 = DAT_00088788 + 1;\n  }\n  if (uVar10 == 0x2a) {\n    do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto code_r0x0001706e;\n    pbVar5 = pbVar18 + -1;\n    pbVar18[-1] = bVar3;\n  }\n  goto code_r0x00017025;\ncode_r0x0001751e:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  } while (cVar2 == '\x02');\n  if (((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)) {\n    pbVar18[-1] = bVar3;\n    pbVar18 = pbVar18 + -1;\n    DAT_000887a4 = 4;\n    DAT_000887a8 = 0xffffffff;\n    pbVar5 = local_30 + 1;\n    DAT_000887a0 = (byte *)0x5b030;\n    *local_30 = 9;\n    pbVar19 = pbVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    DAT_000887a0 = (byte *)0x5b031;\n    bVar3 = s__linefile_0005b02f[1];\n    goto code_r0x0001677e;\n  }\n  while (cVar2 != '\n') {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }\n  pbVar18[-1] = bVar3;\n  pbVar19 = pbVar18 + -1;\ncode_r0x00017782:\n  DAT_000887a8 = 0;\n  goto code_r0x00016b4e;\ncode_r0x00016d70:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  } while ((&DAT_000887c0)[bVar3] != '\n');\n  DAT_000887a8 = 0;\n  *pbVar5 = 10;\n  pbVar5 = local_30;\n  pbVar19 = pbVar18;\njoined_r0x000172dc:\n  local_30 = pbVar5;\n  if (pbVar4 <= pbVar5) goto LAB_00016520;\n  goto code_r0x00016b4e;\ncode_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;\n  goto code_r0x00016b84;\ncode_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }\n  if ((bVar1 == 0xe) || (bVar1 == 3)) goto code_r0x00016b78;\n  if ((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)) {\n    DAT_000887a8 = 1;\n    *pbVar16 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;\n    pbVar19 = pbVar18;\n    goto joined_r0x000172dc;\n  }\n  switch(DAT_000887a8) {\n  default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto code_r0x00016b78;\n  case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;\n  case 9:\n  case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;\n  case 0xb:\n    break;\n  }\n  DAT_000887a8 = 3;\ncode_r0x00017227:\n  pbVar18[-1] = bVar3;\n  *pbVar16 = 0x20;\n  pbVar5 = pbVar16 + 1;\n  pbVar19 = pbVar18 + -1;\n  goto joined_r0x000172dc;\n  while ((byte)(&DAT_000887c0)[pbVar8[1]] < 2) {\ncode_r0x0001787c:\n    pbVar8 = pbVar19;\n    pbVar19 = pbVar8 + 1;\n    if (pbVar17 == pbVar19) break;\n  }\n  if (pbVar19 <= pbVar18) {\n    pbVar8 = pbVar19;\n  }\n  iVar11 = (int)pbVar4 - (int)pbVar16;\n  sVar20 = (int)pbVar8 - (int)pbVar18;\n  if (iVar11 <= (int)sVar20) {\ncode_r0x000178a1:\n    sVar20 = iVar11 - 1;\n  }\n  if (0 < (int)sVar20) {\n    *pbVar16 = bVar3;\n    memcpy(pbVar5,pbVar18,sVar20);\n    pbVar5 = pbVar5 + sVar20;\n    pbVar19 = pbVar18 + sVar20;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }\n  }\nLAB_00016fab:\n  pbVar5 = pbVar16;\n  if (DAT_000887a8 == 0) {\n    DAT_000887a8 = 0xb;\n  }\n  else {\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }\n  *pbVar5 = (byte)local_2c;\n  pbVar5 = local_30;\n  uVar10 = DAT_000887a8;\n  goto joined_r0x00016e98;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "uint *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "size_t sVar20;" primitive_type identifier ;) (declaration "uint *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "uint *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "byte *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "uint local_2c;" type_identifier identifier ;) (expression_statement "pbVar4 = param_2 + param_3;" (assignment_expression "pbVar4 = param_2 + param_3" identifier = (binary_expression "param_2 + param_3" identifier + identifier)) ;) (expression_statement "pbVar5 = param_2;" (assignment_expression "pbVar5 = param_2" identifier = identifier) ;) (if_statement "if (DAT_00088784 == (byte *)0x0) {\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 == 0) {\n      return 0;\n    }\n    pbVar17 = &DAT_00080780 + iVar11;\n    uVar10 = DAT_000887a8;\n    pbVar18 = &DAT_00080780;\n  }\n  else {\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }" if (parenthesized_expression "(DAT_00088784 == (byte *)0x0)" ( (binary_expression "DAT_00088784 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 == 0) {\n      return 0;\n    }\n    pbVar17 = &DAT_00080780 + iVar11;\n    uVar10 = DAT_000887a8;\n    pbVar18 = &DAT_00080780;\n  }" { (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (expression_statement "pbVar18 = &DAT_00080780;" (assignment_expression "pbVar18 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;) }) (else_clause "else {\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }" else (compound_statement "{\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }" { (expression_statement "pbVar17 = DAT_00088784 + DAT_00088780;" (assignment_expression "pbVar17 = DAT_00088784 + DAT_00088780" identifier = (binary_expression "DAT_00088784 + DAT_00088780" identifier + identifier)) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (expression_statement "pbVar18 = DAT_00088784;" (assignment_expression "pbVar18 = DAT_00088784" identifier = identifier) ;) }))) (labeled_statement "LAB_0001649b:\n  pbVar19 = pbVar18;" statement_identifier : (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;)) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) (switch_statement "switch(uVar10) {\n  default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;\n  case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;\n  case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;\n  case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );\n  case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;\n  }" switch (parenthesized_expression "(uVar10)" ( identifier )) (compound_statement "{\n  default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;\n  case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;\n  case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;\n  case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );\n  case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;\n  }" { (case_statement "default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;" default : (labeled_statement "LAB_00016b40:\n    pbVar8 = &DAT_00080780;" statement_identifier : (expression_statement "pbVar8 = &DAT_00080780;" (assignment_expression "pbVar8 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;)) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;) (labeled_statement "code_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" statement_identifier : (if_statement "if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" if (parenthesized_expression "(pbVar19 < pbVar17)" ( (binary_expression "pbVar19 < pbVar17" identifier < identifier) )) (compound_statement "{\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }" { (expression_statement "pbVar18 = pbVar19 + 1;" (assignment_expression "pbVar18 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) }) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" else (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (if_statement "if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }" { (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (if_statement "if (DAT_000887a8 == 0) goto LAB_00016992;" if (parenthesized_expression "(DAT_000887a8 == 0)" ( (binary_expression "DAT_000887a8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00016992;" goto statement_identifier ;)) (expression_statement "uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5)" identifier = (call_expression "dcgettext(0,"end of file not at end of a line; newline inserted",5)" identifier (argument_list "(0,"end of file not at end of a line; newline inserted",5)" ( number_literal , (string_literal ""end of file not at end of a line; newline inserted"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" identifier = number_literal) ;) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) (expression_statement "*local_30 = 10;" (assignment_expression "*local_30 = 10" (pointer_expression "*local_30" * identifier) = number_literal) ;) (if_statement "if (pbVar5 < pbVar4) goto LAB_00016992;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto LAB_00016992;" goto statement_identifier ;)) (goto_statement "goto LAB_000169c8;" goto statement_identifier ;) })) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) })))) (expression_statement "local_2c = (uint)bVar3;" (assignment_expression "local_2c = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];" (assignment_expression "uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c]" identifier = (subscript_expression "(uint)(byte)(&DAT_000887c0)[local_2c]" (call_expression "(uint)(byte)(&DAT_000887c0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) ))) [ identifier ])) ;) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (labeled_statement "code_r0x00016b78:\n    pbVar16 = pbVar5;" statement_identifier : (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;)) (if_statement "if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }" if (parenthesized_expression "((byte)uVar10 < 0xf)" ( (binary_expression "(byte)uVar10 < 0xf" (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }" { (labeled_statement "code_r0x00016b84:\n      bVar3 = (byte)local_2c;" statement_identifier : (expression_statement "bVar3 = (byte)local_2c;" (assignment_expression "bVar3 = (byte)local_2c" identifier = (cast_expression "(byte)local_2c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;)) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;) (switch_statement "switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }" switch (parenthesized_expression "(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000)" ( (binary_expression "*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000" (pointer_expression "*(int *)(&DAT_0005b1a4 + uVar10 * 4)" * (cast_expression "(int *)(&DAT_0005b1a4 + uVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005b1a4 + uVar10 * 4)" ( (binary_expression "&DAT_0005b1a4 + uVar10 * 4" (pointer_expression "&DAT_0005b1a4" & identifier) + (binary_expression "uVar10 * 4" identifier * number_literal)) )))) + number_literal) )) (compound_statement "{\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }" { (case_statement "case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;" case number_literal : (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (if_statement "if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }" if (parenthesized_expression "(DAT_000887a8 != 10)" ( (binary_expression "DAT_000887a8 != 10" identifier != number_literal) )) (compound_statement "{\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }" { (if_statement "if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }" { (expression_statement "pbVar19 = pbVar18 + 1;" (assignment_expression "pbVar19 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (labeled_statement "code_r0x0001663b:\n            uVar10 = (uint)bVar3;" statement_identifier : (expression_statement "uVar10 = (uint)bVar3;" (assignment_expression "uVar10 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (if_statement "if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }" if (parenthesized_expression "(uVar10 == 0x5c)" ( (binary_expression "uVar10 == 0x5c" identifier == number_literal) )) (compound_statement "{\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }" { (if_statement "if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }" if (parenthesized_expression "(pbVar19 < pbVar17)" ( (binary_expression "pbVar19 < pbVar17" identifier < identifier) )) (compound_statement "{\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }" { (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }" else (compound_statement "{\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }" { (expression_statement "uVar12 = dcgettext(0,"end of file in escape character",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in escape character",5)" identifier = (call_expression "dcgettext(0,"end of file in escape character",5)" identifier (argument_list "(0,"end of file in escape character",5)" ( number_literal , (string_literal ""end of file in escape character"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "uVar12 = 0x5c;" (assignment_expression "uVar12 = 0x5c" identifier = number_literal) ;) (goto_statement "goto code_r0x000173ae;" goto statement_identifier ;) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) }))) (expression_statement "uVar10 = (uint)bVar3;" (assignment_expression "uVar10 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" if (parenthesized_expression "(uVar10 == 0x66)" ( (binary_expression "uVar10 == 0x66" identifier == number_literal) )) (compound_statement "{\n                uVar10 = 0xc;\n              }" { (expression_statement "uVar10 = 0xc;" (assignment_expression "uVar10 = 0xc" identifier = number_literal) ;) }) (else_clause "else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" else (if_statement "if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" if (parenthesized_expression "(uVar10 < 0x67)" ( (binary_expression "uVar10 < 0x67" identifier < number_literal) )) (compound_statement "{\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }" { (if_statement "if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }" if (parenthesized_expression "((uVar10 != 0x27) && (uVar10 == 0x62))" ( (binary_expression "(uVar10 != 0x27) && (uVar10 == 0x62)" (parenthesized_expression "(uVar10 != 0x27)" ( (binary_expression "uVar10 != 0x27" identifier != number_literal) )) && (parenthesized_expression "(uVar10 == 0x62)" ( (binary_expression "uVar10 == 0x62" identifier == number_literal) ))) )) (compound_statement "{\n                  uVar10 = 8;\n                }" { (expression_statement "uVar10 = 8;" (assignment_expression "uVar10 = 8" identifier = number_literal) ;) })) }) (else_clause "else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" else (if_statement "if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" if (parenthesized_expression "(uVar10 == 0x72)" ( (binary_expression "uVar10 == 0x72" identifier == number_literal) )) (compound_statement "{\n                uVar10 = 0xd;\n              }" { (expression_statement "uVar10 = 0xd;" (assignment_expression "uVar10 = 0xd" identifier = number_literal) ;) }) (else_clause "else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" else (if_statement "if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" if (parenthesized_expression "(uVar10 == 0x74)" ( (binary_expression "uVar10 == 0x74" identifier == number_literal) )) (compound_statement "{\n                uVar10 = 9;\n              }" { (expression_statement "uVar10 = 9;" (assignment_expression "uVar10 = 9" identifier = number_literal) ;) }) (else_clause "else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" else (if_statement "if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" if (parenthesized_expression "(uVar10 == 0x6e)" ( (binary_expression "uVar10 == 0x6e" identifier == number_literal) )) (compound_statement "{\n                uVar10 = 10;\n              }" { (expression_statement "uVar10 = 10;" (assignment_expression "uVar10 = 10" identifier = number_literal) ;) })))))))))) })) (expression_statement "sprintf((char *)&DAT_0008878c,"%d",uVar10);" (call_expression "sprintf((char *)&DAT_0008878c,"%d",uVar10)" identifier (argument_list "((char *)&DAT_0008878c,"%d",uVar10)" ( (cast_expression "(char *)&DAT_0008878c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0008878c" & identifier)) , (string_literal ""%d"" " string_content ") , identifier ))) ;) (if_statement "if (pbVar17 <= pbVar19) goto code_r0x000173d4;" if (parenthesized_expression "(pbVar17 <= pbVar19)" ( (binary_expression "pbVar17 <= pbVar19" identifier <= identifier) )) (goto_statement "goto code_r0x000173d4;" goto statement_identifier ;)) (expression_statement "pbVar18 = pbVar19 + 1;" (assignment_expression "pbVar18 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) (labeled_statement "code_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }" statement_identifier : (if_statement "if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }" if (parenthesized_expression "(bVar3 != 0x27)" ( (binary_expression "bVar3 != 0x27" identifier != number_literal) )) (compound_statement "{\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }" { (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) }))) }) (else_clause "else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }" else (compound_statement "{\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }" { (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) (goto_statement "goto code_r0x0001663b;" goto statement_identifier ;) })) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);" (assignment_expression "uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)" identifier = (call_expression "dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)" identifier (argument_list "(0,"end of file after a one-character quote; \\0 inserted",5)" ( number_literal , (string_literal ""end of file after a one-character quote; \\0 inserted"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar14);" (call_expression "FUN_0002bc80(uVar14)" identifier (argument_list "(uVar14)" ( identifier ))) ;) (labeled_statement "code_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);" statement_identifier : (expression_statement "sprintf((char *)&DAT_0008878c,"%d",uVar12);" (call_expression "sprintf((char *)&DAT_0008878c,"%d",uVar12)" identifier (argument_list "((char *)&DAT_0008878c,"%d",uVar12)" ( (cast_expression "(char *)&DAT_0008878c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0008878c" & identifier)) , (string_literal ""%d"" " string_content ") , identifier ))) ;)) (labeled_statement "code_r0x000173d4:\n            pbVar18 = &DAT_00080780;" statement_identifier : (expression_statement "pbVar18 = &DAT_00080780;" (assignment_expression "pbVar18 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;)) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (if_statement "if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }" { (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) (goto_statement "goto code_r0x000166af;" goto statement_identifier ;) })) }))) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (expression_statement "local_38 = &DAT_0008878c;" (assignment_expression "local_38 = &DAT_0008878c" identifier = (pointer_expression "&DAT_0008878c" & identifier)) ;) (do_statement "do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);" do (compound_statement "{\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          }" { (expression_statement "puVar15 = local_38;" (assignment_expression "puVar15 = local_38" identifier = identifier) ;) (expression_statement "uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;" (assignment_expression "uVar6 = *puVar15 + 0xfefefeff & ~*puVar15" identifier = (binary_expression "*puVar15 + 0xfefefeff & ~*puVar15" (binary_expression "*puVar15 + 0xfefefeff" (pointer_expression "*puVar15" * identifier) + number_literal) & (unary_expression "~*puVar15" ~ (pointer_expression "*puVar15" * identifier)))) ;) (expression_statement "uVar7 = uVar6 & 0x80808080;" (assignment_expression "uVar7 = uVar6 & 0x80808080" identifier = (binary_expression "uVar6 & 0x80808080" identifier & number_literal)) ;) (expression_statement "local_38 = puVar15 + 1;" (assignment_expression "local_38 = puVar15 + 1" identifier = (binary_expression "puVar15 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) ;) (expression_statement "bVar22 = (uVar6 & 0x8080) == 0;" (assignment_expression "bVar22 = (uVar6 & 0x8080) == 0" identifier = (binary_expression "(uVar6 & 0x8080) == 0" (parenthesized_expression "(uVar6 & 0x8080)" ( (binary_expression "uVar6 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }" if (parenthesized_expression "(bVar22)" ( identifier )) (compound_statement "{\n            uVar7 = uVar7 >> 0x10;\n          }" { (expression_statement "uVar7 = uVar7 >> 0x10;" (assignment_expression "uVar7 = uVar7 >> 0x10" identifier = (binary_expression "uVar7 >> 0x10" identifier >> number_literal)) ;) })) (expression_statement "puVar21 = (uint *)((int)puVar15 + 6);" (assignment_expression "puVar21 = (uint *)((int)puVar15 + 6)" identifier = (cast_expression "(uint *)((int)puVar15 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + 6)" ( (binary_expression "(int)puVar15 + 6" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }" if (parenthesized_expression "(!bVar22)" ( (unary_expression "!bVar22" ! identifier) )) (compound_statement "{\n            puVar21 = puVar15 + 1;\n          }" { (expression_statement "puVar21 = puVar15 + 1;" (assignment_expression "puVar21 = puVar15 + 1" identifier = (binary_expression "puVar15 + 1" identifier + number_literal)) ;) })) (if_statement "if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }" if (parenthesized_expression "((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d)" ( (binary_expression "(int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d" (binary_expression "(int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7))" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar7,(byte)uVar7)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar7,(byte)uVar7)" identifier (argument_list "((byte)uVar7,(byte)uVar7)" ( (cast_expression "(byte)uVar7" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar7" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) == number_literal) )) (compound_statement "{\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }" { (expression_statement "*pbVar16 = (byte)DAT_0008878c;" (assignment_expression "*pbVar16 = (byte)DAT_0008878c" (pointer_expression "*pbVar16" * identifier) = (cast_expression "(byte)DAT_0008878c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (goto_statement "goto joined_r0x00016e98;" goto statement_identifier ;) })) (expression_statement "DAT_000887a8 = 0xffffffff;" (assignment_expression "DAT_000887a8 = 0xffffffff" identifier = number_literal) ;) (if_statement "if (uVar10 == 9) {\n            uVar10 = 3;\n          }" if (parenthesized_expression "(uVar10 == 9)" ( (binary_expression "uVar10 == 9" identifier == number_literal) )) (compound_statement "{\n            uVar10 = 3;\n          }" { (expression_statement "uVar10 = 3;" (assignment_expression "uVar10 = 3" identifier = number_literal) ;) })) (expression_statement "DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);" (assignment_expression "DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1)" identifier = (cast_expression "(byte *)((int)&DAT_0008878c + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_0008878c + 1)" ( (binary_expression "(int)&DAT_0008878c + 1" (cast_expression "(int)&DAT_0008878c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_0008878c" & identifier)) + number_literal) )))) ;) (expression_statement "DAT_000887a4 = uVar10;" (assignment_expression "DAT_000887a4 = uVar10" identifier = identifier) ;) (expression_statement "*pbVar16 = (byte)DAT_0008878c;" (assignment_expression "*pbVar16 = (byte)DAT_0008878c" (pointer_expression "*pbVar16" * identifier) = (cast_expression "(byte)DAT_0008878c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (if_statement "if (pbVar5 < pbVar4) goto code_r0x00016750;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto code_r0x00016750;" goto statement_identifier ;)) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;)) (case_statement "case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;" case number_literal : (expression_statement "local_30 = pbVar16 + 1;" (assignment_expression "local_30 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (goto_statement "goto code_r0x00016d70;" goto statement_identifier ;)) (case_statement "case 0x16dd8:\n        break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;" case number_literal : (expression_statement "DAT_000887a8 = 1;" (assignment_expression "DAT_000887a8 = 1" identifier = number_literal) ;) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (goto_statement "goto joined_r0x00016e2c;" goto statement_identifier ;)) (case_statement "case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;" case number_literal : (if_statement "if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }" if (parenthesized_expression "(DAT_00088788 != 0)" ( (binary_expression "DAT_00088788 != 0" identifier != number_literal) )) (compound_statement "{\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }" { (expression_statement "DAT_00088788 = DAT_00088788 + -1;" (assignment_expression "DAT_00088788 = DAT_00088788 + -1" identifier = (binary_expression "DAT_00088788 + -1" identifier + number_literal)) ;) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;" case number_literal : (if_statement "if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }" if (parenthesized_expression "(DAT_000887a8 - 9 < 2)" ( (binary_expression "DAT_000887a8 - 9 < 2" (binary_expression "DAT_000887a8 - 9" identifier - number_literal) < number_literal) )) (compound_statement "{\n          DAT_000887a8 = 3;\n        }" { (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;) }) (else_clause "else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }" else (if_statement "if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }" if (parenthesized_expression "(DAT_000887a8 != 3)" ( (binary_expression "DAT_000887a8 != 3" identifier != number_literal) )) (compound_statement "{\n          DAT_000887a8 = 1;\n        }" { (expression_statement "DAT_000887a8 = 1;" (assignment_expression "DAT_000887a8 = 1" identifier = number_literal) ;) })))) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (goto_statement "goto joined_r0x00016e98;" goto statement_identifier ;)) (case_statement "case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;" case number_literal : (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "bRam00080761 = bVar3;" (assignment_expression "bRam00080761 = bVar3" identifier = identifier) ;) (if_statement "if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }" if (parenthesized_expression "(DAT_000887a8 == 10)" ( (binary_expression "DAT_000887a8 == 10" identifier == number_literal) )) (compound_statement "{\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }" { (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (if_statement "if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }" if (parenthesized_expression "(pbVar18 + -1 < pbVar17)" ( (binary_expression "pbVar18 + -1 < pbVar17" (binary_expression "pbVar18 + -1" identifier + number_literal) < identifier) )) (compound_statement "{\n            local_2c = (uint)pbVar18[-1];\n          }" { (expression_statement "local_2c = (uint)pbVar18[-1];" (assignment_expression "local_2c = (uint)pbVar18[-1]" identifier = (cast_expression "(uint)pbVar18[-1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar18[-1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }" else (compound_statement "{\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }" { (expression_statement "pbVar18 = &DAT_00080780;" (assignment_expression "pbVar18 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "local_2c = 0xffffffff;" (assignment_expression "local_2c = 0xffffffff" identifier = number_literal) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (if_statement "if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }" { (expression_statement "local_2c = (uint)DAT_00080780;" (assignment_expression "local_2c = (uint)DAT_00080780" identifier = (cast_expression "(uint)DAT_00080780" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) })) }))) (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" identifier = number_literal) ;) (expression_statement "pbVar19 = pbVar16 + 2;" (assignment_expression "pbVar19 = pbVar16 + 2" identifier = (binary_expression "pbVar16 + 2" identifier + number_literal)) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) }) (else_clause "else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }" else (compound_statement "{\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }" { (expression_statement "pbVar19 = pbVar5;" (assignment_expression "pbVar19 = pbVar5" identifier = identifier) ;) (if_statement "if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }" if (parenthesized_expression "(DAT_000887a8 == 9)" ( (binary_expression "DAT_000887a8 == 9" identifier == number_literal) )) (compound_statement "{\n            DAT_000887a4 = 3;\n          }" { (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" identifier = number_literal) ;) }) (else_clause "else {\n            DAT_000887a4 = DAT_000887a8;\n          }" else (compound_statement "{\n            DAT_000887a4 = DAT_000887a8;\n          }" { (expression_statement "DAT_000887a4 = DAT_000887a8;" (assignment_expression "DAT_000887a4 = DAT_000887a8" identifier = identifier) ;) }))) }))) (expression_statement "DAT_000887a8 = 5;" (assignment_expression "DAT_000887a8 = 5" identifier = number_literal) ;) (expression_statement "*pbVar16 = (byte)local_2c;" (assignment_expression "*pbVar16 = (byte)local_2c" (pointer_expression "*pbVar16" * identifier) = (cast_expression "(byte)local_2c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pbVar5 = pbVar19;" (assignment_expression "pbVar5 = pbVar19" identifier = identifier) ;) (goto_statement "goto joined_r0x0001680c;" goto statement_identifier ;)) (case_statement "case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;" case number_literal : (do_statement "do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);" do (compound_statement "{\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        }" { (if_statement "if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) }) (else_clause "else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }" else (compound_statement "{\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) goto LAB_00016992;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00016992;" goto statement_identifier ;)) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) }))) (expression_statement "local_2c = (uint)bVar3;" (assignment_expression "local_2c = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "bVar1 = (&DAT_000887c0)[local_2c];" (assignment_expression "bVar1 = (&DAT_000887c0)[local_2c]" identifier = (subscript_expression "(&DAT_000887c0)[local_2c]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ])) ;) (expression_statement "uVar10 = (uint)bVar1;" (assignment_expression "uVar10 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;) }) while (parenthesized_expression "(bVar1 == 2)" ( (binary_expression "bVar1 == 2" identifier == number_literal) )) ;) (if_statement "if (DAT_000887a8 != 0) goto code_r0x000171ad;" if (parenthesized_expression "(DAT_000887a8 != 0)" ( (binary_expression "DAT_000887a8 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x000171ad;" goto statement_identifier ;)) (expression_statement "DAT_000887a8 = 1;" (assignment_expression "DAT_000887a8 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x00017227;" goto statement_identifier ;)) (case_statement "case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;" case number_literal : (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (if_statement "if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }" if (parenthesized_expression "(DAT_000887a8 == 10)" ( (binary_expression "DAT_000887a8 == 10" identifier == number_literal) )) (compound_statement "{\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }" { (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;) })) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;) (if_statement "if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;" if (parenthesized_expression "(DAT_000887a8 == 3)" ( (binary_expression "DAT_000887a8 == 3" identifier == number_literal) )) (compound_statement "{\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }" { (expression_statement "DAT_000887a8 = 9;" (assignment_expression "DAT_000887a8 = 9" identifier = number_literal) ;) (if_statement "if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (compound_statement "{\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }" { (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) }) (else_clause "else if (pbVar4 <= pbVar5) goto LAB_00016fab;" else (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016fab;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016fab;" goto statement_identifier ;)))) (if_statement "if (DAT_00080764 != 0) goto LAB_00016fab;" if (parenthesized_expression "(DAT_00080764 != 0)" ( (binary_expression "DAT_00080764 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00016fab;" goto statement_identifier ;)) (if_statement "if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;" if (parenthesized_expression "((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))" ( (binary_expression "(pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2)" (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) && (parenthesized_expression "(pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2)" ( (comma_expression "pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) , (binary_expression "(byte)(&DAT_000887c0)[*pbVar18] < 2" (subscript_expression "(byte)(&DAT_000887c0)[*pbVar18]" (call_expression "(byte)(&DAT_000887c0)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) ))) [ (pointer_expression "*pbVar18" * identifier) ]) < number_literal)) ))) )) (goto_statement "goto code_r0x0001787c;" goto statement_identifier ;)) (expression_statement "iVar11 = (int)pbVar4 - (int)pbVar16;" (assignment_expression "iVar11 = (int)pbVar4 - (int)pbVar16" identifier = (binary_expression "(int)pbVar4 - (int)pbVar16" (cast_expression "(int)pbVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar16" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar11 < 1) goto code_r0x000178a1;" if (parenthesized_expression "(iVar11 < 1)" ( (binary_expression "iVar11 < 1" identifier < number_literal) )) (goto_statement "goto code_r0x000178a1;" goto statement_identifier ;)) (goto_statement "goto LAB_00016fab;" goto statement_identifier ;)) (case_statement "case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;" case number_literal : (if_statement "if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }" { (expression_statement "pbVar5 = pbVar18 + 1;" (assignment_expression "pbVar5 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar18;" (assignment_expression "bVar1 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (labeled_statement "code_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;" statement_identifier : (if_statement "if (bVar1 == 0x2a) goto code_r0x00017025;" if (parenthesized_expression "(bVar1 == 0x2a)" ( (binary_expression "bVar1 == 0x2a" identifier == number_literal) )) (goto_statement "goto code_r0x00017025;" goto statement_identifier ;))) (expression_statement "pbVar8 = pbVar5 + -1;" (assignment_expression "pbVar8 = pbVar5 + -1" identifier = (binary_expression "pbVar5 + -1" identifier + number_literal)) ;) (expression_statement "pbVar5[-1] = bVar1;" (assignment_expression "pbVar5[-1] = bVar1" (subscript_expression "pbVar5[-1]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }" else (compound_statement "{\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar5 = &DAT_00080781;" (assignment_expression "pbVar5 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar1 = DAT_00080780;" (assignment_expression "bVar1 = DAT_00080780" identifier = identifier) ;) (if_statement "if (iVar11 != 0) goto code_r0x00016ff8;" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00016ff8;" goto statement_identifier ;)) }))) (if_statement "if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }" if (parenthesized_expression "(DAT_000887a8 - 9 < 2)" ( (binary_expression "DAT_000887a8 - 9 < 2" (binary_expression "DAT_000887a8 - 9" identifier - number_literal) < number_literal) )) (compound_statement "{\n          DAT_000887a8 = 3;\n        }" { (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;) })) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "pbVar18 = pbVar8;" (assignment_expression "pbVar18 = pbVar8" identifier = identifier) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (goto_statement "goto joined_r0x00016e98;" goto statement_identifier ;)) (case_statement "case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;" case number_literal : (if_statement "if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }" if (parenthesized_expression "(local_2c == 0x2f)" ( (binary_expression "local_2c == 0x2f" identifier == number_literal) )) (compound_statement "{\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }" { (if_statement "if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" else (compound_statement "{\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = pbVar8;" (assignment_expression "pbVar18 = pbVar8" identifier = identifier) ;) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;) (if_statement "if (iVar11 == 0) goto code_r0x0001708b;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x0001708b;" goto statement_identifier ;)) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) }))) (if_statement "if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }" if (parenthesized_expression "(bVar3 == 0x2a)" ( (binary_expression "bVar3 == 0x2a" identifier == number_literal) )) (compound_statement "{\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }" { (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" identifier = number_literal) ;) (expression_statement "DAT_000887a8 = 0xfffffffe;" (assignment_expression "DAT_000887a8 = 0xfffffffe" identifier = number_literal) ;) (goto_statement "goto code_r0x00016560;" goto statement_identifier ;) })) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;) })) (labeled_statement "code_r0x0001708b:\n        uVar10 = DAT_000887a8;" statement_identifier : (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;)) (if_statement "if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }" if (parenthesized_expression "(1 < DAT_000887a8)" ( (binary_expression "1 < DAT_000887a8" number_literal < identifier) )) (compound_statement "{\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }" { (expression_statement "pcVar13 = strchr(PTR_DAT_00080718,local_2c);" (assignment_expression "pcVar13 = strchr(PTR_DAT_00080718,local_2c)" identifier = (call_expression "strchr(PTR_DAT_00080718,local_2c)" identifier (argument_list "(PTR_DAT_00080718,local_2c)" ( identifier , identifier )))) ;) (expression_statement "local_30 = pbVar5 + 1;" (assignment_expression "local_30 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar13 != (char *)0x0) goto code_r0x00016d70;" 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 code_r0x00016d70;" goto statement_identifier ;)) (goto_statement "goto code_r0x0001741d;" goto statement_identifier ;) })) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;) (goto_statement "goto code_r0x0001751e;" goto statement_identifier ;)) (case_statement "case 0x170df:\n        goto LAB_000170e3;" case number_literal : (goto_statement "goto LAB_000170e3;" goto statement_identifier ;)) })) (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" identifier = number_literal) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;) })) (labeled_statement "LAB_000170e3:\n    local_30 = pbVar16 + 1;" statement_identifier : (expression_statement "local_30 = pbVar16 + 1;" (assignment_expression "local_30 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;)) (goto_statement "goto LAB_00016fab;" goto statement_identifier ;)) (case_statement "case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;" case number_literal : (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }" else (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }" { (labeled_statement "LAB_00016992:\n        return (int)pbVar5 - (int)param_2;" statement_identifier : (return_statement "return (int)pbVar5 - (int)param_2;" return (binary_expression "(int)pbVar5 - (int)param_2" (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) }))) (expression_statement "uVar10 = (uint)bVar3;" (assignment_expression "uVar10 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (if_statement "if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }" if (parenthesized_expression "(uVar10 - 0x30 < 10)" ( (binary_expression "uVar10 - 0x30 < 10" (binary_expression "uVar10 - 0x30" identifier - number_literal) < number_literal) )) (compound_statement "{\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }" { (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "pbVar19 = &DAT_00080780;" (assignment_expression "pbVar19 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;) (while_statement "while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }" while (parenthesized_expression "((&DAT_000887c0)[uVar10] == '\x02')" ( (binary_expression "(&DAT_000887c0)[uVar10] == '\x02'" (subscript_expression "(&DAT_000887c0)[uVar10]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ]) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }" { (while_statement "while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }" while (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }" { (expression_statement "uVar10 = (uint)*pbVar18;" (assignment_expression "uVar10 = (uint)*pbVar18" identifier = (binary_expression "(uint)*pbVar18" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;" if (parenthesized_expression "((&DAT_000887c0)[uVar10] != '\x02')" ( (binary_expression "(&DAT_000887c0)[uVar10] != '\x02'" (subscript_expression "(&DAT_000887c0)[uVar10]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ]) != (char_literal "'\x02'" ' escape_sequence ')) )) (goto_statement "goto code_r0x000167d8;" goto statement_identifier ;)) })) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (if_statement "if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }" { (expression_statement "uVar10 = 0xffffffff;" (assignment_expression "uVar10 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto code_r0x00016b1d;" goto statement_identifier ;) })) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "uVar10 = (uint)DAT_00080780;" (assignment_expression "uVar10 = (uint)DAT_00080780" identifier = (cast_expression "(uint)DAT_00080780" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) })) (labeled_statement "code_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }" statement_identifier : (if_statement "if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }" if (parenthesized_expression "(uVar10 == 0x22)" ( (binary_expression "uVar10 == 0x22" identifier == number_literal) )) (compound_statement "{\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }" { (expression_statement "bRam00080761 = 0x22;" (assignment_expression "bRam00080761 = 0x22" identifier = number_literal) ;) (expression_statement "DAT_000887a8 = 5;" (assignment_expression "DAT_000887a8 = 5" identifier = number_literal) ;) (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" identifier = number_literal) ;) (expression_statement "*pbVar16 = 0x22;" (assignment_expression "*pbVar16 = 0x22" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (labeled_statement "joined_r0x0001680c:\n      pbVar19 = pbVar18;" statement_identifier : (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;)) (if_statement "if (pbVar5 < pbVar4) goto code_r0x00016818;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto code_r0x00016818;" goto statement_identifier ;)) }) (else_clause "else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }" else (compound_statement "{\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }" { (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (while_statement "while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }" while (parenthesized_expression "(uVar10 != 0xffffffff)" ( (binary_expression "uVar10 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }" { (while_statement "while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }" { (if_statement "if (uVar10 == 10) goto code_r0x00016b1d;" if (parenthesized_expression "(uVar10 == 10)" ( (binary_expression "uVar10 == 10" identifier == number_literal) )) (goto_statement "goto code_r0x00016b1d;" goto statement_identifier ;)) (if_statement "if (pbVar17 <= pbVar19) break;" if (parenthesized_expression "(pbVar17 <= pbVar19)" ( (binary_expression "pbVar17 <= pbVar19" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = (uint)*pbVar19;" (assignment_expression "uVar10 = (uint)*pbVar19" identifier = (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (if_statement "if (uVar10 == 0xffffffff) goto code_r0x00016b1d;" if (parenthesized_expression "(uVar10 == 0xffffffff)" ( (binary_expression "uVar10 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto code_r0x00016b1d;" goto statement_identifier ;)) })) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (if_statement "if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }" { (expression_statement "uVar10 = 0xffffffff;" (assignment_expression "uVar10 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pbVar19 = &DAT_00080780;" (assignment_expression "pbVar19 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;) }) (else_clause "else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }" else (compound_statement "{\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }" { (expression_statement "uVar10 = (uint)DAT_00080780;" (assignment_expression "uVar10 = (uint)DAT_00080780" identifier = (cast_expression "(uint)DAT_00080780" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) }))) })) (labeled_statement "code_r0x00016b1d:\n      DAT_000887a8 = 0;" statement_identifier : (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" identifier = number_literal) ;)) (expression_statement "*pbVar16 = (byte)uVar10;" (assignment_expression "*pbVar16 = (byte)uVar10" (pointer_expression "*pbVar16" * identifier) = (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (pbVar5 < pbVar4) goto LAB_00016b40;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto LAB_00016b40;" goto statement_identifier ;)) })))) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (case_statement "case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;" case number_literal : (labeled_statement "code_r0x00016818:\n    pbVar16 = pbVar5;" statement_identifier : (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;)) (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (if_statement "if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }" if (parenthesized_expression "(((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10))" ( (binary_expression "((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)" (parenthesized_expression "((bVar3 != 0x5c) && (bVar3 != bRam00080761))" ( (binary_expression "(bVar3 != 0x5c) && (bVar3 != bRam00080761)" (parenthesized_expression "(bVar3 != 0x5c)" ( (binary_expression "bVar3 != 0x5c" identifier != number_literal) )) && (parenthesized_expression "(bVar3 != bRam00080761)" ( (binary_expression "bVar3 != bRam00080761" identifier != identifier) ))) )) && (parenthesized_expression "(pbVar8 = pbVar18, bVar3 != 10)" ( (comma_expression "pbVar8 = pbVar18, bVar3 != 10" (assignment_expression "pbVar8 = pbVar18" identifier = identifier) , (binary_expression "bVar3 != 10" identifier != number_literal)) ))) )) (compound_statement "{\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }" { (while_statement "while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }" while (parenthesized_expression "((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)))" ( (parenthesized_expression "(pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))" ( (comma_expression "pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) , (comma_expression "pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)" (assignment_expression "pbVar9 = pbVar17" identifier = identifier) , (binary_expression "pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)" (binary_expression "pbVar8 != pbVar17" identifier != identifier) && (parenthesized_expression "(bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)" ( (comma_expression "bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c" (assignment_expression "bVar3 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) , (comma_expression "pbVar9 = pbVar8, bVar3 != 0x5c" (assignment_expression "pbVar9 = pbVar8" identifier = identifier) , (binary_expression "bVar3 != 0x5c" identifier != number_literal))) ))))) )) )) (compound_statement "{\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }" { (if_statement "if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;" if (parenthesized_expression "((bVar3 == bRam00080761) || (bVar3 == 10))" ( (binary_expression "(bVar3 == bRam00080761) || (bVar3 == 10)" (parenthesized_expression "(bVar3 == bRam00080761)" ( (binary_expression "bVar3 == bRam00080761" identifier == identifier) )) || (parenthesized_expression "(bVar3 == 10)" ( (binary_expression "bVar3 == 10" identifier == number_literal) ))) )) (break_statement "break;" break ;)) })) (expression_statement "sVar20 = (int)pbVar4 - (int)pbVar5;" (assignment_expression "sVar20 = (int)pbVar4 - (int)pbVar5" identifier = (binary_expression "(int)pbVar4 - (int)pbVar5" (cast_expression "(int)pbVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }" if (parenthesized_expression "((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5)" ( (binary_expression "(int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5" (binary_expression "(int)pbVar9 - (int)pbVar18" (cast_expression "(int)pbVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) <= (binary_expression "(int)pbVar4 - (int)pbVar5" (cast_expression "(int)pbVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }" { (expression_statement "sVar20 = (int)pbVar9 - (int)pbVar18;" (assignment_expression "sVar20 = (int)pbVar9 - (int)pbVar18" identifier = (binary_expression "(int)pbVar9 - (int)pbVar18" (cast_expression "(int)pbVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (if_statement "if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }" if (parenthesized_expression "(0 < (int)sVar20)" ( (binary_expression "0 < (int)sVar20" number_literal < (cast_expression "(int)sVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }" { (expression_statement "pbVar19 = pbVar18 + sVar20;" (assignment_expression "pbVar19 = pbVar18 + sVar20" identifier = (binary_expression "pbVar18 + sVar20" identifier + identifier)) ;) (expression_statement "memcpy(pbVar5,pbVar18,sVar20);" (call_expression "memcpy(pbVar5,pbVar18,sVar20)" identifier (argument_list "(pbVar5,pbVar18,sVar20)" ( identifier , identifier , identifier ))) ;) (expression_statement "pbVar5 = pbVar5 + sVar20;" (assignment_expression "pbVar5 = pbVar5 + sVar20" identifier = (binary_expression "pbVar5 + sVar20" identifier + identifier)) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) (if_statement "if (pbVar17 <= pbVar19) goto code_r0x00016a7d;" if (parenthesized_expression "(pbVar17 <= pbVar19)" ( (binary_expression "pbVar17 <= pbVar19" identifier <= identifier) )) (goto_statement "goto code_r0x00016a7d;" goto statement_identifier ;)) })) })) (expression_statement "pbVar18 = pbVar19 + 1;" (assignment_expression "pbVar18 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) }) (else_clause "else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" else (compound_statement "{\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" { (labeled_statement "code_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;" statement_identifier : (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (if_statement "if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }" { (expression_statement "iVar11 = (int)(char)bRam00080761;" (assignment_expression "iVar11 = (int)(char)bRam00080761" identifier = (cast_expression "(int)(char)bRam00080761" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bRam00080761" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5)" identifier = (call_expression "dcgettext(0,"end of file in string; \'%c\' inserted",5)" identifier (argument_list "(0,"end of file in string; \'%c\' inserted",5)" ( number_literal , (string_literal ""end of file in string; \'%c\' inserted"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar12,iVar11);" (call_expression "FUN_0002bc80(uVar12,iVar11)" identifier (argument_list "(uVar12,iVar11)" ( identifier , identifier ))) ;) (expression_statement "uVar10 = DAT_000887a4;" (assignment_expression "uVar10 = DAT_000887a4" identifier = identifier) ;) (expression_statement "uRam00080760 = 10;" (assignment_expression "uRam00080760 = 10" identifier = number_literal) ;) (expression_statement "DAT_000887a8 = DAT_000887a4;" (assignment_expression "DAT_000887a8 = DAT_000887a4" identifier = identifier) ;) (expression_statement "*pbVar16 = bRam00080761;" (assignment_expression "*pbVar16 = bRam00080761" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (if_statement "if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (compound_statement "{\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }" { (expression_statement "DAT_00088780 = 1;" (assignment_expression "DAT_00088780 = 1" identifier = number_literal) ;) (expression_statement "DAT_00088784 = (byte *)0x80760;" (assignment_expression "DAT_00088784 = (byte *)0x80760" identifier = (cast_expression "(byte *)0x80760" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00016538;" goto statement_identifier ;) })) (expression_statement "pbVar17 = (byte *)0x80761;" (assignment_expression "pbVar17 = (byte *)0x80761" identifier = (cast_expression "(byte *)0x80761" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar18 = (byte *)0x80760;" (assignment_expression "pbVar18 = (byte *)0x80760" identifier = (cast_expression "(byte *)0x80760" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0001649b;" goto statement_identifier ;) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) }))) (expression_statement "uVar10 = DAT_000887a4;" (assignment_expression "uVar10 = DAT_000887a4" identifier = identifier) ;) (if_statement "if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }" if (parenthesized_expression "((int)(char)bRam00080761 == (uint)bVar3)" ( (binary_expression "(int)(char)bRam00080761 == (uint)bVar3" (cast_expression "(int)(char)bRam00080761" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bRam00080761" ( (type_descriptor "char" primitive_type) ) identifier)) == (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (compound_statement "{\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }" { (expression_statement "DAT_000887a8 = DAT_000887a4;" (assignment_expression "DAT_000887a8 = DAT_000887a4" identifier = identifier) ;) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) }) (else_clause "else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }" else (compound_statement "{\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }" { (if_statement "if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }" if (parenthesized_expression "(bVar3 == 0x5c)" ( (binary_expression "bVar3 == 0x5c" identifier == number_literal) )) (compound_statement "{\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }" { (expression_statement "DAT_000887a8 = 6;" (assignment_expression "DAT_000887a8 = 6" identifier = number_literal) ;) (expression_statement "*pbVar16 = 0x5c;" (assignment_expression "*pbVar16 = 0x5c" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (goto_statement "goto code_r0x000168d0;" goto statement_identifier ;) })) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;" case number_literal : (labeled_statement "code_r0x000168d0:\n    DAT_000887a8 = 5;" statement_identifier : (expression_statement "DAT_000887a8 = 5;" (assignment_expression "DAT_000887a8 = 5" identifier = number_literal) ;)) (expression_statement "pbVar19 = pbVar5 + 1;" (assignment_expression "pbVar19 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (labeled_statement "joined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" statement_identifier : (if_statement "if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" if (parenthesized_expression "(bVar3 == 10)" ( (binary_expression "bVar3 == 10" identifier == number_literal) )) (compound_statement "{\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" { (expression_statement "pbVar18[-1] = 0x6e;" (assignment_expression "pbVar18[-1] = 0x6e" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (expression_statement "DAT_00088788 = DAT_00088788 + 1;" (assignment_expression "DAT_00088788 = DAT_00088788 + 1" identifier = (binary_expression "DAT_00088788 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar5 = 0x5c;" (assignment_expression "*pbVar5 = 0x5c" (pointer_expression "*pbVar5" * identifier) = number_literal) ;) (expression_statement "pbVar5 = pbVar19;" (assignment_expression "pbVar5 = pbVar19" identifier = identifier) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) }) (else_clause "else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" else (compound_statement "{\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" { (expression_statement "*pbVar5 = bVar3;" (assignment_expression "*pbVar5 = bVar3" (pointer_expression "*pbVar5" * identifier) = identifier) ;) (expression_statement "pbVar5 = pbVar19;" (assignment_expression "pbVar5 = pbVar19" identifier = identifier) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) })))) (break_statement "break;" break ;) })) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }" { (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) (goto_statement "goto joined_r0x00016a19;" goto statement_identifier ;) })) (expression_statement "iVar11 = (int)(char)bRam00080761;" (assignment_expression "iVar11 = (int)(char)bRam00080761" identifier = (cast_expression "(int)(char)bRam00080761" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bRam00080761" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5)" identifier = (call_expression "dcgettext(0,"end of file in string; \'%c\' inserted",5)" identifier (argument_list "(0,"end of file in string; \'%c\' inserted",5)" ( number_literal , (string_literal ""end of file in string; \'%c\' inserted"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar12,iVar11);" (call_expression "FUN_0002bc80(uVar12,iVar11)" identifier (argument_list "(uVar12,iVar11)" ( identifier , identifier ))) ;) (expression_statement "*pbVar5 = bRam00080761;" (assignment_expression "*pbVar5 = bRam00080761" (pointer_expression "*pbVar5" * identifier) = identifier) ;) (expression_statement "pbVar5 = pbVar19;" (assignment_expression "pbVar5 = pbVar19" identifier = identifier) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (labeled_statement "joined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;" statement_identifier : (expression_statement "pbVar17 = &DAT_00080780;" (assignment_expression "pbVar17 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;)) (expression_statement "pbVar18 = pbVar17;" (assignment_expression "pbVar18 = pbVar17" identifier = identifier) ;) (expression_statement "DAT_000887a8 = uVar10;" (assignment_expression "DAT_000887a8 = uVar10" identifier = identifier) ;) (if_statement "if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (compound_statement "{\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }" { (labeled_statement "LAB_000169c8:\n      DAT_00088784 = (byte *)0x0;" statement_identifier : (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_00016538:\n      return (int)pbVar5 - (int)param_2;" statement_identifier : (return_statement "return (int)pbVar5 - (int)param_2;" return (binary_expression "(int)pbVar5 - (int)param_2" (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) })) (goto_statement "goto LAB_0001649b;" goto statement_identifier ;)) (case_statement "case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );" case number_literal : (labeled_statement "code_r0x00016560:\n    pbVar5 = pbVar16;" statement_identifier : (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;)) (labeled_statement "code_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;" statement_identifier : (if_statement "if (pbVar17 <= pbVar18) goto code_r0x000165c0;" if (parenthesized_expression "(pbVar17 <= pbVar18)" ( (binary_expression "pbVar17 <= pbVar18" identifier <= identifier) )) (goto_statement "goto code_r0x000165c0;" goto statement_identifier ;))) (do_statement "do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );" do (compound_statement "{\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    }" { (expression_statement "pbVar19 = pbVar18 + 1;" (assignment_expression "pbVar19 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (while_statement "while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }" { (expression_statement "pbVar18 = pbVar19;" (assignment_expression "pbVar18 = pbVar19" identifier = identifier) ;) (if_statement "if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }" if (parenthesized_expression "(bVar3 == 10)" ( (binary_expression "bVar3 == 10" identifier == number_literal) )) (compound_statement "{\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }" { (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar16 = 10;" (assignment_expression "*pbVar16 = 10" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (if_statement "if (pbVar5 < pbVar4) goto code_r0x00016570;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto code_r0x00016570;" goto statement_identifier ;)) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;) (if_statement "if (bVar3 != 0x2a) goto code_r0x00016570;" if (parenthesized_expression "(bVar3 != 0x2a)" ( (binary_expression "bVar3 != 0x2a" identifier != number_literal) )) (goto_statement "goto code_r0x00016570;" goto statement_identifier ;)) (do_statement "do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);" do (compound_statement "{\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        }" { (if_statement "if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" if (parenthesized_expression "(pbVar19 < pbVar17)" ( (binary_expression "pbVar19 < pbVar17" identifier < identifier) )) (compound_statement "{\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }" { (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" else (compound_statement "{\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) goto code_r0x00016974;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00016974;" goto statement_identifier ;)) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) }))) (expression_statement "uVar10 = DAT_000887a4;" (assignment_expression "uVar10 = DAT_000887a4" identifier = identifier) ;) }) while (parenthesized_expression "(bVar3 == 0x2a)" ( (binary_expression "bVar3 == 0x2a" identifier == number_literal) )) ;) (expression_statement "pbVar18 = pbVar19 + -1;" (assignment_expression "pbVar18 = pbVar19 + -1" identifier = (binary_expression "pbVar19 + -1" identifier + number_literal)) ;) (if_statement "if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }" if (parenthesized_expression "(bVar3 == 0x2f)" ( (binary_expression "bVar3 == 0x2f" identifier == number_literal) )) (compound_statement "{\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }" { (expression_statement "DAT_000887a8 = DAT_000887a4;" (assignment_expression "DAT_000887a8 = DAT_000887a4" identifier = identifier) ;) (expression_statement "pbVar19[-1] = 0x20;" (assignment_expression "pbVar19[-1] = 0x20" (subscript_expression "pbVar19[-1]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001649b;" goto statement_identifier ;) })) (expression_statement "pbVar19[-1] = bVar3;" (assignment_expression "pbVar19[-1] = bVar3" (subscript_expression "pbVar19[-1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pbVar18 < pbVar17) break;" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;" statement_identifier : (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }" { (labeled_statement "code_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);" statement_identifier : (expression_statement "uVar12 = dcgettext(0,"end of file in comment",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in comment",5)" identifier = (call_expression "dcgettext(0,"end of file in comment",5)" identifier (argument_list "(0,"end of file in comment",5)" ( number_literal , (string_literal ""end of file in comment"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (goto_statement "goto LAB_00016992;" goto statement_identifier ;) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;)) (case_statement "case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;" case number_literal : (labeled_statement "code_r0x00016750:\n    uVar10 = DAT_000887a4;" statement_identifier : (expression_statement "uVar10 = DAT_000887a4;" (assignment_expression "uVar10 = DAT_000887a4" identifier = identifier) ;)) (expression_statement "pbVar19 = DAT_000887a0 + 1;" (assignment_expression "pbVar19 = DAT_000887a0 + 1" identifier = (binary_expression "DAT_000887a0 + 1" identifier + number_literal)) ;) (expression_statement "pbVar16 = DAT_000887a0 + 1;" (assignment_expression "pbVar16 = DAT_000887a0 + 1" identifier = (binary_expression "DAT_000887a0 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *DAT_000887a0;" (assignment_expression "bVar3 = *DAT_000887a0" identifier = (pointer_expression "*DAT_000887a0" * identifier)) ;) (expression_statement "DAT_000887a0 = pbVar19;" (assignment_expression "DAT_000887a0 = pbVar19" identifier = identifier) ;) (if_statement "if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }" if (parenthesized_expression "(*pbVar16 == 0)" ( (binary_expression "*pbVar16 == 0" (pointer_expression "*pbVar16" * identifier) == number_literal) )) (compound_statement "{\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }" { (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" identifier = number_literal) ;) (expression_statement "DAT_000887a8 = uVar10;" (assignment_expression "DAT_000887a8 = uVar10" identifier = identifier) ;) })) (labeled_statement "code_r0x0001677e:\n    *pbVar5 = bVar3;" statement_identifier : (expression_statement "*pbVar5 = bVar3;" (assignment_expression "*pbVar5 = bVar3" (pointer_expression "*pbVar5" * identifier) = identifier) ;)) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;)) })) (labeled_statement "joined_r0x00016e98:\n  pbVar19 = pbVar18;" statement_identifier : (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;)) (if_statement "if (pbVar5 < pbVar4) goto LAB_0001649b;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto LAB_0001649b;" goto statement_identifier ;)) (labeled_statement "LAB_00016520:\n  if (pbVar19 < pbVar17) {\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }" statement_identifier : (if_statement "if (pbVar19 < pbVar17) {\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }" if (parenthesized_expression "(pbVar19 < pbVar17)" ( (binary_expression "pbVar19 < pbVar17" identifier < identifier) )) (compound_statement "{\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }" { (expression_statement "DAT_00088780 = (int)pbVar17 - (int)pbVar19;" (assignment_expression "DAT_00088780 = (int)pbVar17 - (int)pbVar19" identifier = (binary_expression "(int)pbVar17 - (int)pbVar19" (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar19" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "DAT_00088784 = pbVar19;" (assignment_expression "DAT_00088784 = pbVar19" identifier = identifier) ;) (goto_statement "goto LAB_00016538;" goto statement_identifier ;) }))) (goto_statement "goto LAB_000169c8;" goto statement_identifier ;) (labeled_statement "code_r0x00017025:\n  if (pbVar5 < pbVar17) {\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }" statement_identifier : (if_statement "if (pbVar5 < pbVar17) {\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }" if (parenthesized_expression "(pbVar5 < pbVar17)" ( (binary_expression "pbVar5 < pbVar17" identifier < identifier) )) (compound_statement "{\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }" { (expression_statement "uVar10 = (uint)*pbVar5;" (assignment_expression "uVar10 = (uint)*pbVar5" identifier = (binary_expression "(uint)*pbVar5" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "cVar2 = (&DAT_000887c0)[uVar10];" (assignment_expression "cVar2 = (&DAT_000887c0)[uVar10]" identifier = (subscript_expression "(&DAT_000887c0)[uVar10]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ])) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }" else (compound_statement "{\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (if_statement "if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }" { (labeled_statement "code_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);" statement_identifier : (expression_statement "uVar12 = dcgettext(0,"end of file in multiline comment",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in multiline comment",5)" identifier = (call_expression "dcgettext(0,"end of file in multiline comment",5)" identifier (argument_list "(0,"end of file in multiline comment",5)" ( number_literal , (string_literal ""end of file in multiline comment"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "pbVar18 = pbVar8;" (assignment_expression "pbVar18 = pbVar8" identifier = identifier) ;) (labeled_statement "code_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;" statement_identifier : (expression_statement "uVar10 = (uint)DAT_000887e0;" (assignment_expression "uVar10 = (uint)DAT_000887e0" identifier = (cast_expression "(uint)DAT_000887e0" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (expression_statement "local_2c = 0x20;" (assignment_expression "local_2c = 0x20" identifier = number_literal) ;) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;) (goto_statement "goto code_r0x00016b78;" goto statement_identifier ;) })) (expression_statement "uVar10 = (uint)DAT_00080780;" (assignment_expression "uVar10 = (uint)DAT_00080780" identifier = (cast_expression "(uint)DAT_00080780" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "cVar2 = (&DAT_000887c0)[uVar10];" (assignment_expression "cVar2 = (&DAT_000887c0)[uVar10]" identifier = (subscript_expression "(&DAT_000887c0)[uVar10]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ])) ;) (expression_statement "pbVar5 = &DAT_00080781;" (assignment_expression "pbVar5 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) })))) (if_statement "if (cVar2 == '\n') {\n    DAT_00088788 = DAT_00088788 + 1;\n  }" if (parenthesized_expression "(cVar2 == '\n')" ( (binary_expression "cVar2 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n    DAT_00088788 = DAT_00088788 + 1;\n  }" { (expression_statement "DAT_00088788 = DAT_00088788 + 1;" (assignment_expression "DAT_00088788 = DAT_00088788 + 1" identifier = (binary_expression "DAT_00088788 + 1" identifier + number_literal)) ;) })) (if_statement "if (uVar10 == 0x2a) {\n    do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto code_r0x0001706e;\n    pbVar5 = pbVar18 + -1;\n    pbVar18[-1] = bVar3;\n  }" if (parenthesized_expression "(uVar10 == 0x2a)" ( (binary_expression "uVar10 == 0x2a" identifier == number_literal) )) (compound_statement "{\n    do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto code_r0x0001706e;\n    pbVar5 = pbVar18 + -1;\n    pbVar18[-1] = bVar3;\n  }" { (do_statement "do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);" do (compound_statement "{\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    }" { (if_statement "if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }" if (parenthesized_expression "(pbVar5 < pbVar17)" ( (binary_expression "pbVar5 < pbVar17" identifier < identifier) )) (compound_statement "{\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }" { (expression_statement "pbVar18 = pbVar5 + 1;" (assignment_expression "pbVar18 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar5;" (assignment_expression "bVar3 = *pbVar5" identifier = (pointer_expression "*pbVar5" * identifier)) ;) }) (else_clause "else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }" else (compound_statement "{\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) (if_statement "if (iVar11 == 0) goto code_r0x0001704e;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x0001704e;" goto statement_identifier ;)) }))) (expression_statement "pbVar5 = pbVar18;" (assignment_expression "pbVar5 = pbVar18" identifier = identifier) ;) }) while (parenthesized_expression "(bVar3 == 0x2a)" ( (binary_expression "bVar3 == 0x2a" identifier == number_literal) )) ;) (if_statement "if (bVar3 == 0x2f) goto code_r0x0001706e;" if (parenthesized_expression "(bVar3 == 0x2f)" ( (binary_expression "bVar3 == 0x2f" identifier == number_literal) )) (goto_statement "goto code_r0x0001706e;" goto statement_identifier ;)) (expression_statement "pbVar5 = pbVar18 + -1;" (assignment_expression "pbVar5 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) })) (goto_statement "goto code_r0x00017025;" goto statement_identifier ;) (labeled_statement "code_r0x0001751e:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  } while (cVar2 == '\x02');" statement_identifier : (do_statement "do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  } while (cVar2 == '\x02');" do (compound_statement "{\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }" { (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" else (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }" { (expression_statement "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5)" identifier = (call_expression "dcgettext(0,"end of file in comment; newline inserted",5)" identifier (argument_list "(0,"end of file in comment; newline inserted",5)" ( number_literal , (string_literal ""end of file in comment; newline inserted"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) (expression_statement "*local_30 = 10;" (assignment_expression "*local_30 = 10" (pointer_expression "*local_30" * identifier) = number_literal) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (goto_statement "goto joined_r0x00016c7b;" goto statement_identifier ;) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) }))) (expression_statement "cVar2 = (&DAT_000887c0)[bVar3];" (assignment_expression "cVar2 = (&DAT_000887c0)[bVar3]" identifier = (subscript_expression "(&DAT_000887c0)[bVar3]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ])) ;) }) while (parenthesized_expression "(cVar2 == '\x02')" ( (binary_expression "cVar2 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) ;)) (if_statement "if (((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)) {\n    pbVar18[-1] = bVar3;\n    pbVar18 = pbVar18 + -1;\n    DAT_000887a4 = 4;\n    DAT_000887a8 = 0xffffffff;\n    pbVar5 = local_30 + 1;\n    DAT_000887a0 = (byte *)0x5b030;\n    *local_30 = 9;\n    pbVar19 = pbVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    DAT_000887a0 = (byte *)0x5b031;\n    bVar3 = s__linefile_0005b02f[1];\n    goto code_r0x0001677e;\n  }" if (parenthesized_expression "(((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23))" ( (binary_expression "((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)" (parenthesized_expression "((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0))" ( (binary_expression "(bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)" (parenthesized_expression "(bVar3 - 0x30 < 10)" ( (binary_expression "bVar3 - 0x30 < 10" (binary_expression "bVar3 - 0x30" identifier - number_literal) < number_literal) )) && (parenthesized_expression "(DAT_000887a8 == 0)" ( (binary_expression "DAT_000887a8 == 0" identifier == number_literal) ))) )) && (parenthesized_expression "(local_2c == 0x23)" ( (binary_expression "local_2c == 0x23" identifier == number_literal) ))) )) (compound_statement "{\n    pbVar18[-1] = bVar3;\n    pbVar18 = pbVar18 + -1;\n    DAT_000887a4 = 4;\n    DAT_000887a8 = 0xffffffff;\n    pbVar5 = local_30 + 1;\n    DAT_000887a0 = (byte *)0x5b030;\n    *local_30 = 9;\n    pbVar19 = pbVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    DAT_000887a0 = (byte *)0x5b031;\n    bVar3 = s__linefile_0005b02f[1];\n    goto code_r0x0001677e;\n  }" { (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (expression_statement "DAT_000887a4 = 4;" (assignment_expression "DAT_000887a4 = 4" identifier = number_literal) ;) (expression_statement "DAT_000887a8 = 0xffffffff;" (assignment_expression "DAT_000887a8 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) (expression_statement "DAT_000887a0 = (byte *)0x5b030;" (assignment_expression "DAT_000887a0 = (byte *)0x5b030" identifier = (cast_expression "(byte *)0x5b030" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*local_30 = 9;" (assignment_expression "*local_30 = 9" (pointer_expression "*local_30" * identifier) = number_literal) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (expression_statement "DAT_000887a0 = (byte *)0x5b031;" (assignment_expression "DAT_000887a0 = (byte *)0x5b031" identifier = (cast_expression "(byte *)0x5b031" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar3 = s__linefile_0005b02f[1];" (assignment_expression "bVar3 = s__linefile_0005b02f[1]" identifier = (subscript_expression "s__linefile_0005b02f[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x0001677e;" goto statement_identifier ;) })) (while_statement "while (cVar2 != '\n') {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }" while (parenthesized_expression "(cVar2 != '\n')" ( (binary_expression "cVar2 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }" { (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" else (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }" { (expression_statement "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5)" identifier = (call_expression "dcgettext(0,"end of file in comment; newline inserted",5)" identifier (argument_list "(0,"end of file in comment; newline inserted",5)" ( number_literal , (string_literal ""end of file in comment; newline inserted"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) (expression_statement "*local_30 = 10;" (assignment_expression "*local_30 = 10" (pointer_expression "*local_30" * identifier) = number_literal) ;) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" identifier = identifier) ;) (expression_statement "pbVar17 = pbVar8;" (assignment_expression "pbVar17 = pbVar8" identifier = identifier) ;) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;) (if_statement "if (pbVar5 < pbVar4) goto code_r0x00017782;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto code_r0x00017782;" goto statement_identifier ;)) (goto_statement "goto LAB_000169c8;" goto statement_identifier ;) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) }))) (expression_statement "cVar2 = (&DAT_000887c0)[bVar3];" (assignment_expression "cVar2 = (&DAT_000887c0)[bVar3]" identifier = (subscript_expression "(&DAT_000887c0)[bVar3]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ])) ;) })) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (labeled_statement "code_r0x00017782:\n  DAT_000887a8 = 0;" statement_identifier : (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" identifier = number_literal) ;)) (goto_statement "goto code_r0x00016b4e;" goto statement_identifier ;) (labeled_statement "code_r0x00016d70:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  } while ((&DAT_000887c0)[bVar3] != '\n');" statement_identifier : (do_statement "do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  } while ((&DAT_000887c0)[bVar3] != '\n');" do (compound_statement "{\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  }" { (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" else (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }" { (expression_statement "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5)" identifier = (call_expression "dcgettext(0,"end of file in comment; newline inserted",5)" identifier (argument_list "(0,"end of file in comment; newline inserted",5)" ( number_literal , (string_literal ""end of file in comment; newline inserted"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "pbVar18 = pbVar8;" (assignment_expression "pbVar18 = pbVar8" identifier = identifier) ;) (expression_statement "pbVar17 = pbVar8;" (assignment_expression "pbVar17 = pbVar8" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) }))) }) while (parenthesized_expression "((&DAT_000887c0)[bVar3] != '\n')" ( (binary_expression "(&DAT_000887c0)[bVar3] != '\n'" (subscript_expression "(&DAT_000887c0)[bVar3]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ]) != (char_literal "'\n'" ' escape_sequence ')) )) ;)) (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" identifier = number_literal) ;) (expression_statement "*pbVar5 = 10;" (assignment_expression "*pbVar5 = 10" (pointer_expression "*pbVar5" * identifier) = number_literal) ;) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (labeled_statement "joined_r0x000172dc:\n  local_30 = pbVar5;" statement_identifier : (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;)) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (goto_statement "goto code_r0x00016b4e;" goto statement_identifier ;) (labeled_statement "code_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;" statement_identifier : (if_statement "if (bVar1 != 4) goto code_r0x000171b5;" if (parenthesized_expression "(bVar1 != 4)" ( (binary_expression "bVar1 != 4" identifier != number_literal) )) (goto_statement "goto code_r0x000171b5;" goto statement_identifier ;))) (goto_statement "goto code_r0x00016b84;" goto statement_identifier ;) (labeled_statement "code_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }" statement_identifier : (if_statement "if (local_2c == 0x2f) {\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }" if (parenthesized_expression "(local_2c == 0x2f)" ( (binary_expression "local_2c == 0x2f" identifier == number_literal) )) (compound_statement "{\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }" { (expression_statement "uVar10 = (uint)DAT_000887ef;" (assignment_expression "uVar10 = (uint)DAT_000887ef" identifier = (cast_expression "(uint)DAT_000887ef" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto code_r0x00016b78;" goto statement_identifier ;) }))) (if_statement "if ((bVar1 == 0xe) || (bVar1 == 3)) goto code_r0x00016b78;" if (parenthesized_expression "((bVar1 == 0xe) || (bVar1 == 3))" ( (binary_expression "(bVar1 == 0xe) || (bVar1 == 3)" (parenthesized_expression "(bVar1 == 0xe)" ( (binary_expression "bVar1 == 0xe" identifier == number_literal) )) || (parenthesized_expression "(bVar1 == 3)" ( (binary_expression "bVar1 == 3" identifier == number_literal) ))) )) (goto_statement "goto code_r0x00016b78;" goto statement_identifier ;)) (if_statement "if ((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)) {\n    DAT_000887a8 = 1;\n    *pbVar16 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;\n    pbVar19 = pbVar18;\n    goto joined_r0x000172dc;\n  }" if (parenthesized_expression "((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9))" ( (binary_expression "(DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)" (parenthesized_expression "(DAT_000887a8 == 2 || DAT_000887a8 == 0xb)" ( (binary_expression "DAT_000887a8 == 2 || DAT_000887a8 == 0xb" (binary_expression "DAT_000887a8 == 2" identifier == number_literal) || (binary_expression "DAT_000887a8 == 0xb" identifier == number_literal)) )) && (parenthesized_expression "(bVar1 == 9)" ( (binary_expression "bVar1 == 9" identifier == number_literal) ))) )) (compound_statement "{\n    DAT_000887a8 = 1;\n    *pbVar16 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;\n    pbVar19 = pbVar18;\n    goto joined_r0x000172dc;\n  }" { (expression_statement "DAT_000887a8 = 1;" (assignment_expression "DAT_000887a8 = 1" identifier = number_literal) ;) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (labeled_statement "joined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;" statement_identifier : (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;)) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;) })) (switch_statement "switch(DAT_000887a8) {\n  default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto code_r0x00016b78;\n  case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;\n  case 9:\n  case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;\n  case 0xb:\n    break;\n  }" switch (parenthesized_expression "(DAT_000887a8)" ( identifier )) (compound_statement "{\n  default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto code_r0x00016b78;\n  case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;\n  case 9:\n  case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;\n  case 0xb:\n    break;\n  }" { (case_statement "default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");" default : (expression_statement "uVar7 = DAT_000887a8;" (assignment_expression "uVar7 = DAT_000887a8" identifier = identifier) ;) (expression_statement "uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);" (assignment_expression "uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8)" identifier = (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8)" ( number_literal , (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal , identifier , identifier )))) ;) comment (expression_statement "FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");" (call_expression "FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c")" identifier (argument_list "(uVar12,uVar7,0x3cd,"../../gas/app.c")" ( identifier , identifier , number_literal , (string_literal ""../../gas/app.c"" " string_content ") ))) ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 3:\n    goto code_r0x00016b78;" case number_literal : (goto_statement "goto code_r0x00016b78;" goto statement_identifier ;)) (case_statement "case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;" case number_literal : (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (compound_statement "{\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }" { (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (expression_statement "uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];" (assignment_expression "uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c]" identifier = (subscript_expression "(uint)(byte)(&DAT_000887c0)[local_2c]" (call_expression "(uint)(byte)(&DAT_000887c0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) ))) [ identifier ])) ;) (goto_statement "goto code_r0x00016b78;" goto statement_identifier ;)) (case_statement "case 9:" case number_literal :) (case_statement "case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;" case number_literal : (expression_statement "DAT_000887a8 = 10;" (assignment_expression "DAT_000887a8 = 10" identifier = number_literal) ;) (goto_statement "goto code_r0x00016b78;" goto statement_identifier ;)) (case_statement "case 0xb:\n    break;" case number_literal : (break_statement "break;" break ;)) })) (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;) (labeled_statement "code_r0x00017227:\n  pbVar18[-1] = bVar3;" statement_identifier : (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;) (while_statement "while ((byte)(&DAT_000887c0)[pbVar8[1]] < 2) {\ncode_r0x0001787c:\n    pbVar8 = pbVar19;\n    pbVar19 = pbVar8 + 1;\n    if (pbVar17 == pbVar19) break;\n  }" while (parenthesized_expression "((byte)(&DAT_000887c0)[pbVar8[1]] < 2)" ( (binary_expression "(byte)(&DAT_000887c0)[pbVar8[1]] < 2" (subscript_expression "(byte)(&DAT_000887c0)[pbVar8[1]]" (call_expression "(byte)(&DAT_000887c0)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) ))) [ (subscript_expression "pbVar8[1]" identifier [ number_literal ]) ]) < number_literal) )) (compound_statement "{\ncode_r0x0001787c:\n    pbVar8 = pbVar19;\n    pbVar19 = pbVar8 + 1;\n    if (pbVar17 == pbVar19) break;\n  }" { (labeled_statement "code_r0x0001787c:\n    pbVar8 = pbVar19;" statement_identifier : (expression_statement "pbVar8 = pbVar19;" (assignment_expression "pbVar8 = pbVar19" identifier = identifier) ;)) (expression_statement "pbVar19 = pbVar8 + 1;" (assignment_expression "pbVar19 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar17 == pbVar19) break;" if (parenthesized_expression "(pbVar17 == pbVar19)" ( (binary_expression "pbVar17 == pbVar19" identifier == identifier) )) (break_statement "break;" break ;)) })) (if_statement "if (pbVar19 <= pbVar18) {\n    pbVar8 = pbVar19;\n  }" if (parenthesized_expression "(pbVar19 <= pbVar18)" ( (binary_expression "pbVar19 <= pbVar18" identifier <= identifier) )) (compound_statement "{\n    pbVar8 = pbVar19;\n  }" { (expression_statement "pbVar8 = pbVar19;" (assignment_expression "pbVar8 = pbVar19" identifier = identifier) ;) })) (expression_statement "iVar11 = (int)pbVar4 - (int)pbVar16;" (assignment_expression "iVar11 = (int)pbVar4 - (int)pbVar16" identifier = (binary_expression "(int)pbVar4 - (int)pbVar16" (cast_expression "(int)pbVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar16" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "sVar20 = (int)pbVar8 - (int)pbVar18;" (assignment_expression "sVar20 = (int)pbVar8 - (int)pbVar18" identifier = (binary_expression "(int)pbVar8 - (int)pbVar18" (cast_expression "(int)pbVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar11 <= (int)sVar20) {\ncode_r0x000178a1:\n    sVar20 = iVar11 - 1;\n  }" if (parenthesized_expression "(iVar11 <= (int)sVar20)" ( (binary_expression "iVar11 <= (int)sVar20" identifier <= (cast_expression "(int)sVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\ncode_r0x000178a1:\n    sVar20 = iVar11 - 1;\n  }" { (labeled_statement "code_r0x000178a1:\n    sVar20 = iVar11 - 1;" statement_identifier : (expression_statement "sVar20 = iVar11 - 1;" (assignment_expression "sVar20 = iVar11 - 1" identifier = (binary_expression "iVar11 - 1" identifier - number_literal)) ;)) })) (if_statement "if (0 < (int)sVar20) {\n    *pbVar16 = bVar3;\n    memcpy(pbVar5,pbVar18,sVar20);\n    pbVar5 = pbVar5 + sVar20;\n    pbVar19 = pbVar18 + sVar20;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }\n  }" if (parenthesized_expression "(0 < (int)sVar20)" ( (binary_expression "0 < (int)sVar20" number_literal < (cast_expression "(int)sVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    *pbVar16 = bVar3;\n    memcpy(pbVar5,pbVar18,sVar20);\n    pbVar5 = pbVar5 + sVar20;\n    pbVar19 = pbVar18 + sVar20;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }\n  }" { (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (expression_statement "memcpy(pbVar5,pbVar18,sVar20);" (call_expression "memcpy(pbVar5,pbVar18,sVar20)" identifier (argument_list "(pbVar5,pbVar18,sVar20)" ( identifier , identifier , identifier ))) ;) (expression_statement "pbVar5 = pbVar5 + sVar20;" (assignment_expression "pbVar5 = pbVar5 + sVar20" identifier = (binary_expression "pbVar5 + sVar20" identifier + identifier)) ;) (expression_statement "pbVar19 = pbVar18 + sVar20;" (assignment_expression "pbVar19 = pbVar18 + sVar20" identifier = (binary_expression "pbVar18 + sVar20" identifier + identifier)) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (expression_statement "local_30 = pbVar5 + 1;" (assignment_expression "local_30 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }" if (parenthesized_expression "(pbVar19 < pbVar17)" ( (binary_expression "pbVar19 < pbVar17" identifier < identifier) )) (compound_statement "{\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }" { (expression_statement "local_2c = (uint)*pbVar19;" (assignment_expression "local_2c = (uint)*pbVar19" identifier = (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pbVar18 = pbVar19 + 1;" (assignment_expression "pbVar18 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) }) (else_clause "else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }" else (compound_statement "{\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }" { (expression_statement "pbVar18 = &DAT_00080780;" (assignment_expression "pbVar18 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000,pbVar5,pbVar5)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal , identifier , identifier )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) (if_statement "if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }" { (expression_statement "local_2c = 0xffffffff;" (assignment_expression "local_2c = 0xffffffff" identifier = number_literal) ;) (expression_statement "pbVar17 = pbVar18;" (assignment_expression "pbVar17 = pbVar18" identifier = identifier) ;) }) (else_clause "else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }" else (compound_statement "{\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }" { (expression_statement "local_2c = (uint)DAT_00080780;" (assignment_expression "local_2c = (uint)DAT_00080780" identifier = (cast_expression "(uint)DAT_00080780" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) }))) }))) })) (labeled_statement "LAB_00016fab:\n  pbVar5 = pbVar16;" statement_identifier : (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;)) (if_statement "if (DAT_000887a8 == 0) {\n    DAT_000887a8 = 0xb;\n  }\n  else {\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }" if (parenthesized_expression "(DAT_000887a8 == 0)" ( (binary_expression "DAT_000887a8 == 0" identifier == number_literal) )) (compound_statement "{\n    DAT_000887a8 = 0xb;\n  }" { (expression_statement "DAT_000887a8 = 0xb;" (assignment_expression "DAT_000887a8 = 0xb" identifier = number_literal) ;) }) (else_clause "else {\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }" else (compound_statement "{\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }" { (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (if_statement "if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }" if (parenthesized_expression "(DAT_000887a8 == 1)" ( (binary_expression "DAT_000887a8 == 1" identifier == number_literal) )) (compound_statement "{\n      DAT_000887a8 = 2;\n    }" { (expression_statement "DAT_000887a8 = 2;" (assignment_expression "DAT_000887a8 = 2" identifier = number_literal) ;) }) (else_clause "else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }" else (compound_statement "{\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }" { (labeled_statement "code_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" statement_identifier : (if_statement "if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" if (parenthesized_expression "(uVar10 == 9)" ( (binary_expression "uVar10 == 9" identifier == number_literal) )) (compound_statement "{\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }" { (if_statement "if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;" if (parenthesized_expression "((&DAT_000887c0)[local_2c] != '\x01')" ( (binary_expression "(&DAT_000887c0)[local_2c] != '\x01'" (subscript_expression "(&DAT_000887c0)[local_2c]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ]) != (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001743a;" goto statement_identifier ;)) }) (else_clause "else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" else (if_statement "if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" if (parenthesized_expression "(uVar10 == 10)" ( (binary_expression "uVar10 == 10" identifier == number_literal) )) (compound_statement "{\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" { (if_statement "if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }" if (parenthesized_expression "(local_2c == 0x5c)" ( (binary_expression "local_2c == 0x5c" identifier == number_literal) )) (compound_statement "{\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }" { (if_statement "if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }" if (parenthesized_expression "(pbVar4 <= local_30)" ( (binary_expression "pbVar4 <= local_30" identifier <= identifier) )) (compound_statement "{\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }" { (expression_statement "pbVar18[-1] = 0x5c;" (assignment_expression "pbVar18[-1] = 0x5c" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) (expression_statement "*pbVar5 = 0x20;" (assignment_expression "*pbVar5 = 0x20" (pointer_expression "*pbVar5" * identifier) = number_literal) ;) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (expression_statement "local_30 = local_30 + 1;" (assignment_expression "local_30 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_0001743a:\n        DAT_000887a8 = 3;" statement_identifier : (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;)) }))))) }))) }))) (expression_statement "*pbVar5 = (byte)local_2c;" (assignment_expression "*pbVar5 = (byte)local_2c" (pointer_expression "*pbVar5" * identifier) = (cast_expression "(byte)local_2c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (goto_statement "goto joined_r0x00016e98;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nsize_t do_scrub_chars(_func_size_t_char_ptr_size_t *get,char *tostart,size_t tolen)\n\n{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  uint uVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  uint uVar9;\n  size_t sVar10;\n  uint *puVar11;\n  byte *pbVar12;\n  char *pcVar13;\n  char *pcVar14;\n  char *pcVar15;\n  size_t sVar16;\n  uint *puVar17;\n  char *pcVar18;\n  int iVar19;\n  undefined4 uVar20;\n  bool bVar21;\n  char *local_38;\n  byte *local_30;\n  uint local_2c;\n  \n  pbVar4 = (byte *)(tostart + tolen);\n  pbVar5 = (byte *)tostart;\n  if (saved_input == (char *)0x0) {\n    sVar10 = (*get)(input_buffer,0x8000);\n    if (sVar10 == 0) {\n      return 0;\n    }\n    pcVar13 = input_buffer + sVar10;\n    iVar19 = state;\n    pcVar18 = input_buffer;\n  }\n  else {\n    pcVar13 = saved_input + saved_input_len;\n    iVar19 = state;\n    pcVar18 = saved_input;\n  }\nLAB_0001649b:\n  pcVar14 = pcVar18;\n  pbVar12 = pbVar5;\n  switch(iVar19) {\n  default:\n_L47:\n    pcVar15 = input_buffer;\n    local_30 = pbVar5;\nLAB_00016b4e:\n    if (pcVar14 < pcVar13) {\n      bVar3 = *pcVar14;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        pbVar5 = local_30;\n        if (state == 0) goto LAB_00016992;\n        pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        as_warn(pcVar18);\n        state = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    pcVar18 = (char *)((byte *)pcVar14 + 1);\n    local_2c = (uint)bVar3;\n    pbVar7 = (byte *)(input_buffer + 1);\n    uVar9 = (uint)(byte)lex[local_2c];\n    pbVar5 = local_30;\n_L101:\n    pbVar12 = pbVar5;\n    if ((byte)uVar9 < 0xf) {\nLAB_00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar12;\n      switch((&switchD_00016b8d::switchdataD_0005b1a4)[uVar9] + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar12 + 1;\n        if (state != 10) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }\n          iVar19 = state;\n          local_38 = out_buf;\n          do {\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          } while (uVar9 == 0);\n          bVar21 = (uVar6 & 0x8080) == 0;\n          if (bVar21) {\n            uVar9 = uVar9 >> 0x10;\n          }\n          puVar17 = (uint *)((int)puVar11 + 6);\n          if (!bVar21) {\n            puVar17 = puVar11 + 1;\n          }\n          if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)\n          {\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }\n          state = -1;\n          if (iVar19 == 9) {\n            iVar19 = 3;\n          }\n          out_string = out_buf + 1;\n          old_state = iVar19;\n          *pbVar12 = out_buf[0];\n          pcVar14 = pcVar18;\n          if (pbVar5 < pbVar4) goto _L52;\n          goto LAB_00016520;\n        }\n        ((byte *)pcVar18)[-1] = bVar3;\n        state = 3;\n        *pbVar12 = 0x20;\n        pcVar14 = (char *)((byte *)pcVar18 + -1);\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar12 + 1;\n        goto LAB_00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        state = 1;\n        *pbVar12 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (add_newlines != 0) {\n          add_newlines = add_newlines + -1;\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n        }\n        break;\n      case 0x16e62:\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        else if (state != 3) {\n          state = 1;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar12 + 1;\n        do_scrub_chars::quotechar = bVar3;\n        if (state == 10) {\n          state = 3;\n          ((byte *)pcVar18)[-1] = bVar3;\n          *pbVar12 = 0x20;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if ((byte *)pcVar18 + -1 < pcVar13) {\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }\n          else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }\n          old_state = 3;\n          pbVar7 = pbVar12 + 2;\n          pbVar12 = pbVar5;\n        }\n        else {\n          pbVar7 = pbVar5;\n          if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }\n        }\n        state = 5;\n        *pbVar12 = (byte)local_2c;\n        pbVar5 = pbVar7;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = lex[local_2c];\n          uVar9 = (uint)bVar1;\n          pbVar5 = pbVar12;\n        } while (bVar1 == 2);\n        if (state != 0) goto code_r0x000171ad;\n        state = 1;\n        goto LAB_00017227;\n      case 0x16f61:\n        pbVar5 = pbVar12 + 1;\n        if (state == 10) {\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          state = 3;\n          *pbVar12 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (state == 3) {\n          state = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (mri_state != (char *)0x0) goto LAB_00016fab;\n        if ((pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2))\n        goto LAB_0001787c;\n        iVar19 = (int)pbVar4 - (int)pbVar12;\n        if (iVar19 < 1) goto LAB_000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pcVar18 < pcVar13) {\n          pbVar5 = (byte *)pcVar18 + 1;\n          bVar1 = *pcVar18;\nLAB_00016ff8:\n          if (bVar1 == 0x2a) goto LAB_00017025;\n          pcVar15 = (char *)(pbVar5 + -1);\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          saved_input = (char *)0x0;\n          sVar10 = (*get)(input_buffer,0x8000);\n          pcVar13 = input_buffer + sVar10;\n          pbVar5 = pbVar7;\n          bVar1 = input_buffer[0];\n          if (sVar10 != 0) goto LAB_00016ff8;\n        }\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        pcVar18 = pcVar15;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          pcVar18 = (char *)((byte *)pcVar18 + 1);\n          if (bVar3 == 0x2a) {\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n          pbVar5 = pbVar12;\n        }\nLAB_0001708b:\n        iVar19 = state;\n        if (1 < (uint)state) {\n          pcVar14 = strchr(i386_comment_chars,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar14 != (char *)0x0) goto LAB_00016d70;\n          goto LAB_0001741d;\n        }\n        local_30 = pbVar5;\n        goto LAB_0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      state = 0;\n      pbVar5 = pbVar12 + 1;\n      *pbVar12 = bVar3;\n      pcVar14 = pcVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar12 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)tostart;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      pbVar12 = pbVar5;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    uVar9 = (uint)bVar3;\n    pbVar5 = pbVar12 + 1;\n    if (uVar9 - 0x30 < 10) {\n      *pbVar12 = bVar3;\n      iVar19 = state;\n      break;\n    }\n    pcVar14 = input_buffer;\n    while (lex[uVar9] == '\x02') {\n      while (pcVar18 < pcVar13) {\n        uVar9 = (uint)(byte)*pcVar18;\n        pcVar18 = (char *)((byte *)pcVar18 + 1);\n        if (lex[uVar9] != '\x02') goto LAB_000167d8;\n      }\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        uVar9 = 0xffffffff;\n        goto LAB_00016b1d;\n      }\n      pcVar18 = input_buffer + 1;\n      uVar9 = (uint)(byte)input_buffer[0];\n    }\nLAB_000167d8:\n    if (uVar9 == 0x22) {\n      do_scrub_chars::quotechar = '\"';\n      state = 5;\n      old_state = 3;\n      *pbVar12 = 0x22;\njoined_r0x0001680c:\n      pcVar14 = pcVar18;\n      if (pbVar5 < pbVar4) goto _L50;\n    }\n    else {\n      pcVar14 = pcVar18;\n      while (uVar9 != 0xffffffff) {\n        while( true ) {\n          if (uVar9 == 10) goto LAB_00016b1d;\n          if (pcVar13 <= pcVar14) break;\n          uVar9 = (uint)(byte)*pcVar14;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n          if (uVar9 == 0xffffffff) goto LAB_00016b1d;\n        }\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        if (sVar10 == 0) {\n          uVar9 = 0xffffffff;\n          pcVar14 = input_buffer;\n        }\n        else {\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }\n      }\nLAB_00016b1d:\n      state = 0;\n      *pbVar12 = (byte)uVar9;\n      if (pbVar5 < pbVar4) goto _L47;\n    }\n    goto LAB_00016520;\n  case 5:\n_L50:\n    pbVar12 = pbVar5;\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n      pcVar14 = pcVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != do_scrub_chars::quotechar)) &&\n         (pbVar7 = (byte *)pcVar18, bVar3 != 10)) {\n        while ((pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c))) {\n          if ((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)) break;\n        }\n        sVar16 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar8 - (int)pcVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar16 = (int)pbVar8 - (int)pcVar18;\n        }\n        if (0 < (int)sVar16) {\n          pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n          memcpy(pbVar5,pcVar18,sVar16);\n          pbVar5 = pbVar5 + sVar16;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar12 = pbVar5;\n          if (pcVar13 <= pcVar14) goto LAB_00016a7d;\n        }\n      }\n      pbVar5 = pbVar12 + 1;\n      bVar3 = *pcVar14;\n    }\n    else {\nLAB_00016a7d:\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pbVar5 = pbVar12 + 1;\n      if (sVar10 == 0) {\n        iVar19 = (int)do_scrub_chars::quotechar;\n        pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        as_warn(pcVar18,iVar19);\n        iVar19 = old_state;\n        do_scrub_chars::lexical_block_16::one_char_buf[0] = '\n';\n        state = old_state;\n        *pbVar12 = do_scrub_chars::quotechar;\n        if (pbVar4 <= pbVar5) {\n          saved_input_len = 1;\n          saved_input = do_scrub_chars::lexical_block_16::one_char_buf;\n          goto LAB_00016538;\n        }\n        pcVar13 = &do_scrub_chars::quotechar;\n        pcVar18 = do_scrub_chars::lexical_block_16::one_char_buf;\n        goto LAB_0001649b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    iVar19 = old_state;\n    pcVar18 = (char *)((byte *)pcVar14 + 1);\n    if ((int)do_scrub_chars::quotechar == (uint)bVar3) {\n      state = old_state;\n      *pbVar12 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        state = 6;\n        *pbVar12 = 0x5c;\n        pcVar14 = pcVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto _L48;\n      }\n      *pbVar12 = bVar3;\n      iVar19 = state;\n    }\n    break;\n  case 6:\n_L48:\n    state = 5;\n    pbVar12 = pbVar5 + 1;\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\njoined_r0x00016a19:\n      pcVar18 = (char *)((byte *)pcVar18 + 1);\n      if (bVar3 == 10) {\n        ((byte *)pcVar18)[-1] = 0x6e;\n        pcVar18 = (char *)((byte *)pcVar18 + -1);\n        add_newlines = add_newlines + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      break;\n    }\n    saved_input = (char *)0x0;\n    sVar10 = (*get)(input_buffer,0x8000);\n    if (sVar10 != 0) {\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      goto joined_r0x00016a19;\n    }\n    iVar19 = (int)do_scrub_chars::quotechar;\n    pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    as_warn(pcVar18,iVar19);\n    *pbVar5 = do_scrub_chars::quotechar;\n    pbVar5 = pbVar12;\n    iVar19 = state;\njoined_r0x00016c7b:\n    pcVar13 = input_buffer;\n    pcVar18 = pcVar13;\n    state = iVar19;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      saved_input = (char *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)tostart;\n    }\n    goto LAB_0001649b;\n  case -2:\n_L53:\n    pbVar5 = pbVar12;\nLAB_00016570:\n    if (pcVar13 <= pcVar18) goto LAB_000165c0;\n    do {\n      pbVar12 = pbVar5;\n      bVar3 = *pcVar18;\n      while( true ) {\n        pcVar14 = (char *)((byte *)pcVar18 + 1);\n        pcVar18 = pcVar14;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar12 + 1;\n          *pbVar12 = 10;\n          if (pbVar5 < pbVar4) goto LAB_00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar12;\n        if (bVar3 != 0x2a) goto LAB_00016570;\n        do {\n          if (pcVar14 < pcVar13) {\n            bVar3 = *pcVar14;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          iVar19 = old_state;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n        } while (bVar3 == 0x2a);\n        pcVar18 = (char *)((byte *)pcVar14 + -1);\n        if (bVar3 == 0x2f) {\n          state = old_state;\n          ((byte *)pcVar14)[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        ((byte *)pcVar14)[-1] = bVar3;\n        if (pcVar18 < pcVar13) break;\nLAB_000165c0:\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        if (sVar10 == 0) {\nLAB_00016974:\n          pcVar18 = (char *)dcgettext(0,"end of file in comment",5);\n          as_warn(pcVar18);\n          goto LAB_00016992;\n        }\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = input_buffer;\n        pbVar12 = pbVar5;\n        bVar3 = input_buffer[0];\n      }\n    } while( true );\n  case -1:\n_L52:\n    iVar19 = old_state;\n    pcVar14 = out_string + 1;\n    pcVar15 = out_string + 1;\n    bVar3 = *out_string;\n    out_string = pcVar14;\n    if (*pcVar15 == '\0') {\n      old_state = 3;\n      state = iVar19;\n    }\nLAB_0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    iVar19 = state;\n  }\njoined_r0x00016e98:\n  pcVar14 = pcVar18;\n  if (pbVar5 < pbVar4) goto LAB_0001649b;\nLAB_00016520:\n  if (pcVar14 < pcVar13) {\n    saved_input_len = (int)pcVar13 - (int)pcVar14;\n    saved_input = pcVar14;\n    goto LAB_00016538;\n  }\n  goto LAB_000169c8;\nLAB_00017025:\n  if (pbVar5 < pcVar13) {\n    uVar9 = (uint)*pbVar5;\n    cVar2 = lex[uVar9];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    saved_input = (char *)0x0;\n    sVar10 = (*get)(input_buffer,0x8000);\n    pcVar13 = input_buffer + sVar10;\n    if (sVar10 == 0) {\nLAB_0001704e:\n      pcVar18 = (char *)dcgettext(0,"end of file in multiline comment",5);\n      as_warn(pcVar18);\n      pcVar18 = pcVar15;\nLAB_0001706e:\n      uVar9 = (uint)(byte)lex[0x20];\n      local_2c = 0x20;\n      pbVar5 = pbVar12;\n      goto _L101;\n    }\n    uVar9 = (uint)(byte)input_buffer[0];\n    cVar2 = lex[uVar9];\n    pbVar5 = pbVar7;\n  }\n  if (cVar2 == '\n') {\n    add_newlines = add_newlines + 1;\n  }\n  if (uVar9 == 0x2a) {\n    do {\n      if (pbVar5 < pcVar13) {\n        pcVar18 = (char *)(pbVar5 + 1);\n        bVar3 = *pbVar5;\n      }\n      else {\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = (char *)pbVar7;\n        bVar3 = input_buffer[0];\n        if (sVar10 == 0) goto LAB_0001704e;\n      }\n      pbVar5 = (byte *)pcVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto LAB_0001706e;\n    pbVar5 = (byte *)pcVar18 + -1;\n    ((byte *)pcVar18)[-1] = bVar3;\n  }\n  goto LAB_00017025;\nLAB_0001751e:\n  do {\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        iVar19 = state;\n        goto joined_r0x00016c7b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    cVar2 = lex[bVar3];\n  } while (cVar2 == '\x02');\n  if (((bVar3 - 0x30 < 10) && (state == 0)) && (local_2c == 0x23)) {\n    ((byte *)pcVar18)[-1] = bVar3;\n    pcVar18 = (char *)((byte *)pcVar18 + -1);\n    old_state = 4;\n    state = -1;\n    pbVar5 = local_30 + 1;\n    out_string = ".linefile ";\n    *local_30 = 9;\n    pcVar14 = pcVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    out_string = "linefile ";\n    bVar3 = s__linefile_0005b02f[1];\n    goto LAB_0001677e;\n  }\n  while (cVar2 != '\n') {\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pcVar14 = pcVar15;\n        pcVar13 = pcVar15;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto LAB_00017782;\n        goto LAB_000169c8;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    cVar2 = lex[bVar3];\n  }\n  ((byte *)pcVar18)[-1] = bVar3;\n  pcVar14 = (char *)((byte *)pcVar18 + -1);\nLAB_00017782:\n  state = 0;\n  goto LAB_00016b4e;\nLAB_00016d70:\n  do {\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pcVar18 = pcVar15;\n        pcVar13 = pcVar15;\n        break;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n  } while (lex[bVar3] != '\n');\n  state = 0;\n  *pbVar5 = 10;\n  pbVar5 = local_30;\n  pcVar14 = pcVar18;\njoined_r0x000172dc:\n  local_30 = pbVar5;\n  if (pbVar4 <= pbVar5) goto LAB_00016520;\n  goto LAB_00016b4e;\ncode_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;\n  goto LAB_00016b84;\ncode_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar9 = (uint)(byte)lex[0x2f];\n    goto _L101;\n  }\n  if ((bVar1 == 0xe) || (bVar1 == 3)) goto _L101;\n  if ((state == 2 || state == 0xb) && (bVar1 == 9)) {\n    state = 1;\n    *pbVar12 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar12 + 1;\n    pcVar14 = pcVar18;\n    goto joined_r0x000172dc;\n  }\n  switch(state) {\n  default:\n    iVar19 = state;\n    pcVar18 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9,\n                                state);\n                    /* WARNING: Subroutine does not return */\n    as_fatal(pcVar18,iVar19,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto _L101;\n  case 2:\n    state = 3;\n    pbVar5 = pbVar12 + 1;\n    if (pbVar4 <= pbVar5) {\n      pcVar14 = (char *)((byte *)pcVar18 + -1);\n      ((byte *)pcVar18)[-1] = bVar3;\n      *pbVar12 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar12 = 0x20;\n    uVar9 = (uint)(byte)lex[local_2c];\n    goto _L101;\n  case 9:\n  case 10:\n    state = 10;\n    goto _L101;\n  case 0xb:\n    break;\n  }\n  state = 3;\nLAB_00017227:\n  ((byte *)pcVar18)[-1] = bVar3;\n  *pbVar12 = 0x20;\n  pbVar5 = pbVar12 + 1;\n  pcVar14 = (char *)((byte *)pcVar18 + -1);\n  goto joined_r0x000172dc;\n  while ((byte)lex[pbVar8[1]] < 2) {\nLAB_0001787c:\n    pbVar8 = pbVar7;\n    pbVar7 = pbVar8 + 1;\n    if ((byte *)pcVar13 == pbVar7) break;\n  }\n  if (pbVar7 <= pcVar18) {\n    pbVar8 = pbVar7;\n  }\n  iVar19 = (int)pbVar4 - (int)pbVar12;\n  sVar16 = (int)pbVar8 - (int)pcVar18;\n  if (iVar19 <= (int)sVar16) {\nLAB_000178a1:\n    sVar16 = iVar19 - 1;\n  }\n  if (0 < (int)sVar16) {\n    *pbVar12 = bVar3;\n    memcpy(pbVar5,pcVar18,sVar16);\n    pbVar5 = pbVar5 + sVar16;\n    pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pcVar14 < pcVar13) {\n      local_2c = (uint)(byte)*pcVar14;\n      pcVar18 = (char *)((byte *)pcVar14 + 1);\n      pbVar12 = pbVar5;\n    }\n    else {\n      pcVar18 = input_buffer;\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      pbVar12 = pbVar5;\n      if (sVar10 == 0) {\n        local_2c = 0xffffffff;\n        pcVar13 = pcVar18;\n      }\n      else {\n        local_2c = (uint)(byte)input_buffer[0];\n        pcVar18 = input_buffer + 1;\n      }\n    }\n  }\nLAB_00016fab:\n  pbVar5 = pbVar12;\n  if (state == 0) {\n    state = 0xb;\n  }\n  else {\n    iVar19 = state;\n    if (state == 1) {\n      state = 2;\n    }\n    else {\nLAB_0001741d:\n      if (iVar19 == 9) {\n        if (lex[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (iVar19 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        state = 3;\n      }\n    }\n  }\n  *pbVar5 = (byte)local_2c;\n  pbVar5 = local_30;\n  iVar19 = state;\n  goto joined_r0x00016e98;\n}\n\n" comment comment (function_definition "size_t do_scrub_chars(_func_size_t_char_ptr_size_t *get,char *tostart,size_t tolen)\n\n{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  uint uVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  uint uVar9;\n  size_t sVar10;\n  uint *puVar11;\n  byte *pbVar12;\n  char *pcVar13;\n  char *pcVar14;\n  char *pcVar15;\n  size_t sVar16;\n  uint *puVar17;\n  char *pcVar18;\n  int iVar19;\n  undefined4 uVar20;\n  bool bVar21;\n  char *local_38;\n  byte *local_30;\n  uint local_2c;\n  \n  pbVar4 = (byte *)(tostart + tolen);\n  pbVar5 = (byte *)tostart;\n  if (saved_input == (char *)0x0) {\n    sVar10 = (*get)(input_buffer,0x8000);\n    if (sVar10 == 0) {\n      return 0;\n    }\n    pcVar13 = input_buffer + sVar10;\n    iVar19 = state;\n    pcVar18 = input_buffer;\n  }\n  else {\n    pcVar13 = saved_input + saved_input_len;\n    iVar19 = state;\n    pcVar18 = saved_input;\n  }\nLAB_0001649b:\n  pcVar14 = pcVar18;\n  pbVar12 = pbVar5;\n  switch(iVar19) {\n  default:\n_L47:\n    pcVar15 = input_buffer;\n    local_30 = pbVar5;\nLAB_00016b4e:\n    if (pcVar14 < pcVar13) {\n      bVar3 = *pcVar14;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        pbVar5 = local_30;\n        if (state == 0) goto LAB_00016992;\n        pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        as_warn(pcVar18);\n        state = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    pcVar18 = (char *)((byte *)pcVar14 + 1);\n    local_2c = (uint)bVar3;\n    pbVar7 = (byte *)(input_buffer + 1);\n    uVar9 = (uint)(byte)lex[local_2c];\n    pbVar5 = local_30;\n_L101:\n    pbVar12 = pbVar5;\n    if ((byte)uVar9 < 0xf) {\nLAB_00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar12;\n      switch((&switchD_00016b8d::switchdataD_0005b1a4)[uVar9] + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar12 + 1;\n        if (state != 10) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }\n          iVar19 = state;\n          local_38 = out_buf;\n          do {\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          } while (uVar9 == 0);\n          bVar21 = (uVar6 & 0x8080) == 0;\n          if (bVar21) {\n            uVar9 = uVar9 >> 0x10;\n          }\n          puVar17 = (uint *)((int)puVar11 + 6);\n          if (!bVar21) {\n            puVar17 = puVar11 + 1;\n          }\n          if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)\n          {\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }\n          state = -1;\n          if (iVar19 == 9) {\n            iVar19 = 3;\n          }\n          out_string = out_buf + 1;\n          old_state = iVar19;\n          *pbVar12 = out_buf[0];\n          pcVar14 = pcVar18;\n          if (pbVar5 < pbVar4) goto _L52;\n          goto LAB_00016520;\n        }\n        ((byte *)pcVar18)[-1] = bVar3;\n        state = 3;\n        *pbVar12 = 0x20;\n        pcVar14 = (char *)((byte *)pcVar18 + -1);\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar12 + 1;\n        goto LAB_00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        state = 1;\n        *pbVar12 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (add_newlines != 0) {\n          add_newlines = add_newlines + -1;\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n        }\n        break;\n      case 0x16e62:\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        else if (state != 3) {\n          state = 1;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar12 + 1;\n        do_scrub_chars::quotechar = bVar3;\n        if (state == 10) {\n          state = 3;\n          ((byte *)pcVar18)[-1] = bVar3;\n          *pbVar12 = 0x20;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if ((byte *)pcVar18 + -1 < pcVar13) {\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }\n          else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }\n          old_state = 3;\n          pbVar7 = pbVar12 + 2;\n          pbVar12 = pbVar5;\n        }\n        else {\n          pbVar7 = pbVar5;\n          if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }\n        }\n        state = 5;\n        *pbVar12 = (byte)local_2c;\n        pbVar5 = pbVar7;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = lex[local_2c];\n          uVar9 = (uint)bVar1;\n          pbVar5 = pbVar12;\n        } while (bVar1 == 2);\n        if (state != 0) goto code_r0x000171ad;\n        state = 1;\n        goto LAB_00017227;\n      case 0x16f61:\n        pbVar5 = pbVar12 + 1;\n        if (state == 10) {\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          state = 3;\n          *pbVar12 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (state == 3) {\n          state = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (mri_state != (char *)0x0) goto LAB_00016fab;\n        if ((pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2))\n        goto LAB_0001787c;\n        iVar19 = (int)pbVar4 - (int)pbVar12;\n        if (iVar19 < 1) goto LAB_000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pcVar18 < pcVar13) {\n          pbVar5 = (byte *)pcVar18 + 1;\n          bVar1 = *pcVar18;\nLAB_00016ff8:\n          if (bVar1 == 0x2a) goto LAB_00017025;\n          pcVar15 = (char *)(pbVar5 + -1);\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          saved_input = (char *)0x0;\n          sVar10 = (*get)(input_buffer,0x8000);\n          pcVar13 = input_buffer + sVar10;\n          pbVar5 = pbVar7;\n          bVar1 = input_buffer[0];\n          if (sVar10 != 0) goto LAB_00016ff8;\n        }\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        pcVar18 = pcVar15;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          pcVar18 = (char *)((byte *)pcVar18 + 1);\n          if (bVar3 == 0x2a) {\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n          pbVar5 = pbVar12;\n        }\nLAB_0001708b:\n        iVar19 = state;\n        if (1 < (uint)state) {\n          pcVar14 = strchr(i386_comment_chars,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar14 != (char *)0x0) goto LAB_00016d70;\n          goto LAB_0001741d;\n        }\n        local_30 = pbVar5;\n        goto LAB_0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      state = 0;\n      pbVar5 = pbVar12 + 1;\n      *pbVar12 = bVar3;\n      pcVar14 = pcVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar12 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)tostart;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      pbVar12 = pbVar5;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    uVar9 = (uint)bVar3;\n    pbVar5 = pbVar12 + 1;\n    if (uVar9 - 0x30 < 10) {\n      *pbVar12 = bVar3;\n      iVar19 = state;\n      break;\n    }\n    pcVar14 = input_buffer;\n    while (lex[uVar9] == '\x02') {\n      while (pcVar18 < pcVar13) {\n        uVar9 = (uint)(byte)*pcVar18;\n        pcVar18 = (char *)((byte *)pcVar18 + 1);\n        if (lex[uVar9] != '\x02') goto LAB_000167d8;\n      }\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        uVar9 = 0xffffffff;\n        goto LAB_00016b1d;\n      }\n      pcVar18 = input_buffer + 1;\n      uVar9 = (uint)(byte)input_buffer[0];\n    }\nLAB_000167d8:\n    if (uVar9 == 0x22) {\n      do_scrub_chars::quotechar = '\"';\n      state = 5;\n      old_state = 3;\n      *pbVar12 = 0x22;\njoined_r0x0001680c:\n      pcVar14 = pcVar18;\n      if (pbVar5 < pbVar4) goto _L50;\n    }\n    else {\n      pcVar14 = pcVar18;\n      while (uVar9 != 0xffffffff) {\n        while( true ) {\n          if (uVar9 == 10) goto LAB_00016b1d;\n          if (pcVar13 <= pcVar14) break;\n          uVar9 = (uint)(byte)*pcVar14;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n          if (uVar9 == 0xffffffff) goto LAB_00016b1d;\n        }\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        if (sVar10 == 0) {\n          uVar9 = 0xffffffff;\n          pcVar14 = input_buffer;\n        }\n        else {\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }\n      }\nLAB_00016b1d:\n      state = 0;\n      *pbVar12 = (byte)uVar9;\n      if (pbVar5 < pbVar4) goto _L47;\n    }\n    goto LAB_00016520;\n  case 5:\n_L50:\n    pbVar12 = pbVar5;\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n      pcVar14 = pcVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != do_scrub_chars::quotechar)) &&\n         (pbVar7 = (byte *)pcVar18, bVar3 != 10)) {\n        while ((pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c))) {\n          if ((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)) break;\n        }\n        sVar16 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar8 - (int)pcVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar16 = (int)pbVar8 - (int)pcVar18;\n        }\n        if (0 < (int)sVar16) {\n          pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n          memcpy(pbVar5,pcVar18,sVar16);\n          pbVar5 = pbVar5 + sVar16;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar12 = pbVar5;\n          if (pcVar13 <= pcVar14) goto LAB_00016a7d;\n        }\n      }\n      pbVar5 = pbVar12 + 1;\n      bVar3 = *pcVar14;\n    }\n    else {\nLAB_00016a7d:\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pbVar5 = pbVar12 + 1;\n      if (sVar10 == 0) {\n        iVar19 = (int)do_scrub_chars::quotechar;\n        pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        as_warn(pcVar18,iVar19);\n        iVar19 = old_state;\n        do_scrub_chars::lexical_block_16::one_char_buf[0] = '\n';\n        state = old_state;\n        *pbVar12 = do_scrub_chars::quotechar;\n        if (pbVar4 <= pbVar5) {\n          saved_input_len = 1;\n          saved_input = do_scrub_chars::lexical_block_16::one_char_buf;\n          goto LAB_00016538;\n        }\n        pcVar13 = &do_scrub_chars::quotechar;\n        pcVar18 = do_scrub_chars::lexical_block_16::one_char_buf;\n        goto LAB_0001649b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    iVar19 = old_state;\n    pcVar18 = (char *)((byte *)pcVar14 + 1);\n    if ((int)do_scrub_chars::quotechar == (uint)bVar3) {\n      state = old_state;\n      *pbVar12 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        state = 6;\n        *pbVar12 = 0x5c;\n        pcVar14 = pcVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto _L48;\n      }\n      *pbVar12 = bVar3;\n      iVar19 = state;\n    }\n    break;\n  case 6:\n_L48:\n    state = 5;\n    pbVar12 = pbVar5 + 1;\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\njoined_r0x00016a19:\n      pcVar18 = (char *)((byte *)pcVar18 + 1);\n      if (bVar3 == 10) {\n        ((byte *)pcVar18)[-1] = 0x6e;\n        pcVar18 = (char *)((byte *)pcVar18 + -1);\n        add_newlines = add_newlines + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      break;\n    }\n    saved_input = (char *)0x0;\n    sVar10 = (*get)(input_buffer,0x8000);\n    if (sVar10 != 0) {\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      goto joined_r0x00016a19;\n    }\n    iVar19 = (int)do_scrub_chars::quotechar;\n    pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    as_warn(pcVar18,iVar19);\n    *pbVar5 = do_scrub_chars::quotechar;\n    pbVar5 = pbVar12;\n    iVar19 = state;\njoined_r0x00016c7b:\n    pcVar13 = input_buffer;\n    pcVar18 = pcVar13;\n    state = iVar19;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      saved_input = (char *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)tostart;\n    }\n    goto LAB_0001649b;\n  case -2:\n_L53:\n    pbVar5 = pbVar12;\nLAB_00016570:\n    if (pcVar13 <= pcVar18) goto LAB_000165c0;\n    do {\n      pbVar12 = pbVar5;\n      bVar3 = *pcVar18;\n      while( true ) {\n        pcVar14 = (char *)((byte *)pcVar18 + 1);\n        pcVar18 = pcVar14;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar12 + 1;\n          *pbVar12 = 10;\n          if (pbVar5 < pbVar4) goto LAB_00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar12;\n        if (bVar3 != 0x2a) goto LAB_00016570;\n        do {\n          if (pcVar14 < pcVar13) {\n            bVar3 = *pcVar14;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          iVar19 = old_state;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n        } while (bVar3 == 0x2a);\n        pcVar18 = (char *)((byte *)pcVar14 + -1);\n        if (bVar3 == 0x2f) {\n          state = old_state;\n          ((byte *)pcVar14)[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        ((byte *)pcVar14)[-1] = bVar3;\n        if (pcVar18 < pcVar13) break;\nLAB_000165c0:\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        if (sVar10 == 0) {\nLAB_00016974:\n          pcVar18 = (char *)dcgettext(0,"end of file in comment",5);\n          as_warn(pcVar18);\n          goto LAB_00016992;\n        }\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = input_buffer;\n        pbVar12 = pbVar5;\n        bVar3 = input_buffer[0];\n      }\n    } while( true );\n  case -1:\n_L52:\n    iVar19 = old_state;\n    pcVar14 = out_string + 1;\n    pcVar15 = out_string + 1;\n    bVar3 = *out_string;\n    out_string = pcVar14;\n    if (*pcVar15 == '\0') {\n      old_state = 3;\n      state = iVar19;\n    }\nLAB_0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    iVar19 = state;\n  }\njoined_r0x00016e98:\n  pcVar14 = pcVar18;\n  if (pbVar5 < pbVar4) goto LAB_0001649b;\nLAB_00016520:\n  if (pcVar14 < pcVar13) {\n    saved_input_len = (int)pcVar13 - (int)pcVar14;\n    saved_input = pcVar14;\n    goto LAB_00016538;\n  }\n  goto LAB_000169c8;\nLAB_00017025:\n  if (pbVar5 < pcVar13) {\n    uVar9 = (uint)*pbVar5;\n    cVar2 = lex[uVar9];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    saved_input = (char *)0x0;\n    sVar10 = (*get)(input_buffer,0x8000);\n    pcVar13 = input_buffer + sVar10;\n    if (sVar10 == 0) {\nLAB_0001704e:\n      pcVar18 = (char *)dcgettext(0,"end of file in multiline comment",5);\n      as_warn(pcVar18);\n      pcVar18 = pcVar15;\nLAB_0001706e:\n      uVar9 = (uint)(byte)lex[0x20];\n      local_2c = 0x20;\n      pbVar5 = pbVar12;\n      goto _L101;\n    }\n    uVar9 = (uint)(byte)input_buffer[0];\n    cVar2 = lex[uVar9];\n    pbVar5 = pbVar7;\n  }\n  if (cVar2 == '\n') {\n    add_newlines = add_newlines + 1;\n  }\n  if (uVar9 == 0x2a) {\n    do {\n      if (pbVar5 < pcVar13) {\n        pcVar18 = (char *)(pbVar5 + 1);\n        bVar3 = *pbVar5;\n      }\n      else {\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = (char *)pbVar7;\n        bVar3 = input_buffer[0];\n        if (sVar10 == 0) goto LAB_0001704e;\n      }\n      pbVar5 = (byte *)pcVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto LAB_0001706e;\n    pbVar5 = (byte *)pcVar18 + -1;\n    ((byte *)pcVar18)[-1] = bVar3;\n  }\n  goto LAB_00017025;\nLAB_0001751e:\n  do {\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        iVar19 = state;\n        goto joined_r0x00016c7b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    cVar2 = lex[bVar3];\n  } while (cVar2 == '\x02');\n  if (((bVar3 - 0x30 < 10) && (state == 0)) && (local_2c == 0x23)) {\n    ((byte *)pcVar18)[-1] = bVar3;\n    pcVar18 = (char *)((byte *)pcVar18 + -1);\n    old_state = 4;\n    state = -1;\n    pbVar5 = local_30 + 1;\n    out_string = ".linefile ";\n    *local_30 = 9;\n    pcVar14 = pcVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    out_string = "linefile ";\n    bVar3 = s__linefile_0005b02f[1];\n    goto LAB_0001677e;\n  }\n  while (cVar2 != '\n') {\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pcVar14 = pcVar15;\n        pcVar13 = pcVar15;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto LAB_00017782;\n        goto LAB_000169c8;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    cVar2 = lex[bVar3];\n  }\n  ((byte *)pcVar18)[-1] = bVar3;\n  pcVar14 = (char *)((byte *)pcVar18 + -1);\nLAB_00017782:\n  state = 0;\n  goto LAB_00016b4e;\nLAB_00016d70:\n  do {\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pcVar18 = pcVar15;\n        pcVar13 = pcVar15;\n        break;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n  } while (lex[bVar3] != '\n');\n  state = 0;\n  *pbVar5 = 10;\n  pbVar5 = local_30;\n  pcVar14 = pcVar18;\njoined_r0x000172dc:\n  local_30 = pbVar5;\n  if (pbVar4 <= pbVar5) goto LAB_00016520;\n  goto LAB_00016b4e;\ncode_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;\n  goto LAB_00016b84;\ncode_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar9 = (uint)(byte)lex[0x2f];\n    goto _L101;\n  }\n  if ((bVar1 == 0xe) || (bVar1 == 3)) goto _L101;\n  if ((state == 2 || state == 0xb) && (bVar1 == 9)) {\n    state = 1;\n    *pbVar12 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar12 + 1;\n    pcVar14 = pcVar18;\n    goto joined_r0x000172dc;\n  }\n  switch(state) {\n  default:\n    iVar19 = state;\n    pcVar18 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9,\n                                state);\n                    /* WARNING: Subroutine does not return */\n    as_fatal(pcVar18,iVar19,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto _L101;\n  case 2:\n    state = 3;\n    pbVar5 = pbVar12 + 1;\n    if (pbVar4 <= pbVar5) {\n      pcVar14 = (char *)((byte *)pcVar18 + -1);\n      ((byte *)pcVar18)[-1] = bVar3;\n      *pbVar12 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar12 = 0x20;\n    uVar9 = (uint)(byte)lex[local_2c];\n    goto _L101;\n  case 9:\n  case 10:\n    state = 10;\n    goto _L101;\n  case 0xb:\n    break;\n  }\n  state = 3;\nLAB_00017227:\n  ((byte *)pcVar18)[-1] = bVar3;\n  *pbVar12 = 0x20;\n  pbVar5 = pbVar12 + 1;\n  pcVar14 = (char *)((byte *)pcVar18 + -1);\n  goto joined_r0x000172dc;\n  while ((byte)lex[pbVar8[1]] < 2) {\nLAB_0001787c:\n    pbVar8 = pbVar7;\n    pbVar7 = pbVar8 + 1;\n    if ((byte *)pcVar13 == pbVar7) break;\n  }\n  if (pbVar7 <= pcVar18) {\n    pbVar8 = pbVar7;\n  }\n  iVar19 = (int)pbVar4 - (int)pbVar12;\n  sVar16 = (int)pbVar8 - (int)pcVar18;\n  if (iVar19 <= (int)sVar16) {\nLAB_000178a1:\n    sVar16 = iVar19 - 1;\n  }\n  if (0 < (int)sVar16) {\n    *pbVar12 = bVar3;\n    memcpy(pbVar5,pcVar18,sVar16);\n    pbVar5 = pbVar5 + sVar16;\n    pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pcVar14 < pcVar13) {\n      local_2c = (uint)(byte)*pcVar14;\n      pcVar18 = (char *)((byte *)pcVar14 + 1);\n      pbVar12 = pbVar5;\n    }\n    else {\n      pcVar18 = input_buffer;\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      pbVar12 = pbVar5;\n      if (sVar10 == 0) {\n        local_2c = 0xffffffff;\n        pcVar13 = pcVar18;\n      }\n      else {\n        local_2c = (uint)(byte)input_buffer[0];\n        pcVar18 = input_buffer + 1;\n      }\n    }\n  }\nLAB_00016fab:\n  pbVar5 = pbVar12;\n  if (state == 0) {\n    state = 0xb;\n  }\n  else {\n    iVar19 = state;\n    if (state == 1) {\n      state = 2;\n    }\n    else {\nLAB_0001741d:\n      if (iVar19 == 9) {\n        if (lex[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (iVar19 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        state = 3;\n      }\n    }\n  }\n  *pbVar5 = (byte)local_2c;\n  pbVar5 = local_30;\n  iVar19 = state;\n  goto joined_r0x00016e98;\n}" primitive_type (function_declarator "do_scrub_chars(_func_size_t_char_ptr_size_t *get,char *tostart,size_t tolen)" identifier (parameter_list "(_func_size_t_char_ptr_size_t *get,char *tostart,size_t tolen)" ( (parameter_declaration "_func_size_t_char_ptr_size_t *get" type_identifier (pointer_declarator "*get" * identifier)) , (parameter_declaration "char *tostart" primitive_type (pointer_declarator "*tostart" * identifier)) , (parameter_declaration "size_t tolen" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  uint uVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  uint uVar9;\n  size_t sVar10;\n  uint *puVar11;\n  byte *pbVar12;\n  char *pcVar13;\n  char *pcVar14;\n  char *pcVar15;\n  size_t sVar16;\n  uint *puVar17;\n  char *pcVar18;\n  int iVar19;\n  undefined4 uVar20;\n  bool bVar21;\n  char *local_38;\n  byte *local_30;\n  uint local_2c;\n  \n  pbVar4 = (byte *)(tostart + tolen);\n  pbVar5 = (byte *)tostart;\n  if (saved_input == (char *)0x0) {\n    sVar10 = (*get)(input_buffer,0x8000);\n    if (sVar10 == 0) {\n      return 0;\n    }\n    pcVar13 = input_buffer + sVar10;\n    iVar19 = state;\n    pcVar18 = input_buffer;\n  }\n  else {\n    pcVar13 = saved_input + saved_input_len;\n    iVar19 = state;\n    pcVar18 = saved_input;\n  }\nLAB_0001649b:\n  pcVar14 = pcVar18;\n  pbVar12 = pbVar5;\n  switch(iVar19) {\n  default:\n_L47:\n    pcVar15 = input_buffer;\n    local_30 = pbVar5;\nLAB_00016b4e:\n    if (pcVar14 < pcVar13) {\n      bVar3 = *pcVar14;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        pbVar5 = local_30;\n        if (state == 0) goto LAB_00016992;\n        pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        as_warn(pcVar18);\n        state = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    pcVar18 = (char *)((byte *)pcVar14 + 1);\n    local_2c = (uint)bVar3;\n    pbVar7 = (byte *)(input_buffer + 1);\n    uVar9 = (uint)(byte)lex[local_2c];\n    pbVar5 = local_30;\n_L101:\n    pbVar12 = pbVar5;\n    if ((byte)uVar9 < 0xf) {\nLAB_00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar12;\n      switch((&switchD_00016b8d::switchdataD_0005b1a4)[uVar9] + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar12 + 1;\n        if (state != 10) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }\n          iVar19 = state;\n          local_38 = out_buf;\n          do {\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          } while (uVar9 == 0);\n          bVar21 = (uVar6 & 0x8080) == 0;\n          if (bVar21) {\n            uVar9 = uVar9 >> 0x10;\n          }\n          puVar17 = (uint *)((int)puVar11 + 6);\n          if (!bVar21) {\n            puVar17 = puVar11 + 1;\n          }\n          if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)\n          {\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }\n          state = -1;\n          if (iVar19 == 9) {\n            iVar19 = 3;\n          }\n          out_string = out_buf + 1;\n          old_state = iVar19;\n          *pbVar12 = out_buf[0];\n          pcVar14 = pcVar18;\n          if (pbVar5 < pbVar4) goto _L52;\n          goto LAB_00016520;\n        }\n        ((byte *)pcVar18)[-1] = bVar3;\n        state = 3;\n        *pbVar12 = 0x20;\n        pcVar14 = (char *)((byte *)pcVar18 + -1);\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar12 + 1;\n        goto LAB_00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        state = 1;\n        *pbVar12 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (add_newlines != 0) {\n          add_newlines = add_newlines + -1;\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n        }\n        break;\n      case 0x16e62:\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        else if (state != 3) {\n          state = 1;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar12 + 1;\n        do_scrub_chars::quotechar = bVar3;\n        if (state == 10) {\n          state = 3;\n          ((byte *)pcVar18)[-1] = bVar3;\n          *pbVar12 = 0x20;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if ((byte *)pcVar18 + -1 < pcVar13) {\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }\n          else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }\n          old_state = 3;\n          pbVar7 = pbVar12 + 2;\n          pbVar12 = pbVar5;\n        }\n        else {\n          pbVar7 = pbVar5;\n          if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }\n        }\n        state = 5;\n        *pbVar12 = (byte)local_2c;\n        pbVar5 = pbVar7;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = lex[local_2c];\n          uVar9 = (uint)bVar1;\n          pbVar5 = pbVar12;\n        } while (bVar1 == 2);\n        if (state != 0) goto code_r0x000171ad;\n        state = 1;\n        goto LAB_00017227;\n      case 0x16f61:\n        pbVar5 = pbVar12 + 1;\n        if (state == 10) {\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          state = 3;\n          *pbVar12 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (state == 3) {\n          state = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (mri_state != (char *)0x0) goto LAB_00016fab;\n        if ((pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2))\n        goto LAB_0001787c;\n        iVar19 = (int)pbVar4 - (int)pbVar12;\n        if (iVar19 < 1) goto LAB_000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pcVar18 < pcVar13) {\n          pbVar5 = (byte *)pcVar18 + 1;\n          bVar1 = *pcVar18;\nLAB_00016ff8:\n          if (bVar1 == 0x2a) goto LAB_00017025;\n          pcVar15 = (char *)(pbVar5 + -1);\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          saved_input = (char *)0x0;\n          sVar10 = (*get)(input_buffer,0x8000);\n          pcVar13 = input_buffer + sVar10;\n          pbVar5 = pbVar7;\n          bVar1 = input_buffer[0];\n          if (sVar10 != 0) goto LAB_00016ff8;\n        }\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        pcVar18 = pcVar15;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          pcVar18 = (char *)((byte *)pcVar18 + 1);\n          if (bVar3 == 0x2a) {\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n          pbVar5 = pbVar12;\n        }\nLAB_0001708b:\n        iVar19 = state;\n        if (1 < (uint)state) {\n          pcVar14 = strchr(i386_comment_chars,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar14 != (char *)0x0) goto LAB_00016d70;\n          goto LAB_0001741d;\n        }\n        local_30 = pbVar5;\n        goto LAB_0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      state = 0;\n      pbVar5 = pbVar12 + 1;\n      *pbVar12 = bVar3;\n      pcVar14 = pcVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar12 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)tostart;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      pbVar12 = pbVar5;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    uVar9 = (uint)bVar3;\n    pbVar5 = pbVar12 + 1;\n    if (uVar9 - 0x30 < 10) {\n      *pbVar12 = bVar3;\n      iVar19 = state;\n      break;\n    }\n    pcVar14 = input_buffer;\n    while (lex[uVar9] == '\x02') {\n      while (pcVar18 < pcVar13) {\n        uVar9 = (uint)(byte)*pcVar18;\n        pcVar18 = (char *)((byte *)pcVar18 + 1);\n        if (lex[uVar9] != '\x02') goto LAB_000167d8;\n      }\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        uVar9 = 0xffffffff;\n        goto LAB_00016b1d;\n      }\n      pcVar18 = input_buffer + 1;\n      uVar9 = (uint)(byte)input_buffer[0];\n    }\nLAB_000167d8:\n    if (uVar9 == 0x22) {\n      do_scrub_chars::quotechar = '\"';\n      state = 5;\n      old_state = 3;\n      *pbVar12 = 0x22;\njoined_r0x0001680c:\n      pcVar14 = pcVar18;\n      if (pbVar5 < pbVar4) goto _L50;\n    }\n    else {\n      pcVar14 = pcVar18;\n      while (uVar9 != 0xffffffff) {\n        while( true ) {\n          if (uVar9 == 10) goto LAB_00016b1d;\n          if (pcVar13 <= pcVar14) break;\n          uVar9 = (uint)(byte)*pcVar14;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n          if (uVar9 == 0xffffffff) goto LAB_00016b1d;\n        }\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        if (sVar10 == 0) {\n          uVar9 = 0xffffffff;\n          pcVar14 = input_buffer;\n        }\n        else {\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }\n      }\nLAB_00016b1d:\n      state = 0;\n      *pbVar12 = (byte)uVar9;\n      if (pbVar5 < pbVar4) goto _L47;\n    }\n    goto LAB_00016520;\n  case 5:\n_L50:\n    pbVar12 = pbVar5;\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n      pcVar14 = pcVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != do_scrub_chars::quotechar)) &&\n         (pbVar7 = (byte *)pcVar18, bVar3 != 10)) {\n        while ((pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c))) {\n          if ((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)) break;\n        }\n        sVar16 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar8 - (int)pcVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar16 = (int)pbVar8 - (int)pcVar18;\n        }\n        if (0 < (int)sVar16) {\n          pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n          memcpy(pbVar5,pcVar18,sVar16);\n          pbVar5 = pbVar5 + sVar16;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar12 = pbVar5;\n          if (pcVar13 <= pcVar14) goto LAB_00016a7d;\n        }\n      }\n      pbVar5 = pbVar12 + 1;\n      bVar3 = *pcVar14;\n    }\n    else {\nLAB_00016a7d:\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pbVar5 = pbVar12 + 1;\n      if (sVar10 == 0) {\n        iVar19 = (int)do_scrub_chars::quotechar;\n        pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        as_warn(pcVar18,iVar19);\n        iVar19 = old_state;\n        do_scrub_chars::lexical_block_16::one_char_buf[0] = '\n';\n        state = old_state;\n        *pbVar12 = do_scrub_chars::quotechar;\n        if (pbVar4 <= pbVar5) {\n          saved_input_len = 1;\n          saved_input = do_scrub_chars::lexical_block_16::one_char_buf;\n          goto LAB_00016538;\n        }\n        pcVar13 = &do_scrub_chars::quotechar;\n        pcVar18 = do_scrub_chars::lexical_block_16::one_char_buf;\n        goto LAB_0001649b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    iVar19 = old_state;\n    pcVar18 = (char *)((byte *)pcVar14 + 1);\n    if ((int)do_scrub_chars::quotechar == (uint)bVar3) {\n      state = old_state;\n      *pbVar12 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        state = 6;\n        *pbVar12 = 0x5c;\n        pcVar14 = pcVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto _L48;\n      }\n      *pbVar12 = bVar3;\n      iVar19 = state;\n    }\n    break;\n  case 6:\n_L48:\n    state = 5;\n    pbVar12 = pbVar5 + 1;\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\njoined_r0x00016a19:\n      pcVar18 = (char *)((byte *)pcVar18 + 1);\n      if (bVar3 == 10) {\n        ((byte *)pcVar18)[-1] = 0x6e;\n        pcVar18 = (char *)((byte *)pcVar18 + -1);\n        add_newlines = add_newlines + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      break;\n    }\n    saved_input = (char *)0x0;\n    sVar10 = (*get)(input_buffer,0x8000);\n    if (sVar10 != 0) {\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      goto joined_r0x00016a19;\n    }\n    iVar19 = (int)do_scrub_chars::quotechar;\n    pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    as_warn(pcVar18,iVar19);\n    *pbVar5 = do_scrub_chars::quotechar;\n    pbVar5 = pbVar12;\n    iVar19 = state;\njoined_r0x00016c7b:\n    pcVar13 = input_buffer;\n    pcVar18 = pcVar13;\n    state = iVar19;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      saved_input = (char *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)tostart;\n    }\n    goto LAB_0001649b;\n  case -2:\n_L53:\n    pbVar5 = pbVar12;\nLAB_00016570:\n    if (pcVar13 <= pcVar18) goto LAB_000165c0;\n    do {\n      pbVar12 = pbVar5;\n      bVar3 = *pcVar18;\n      while( true ) {\n        pcVar14 = (char *)((byte *)pcVar18 + 1);\n        pcVar18 = pcVar14;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar12 + 1;\n          *pbVar12 = 10;\n          if (pbVar5 < pbVar4) goto LAB_00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar12;\n        if (bVar3 != 0x2a) goto LAB_00016570;\n        do {\n          if (pcVar14 < pcVar13) {\n            bVar3 = *pcVar14;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          iVar19 = old_state;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n        } while (bVar3 == 0x2a);\n        pcVar18 = (char *)((byte *)pcVar14 + -1);\n        if (bVar3 == 0x2f) {\n          state = old_state;\n          ((byte *)pcVar14)[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        ((byte *)pcVar14)[-1] = bVar3;\n        if (pcVar18 < pcVar13) break;\nLAB_000165c0:\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        if (sVar10 == 0) {\nLAB_00016974:\n          pcVar18 = (char *)dcgettext(0,"end of file in comment",5);\n          as_warn(pcVar18);\n          goto LAB_00016992;\n        }\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = input_buffer;\n        pbVar12 = pbVar5;\n        bVar3 = input_buffer[0];\n      }\n    } while( true );\n  case -1:\n_L52:\n    iVar19 = old_state;\n    pcVar14 = out_string + 1;\n    pcVar15 = out_string + 1;\n    bVar3 = *out_string;\n    out_string = pcVar14;\n    if (*pcVar15 == '\0') {\n      old_state = 3;\n      state = iVar19;\n    }\nLAB_0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    iVar19 = state;\n  }\njoined_r0x00016e98:\n  pcVar14 = pcVar18;\n  if (pbVar5 < pbVar4) goto LAB_0001649b;\nLAB_00016520:\n  if (pcVar14 < pcVar13) {\n    saved_input_len = (int)pcVar13 - (int)pcVar14;\n    saved_input = pcVar14;\n    goto LAB_00016538;\n  }\n  goto LAB_000169c8;\nLAB_00017025:\n  if (pbVar5 < pcVar13) {\n    uVar9 = (uint)*pbVar5;\n    cVar2 = lex[uVar9];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    saved_input = (char *)0x0;\n    sVar10 = (*get)(input_buffer,0x8000);\n    pcVar13 = input_buffer + sVar10;\n    if (sVar10 == 0) {\nLAB_0001704e:\n      pcVar18 = (char *)dcgettext(0,"end of file in multiline comment",5);\n      as_warn(pcVar18);\n      pcVar18 = pcVar15;\nLAB_0001706e:\n      uVar9 = (uint)(byte)lex[0x20];\n      local_2c = 0x20;\n      pbVar5 = pbVar12;\n      goto _L101;\n    }\n    uVar9 = (uint)(byte)input_buffer[0];\n    cVar2 = lex[uVar9];\n    pbVar5 = pbVar7;\n  }\n  if (cVar2 == '\n') {\n    add_newlines = add_newlines + 1;\n  }\n  if (uVar9 == 0x2a) {\n    do {\n      if (pbVar5 < pcVar13) {\n        pcVar18 = (char *)(pbVar5 + 1);\n        bVar3 = *pbVar5;\n      }\n      else {\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = (char *)pbVar7;\n        bVar3 = input_buffer[0];\n        if (sVar10 == 0) goto LAB_0001704e;\n      }\n      pbVar5 = (byte *)pcVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto LAB_0001706e;\n    pbVar5 = (byte *)pcVar18 + -1;\n    ((byte *)pcVar18)[-1] = bVar3;\n  }\n  goto LAB_00017025;\nLAB_0001751e:\n  do {\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        iVar19 = state;\n        goto joined_r0x00016c7b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    cVar2 = lex[bVar3];\n  } while (cVar2 == '\x02');\n  if (((bVar3 - 0x30 < 10) && (state == 0)) && (local_2c == 0x23)) {\n    ((byte *)pcVar18)[-1] = bVar3;\n    pcVar18 = (char *)((byte *)pcVar18 + -1);\n    old_state = 4;\n    state = -1;\n    pbVar5 = local_30 + 1;\n    out_string = ".linefile ";\n    *local_30 = 9;\n    pcVar14 = pcVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    out_string = "linefile ";\n    bVar3 = s__linefile_0005b02f[1];\n    goto LAB_0001677e;\n  }\n  while (cVar2 != '\n') {\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pcVar14 = pcVar15;\n        pcVar13 = pcVar15;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto LAB_00017782;\n        goto LAB_000169c8;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    cVar2 = lex[bVar3];\n  }\n  ((byte *)pcVar18)[-1] = bVar3;\n  pcVar14 = (char *)((byte *)pcVar18 + -1);\nLAB_00017782:\n  state = 0;\n  goto LAB_00016b4e;\nLAB_00016d70:\n  do {\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pcVar18 = pcVar15;\n        pcVar13 = pcVar15;\n        break;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n  } while (lex[bVar3] != '\n');\n  state = 0;\n  *pbVar5 = 10;\n  pbVar5 = local_30;\n  pcVar14 = pcVar18;\njoined_r0x000172dc:\n  local_30 = pbVar5;\n  if (pbVar4 <= pbVar5) goto LAB_00016520;\n  goto LAB_00016b4e;\ncode_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;\n  goto LAB_00016b84;\ncode_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar9 = (uint)(byte)lex[0x2f];\n    goto _L101;\n  }\n  if ((bVar1 == 0xe) || (bVar1 == 3)) goto _L101;\n  if ((state == 2 || state == 0xb) && (bVar1 == 9)) {\n    state = 1;\n    *pbVar12 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar12 + 1;\n    pcVar14 = pcVar18;\n    goto joined_r0x000172dc;\n  }\n  switch(state) {\n  default:\n    iVar19 = state;\n    pcVar18 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9,\n                                state);\n                    /* WARNING: Subroutine does not return */\n    as_fatal(pcVar18,iVar19,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto _L101;\n  case 2:\n    state = 3;\n    pbVar5 = pbVar12 + 1;\n    if (pbVar4 <= pbVar5) {\n      pcVar14 = (char *)((byte *)pcVar18 + -1);\n      ((byte *)pcVar18)[-1] = bVar3;\n      *pbVar12 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar12 = 0x20;\n    uVar9 = (uint)(byte)lex[local_2c];\n    goto _L101;\n  case 9:\n  case 10:\n    state = 10;\n    goto _L101;\n  case 0xb:\n    break;\n  }\n  state = 3;\nLAB_00017227:\n  ((byte *)pcVar18)[-1] = bVar3;\n  *pbVar12 = 0x20;\n  pbVar5 = pbVar12 + 1;\n  pcVar14 = (char *)((byte *)pcVar18 + -1);\n  goto joined_r0x000172dc;\n  while ((byte)lex[pbVar8[1]] < 2) {\nLAB_0001787c:\n    pbVar8 = pbVar7;\n    pbVar7 = pbVar8 + 1;\n    if ((byte *)pcVar13 == pbVar7) break;\n  }\n  if (pbVar7 <= pcVar18) {\n    pbVar8 = pbVar7;\n  }\n  iVar19 = (int)pbVar4 - (int)pbVar12;\n  sVar16 = (int)pbVar8 - (int)pcVar18;\n  if (iVar19 <= (int)sVar16) {\nLAB_000178a1:\n    sVar16 = iVar19 - 1;\n  }\n  if (0 < (int)sVar16) {\n    *pbVar12 = bVar3;\n    memcpy(pbVar5,pcVar18,sVar16);\n    pbVar5 = pbVar5 + sVar16;\n    pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pcVar14 < pcVar13) {\n      local_2c = (uint)(byte)*pcVar14;\n      pcVar18 = (char *)((byte *)pcVar14 + 1);\n      pbVar12 = pbVar5;\n    }\n    else {\n      pcVar18 = input_buffer;\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      pbVar12 = pbVar5;\n      if (sVar10 == 0) {\n        local_2c = 0xffffffff;\n        pcVar13 = pcVar18;\n      }\n      else {\n        local_2c = (uint)(byte)input_buffer[0];\n        pcVar18 = input_buffer + 1;\n      }\n    }\n  }\nLAB_00016fab:\n  pbVar5 = pbVar12;\n  if (state == 0) {\n    state = 0xb;\n  }\n  else {\n    iVar19 = state;\n    if (state == 1) {\n      state = 2;\n    }\n    else {\nLAB_0001741d:\n      if (iVar19 == 9) {\n        if (lex[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (iVar19 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        state = 3;\n      }\n    }\n  }\n  *pbVar5 = (byte)local_2c;\n  pbVar5 = local_30;\n  iVar19 = state;\n  goto joined_r0x00016e98;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "size_t sVar16;" primitive_type identifier ;) (declaration "uint *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "char *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "byte *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "uint local_2c;" type_identifier identifier ;) (expression_statement "pbVar4 = (byte *)(tostart + tolen);" (assignment_expression "pbVar4 = (byte *)(tostart + tolen)" identifier = (cast_expression "(byte *)(tostart + tolen)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(tostart + tolen)" ( (binary_expression "tostart + tolen" identifier + identifier) )))) ;) (expression_statement "pbVar5 = (byte *)tostart;" (assignment_expression "pbVar5 = (byte *)tostart" identifier = (cast_expression "(byte *)tostart" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (saved_input == (char *)0x0) {\n    sVar10 = (*get)(input_buffer,0x8000);\n    if (sVar10 == 0) {\n      return 0;\n    }\n    pcVar13 = input_buffer + sVar10;\n    iVar19 = state;\n    pcVar18 = input_buffer;\n  }\n  else {\n    pcVar13 = saved_input + saved_input_len;\n    iVar19 = state;\n    pcVar18 = saved_input;\n  }" if (parenthesized_expression "(saved_input == (char *)0x0)" ( (binary_expression "saved_input == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sVar10 = (*get)(input_buffer,0x8000);\n    if (sVar10 == 0) {\n      return 0;\n    }\n    pcVar13 = input_buffer + sVar10;\n    iVar19 = state;\n    pcVar18 = input_buffer;\n  }" { (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (if_statement "if (sVar10 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) (expression_statement "pcVar18 = input_buffer;" (assignment_expression "pcVar18 = input_buffer" identifier = identifier) ;) }) (else_clause "else {\n    pcVar13 = saved_input + saved_input_len;\n    iVar19 = state;\n    pcVar18 = saved_input;\n  }" else (compound_statement "{\n    pcVar13 = saved_input + saved_input_len;\n    iVar19 = state;\n    pcVar18 = saved_input;\n  }" { (expression_statement "pcVar13 = saved_input + saved_input_len;" (assignment_expression "pcVar13 = saved_input + saved_input_len" identifier = (binary_expression "saved_input + saved_input_len" identifier + identifier)) ;) (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) (expression_statement "pcVar18 = saved_input;" (assignment_expression "pcVar18 = saved_input" identifier = identifier) ;) }))) (labeled_statement "LAB_0001649b:\n  pcVar14 = pcVar18;" statement_identifier : (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;)) (expression_statement "pbVar12 = pbVar5;" (assignment_expression "pbVar12 = pbVar5" identifier = identifier) ;) (switch_statement "switch(iVar19) {\n  default:\n_L47:\n    pcVar15 = input_buffer;\n    local_30 = pbVar5;\nLAB_00016b4e:\n    if (pcVar14 < pcVar13) {\n      bVar3 = *pcVar14;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        pbVar5 = local_30;\n        if (state == 0) goto LAB_00016992;\n        pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        as_warn(pcVar18);\n        state = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    pcVar18 = (char *)((byte *)pcVar14 + 1);\n    local_2c = (uint)bVar3;\n    pbVar7 = (byte *)(input_buffer + 1);\n    uVar9 = (uint)(byte)lex[local_2c];\n    pbVar5 = local_30;\n_L101:\n    pbVar12 = pbVar5;\n    if ((byte)uVar9 < 0xf) {\nLAB_00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar12;\n      switch((&switchD_00016b8d::switchdataD_0005b1a4)[uVar9] + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar12 + 1;\n        if (state != 10) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }\n          iVar19 = state;\n          local_38 = out_buf;\n          do {\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          } while (uVar9 == 0);\n          bVar21 = (uVar6 & 0x8080) == 0;\n          if (bVar21) {\n            uVar9 = uVar9 >> 0x10;\n          }\n          puVar17 = (uint *)((int)puVar11 + 6);\n          if (!bVar21) {\n            puVar17 = puVar11 + 1;\n          }\n          if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)\n          {\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }\n          state = -1;\n          if (iVar19 == 9) {\n            iVar19 = 3;\n          }\n          out_string = out_buf + 1;\n          old_state = iVar19;\n          *pbVar12 = out_buf[0];\n          pcVar14 = pcVar18;\n          if (pbVar5 < pbVar4) goto _L52;\n          goto LAB_00016520;\n        }\n        ((byte *)pcVar18)[-1] = bVar3;\n        state = 3;\n        *pbVar12 = 0x20;\n        pcVar14 = (char *)((byte *)pcVar18 + -1);\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar12 + 1;\n        goto LAB_00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        state = 1;\n        *pbVar12 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (add_newlines != 0) {\n          add_newlines = add_newlines + -1;\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n        }\n        break;\n      case 0x16e62:\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        else if (state != 3) {\n          state = 1;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar12 + 1;\n        do_scrub_chars::quotechar = bVar3;\n        if (state == 10) {\n          state = 3;\n          ((byte *)pcVar18)[-1] = bVar3;\n          *pbVar12 = 0x20;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if ((byte *)pcVar18 + -1 < pcVar13) {\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }\n          else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }\n          old_state = 3;\n          pbVar7 = pbVar12 + 2;\n          pbVar12 = pbVar5;\n        }\n        else {\n          pbVar7 = pbVar5;\n          if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }\n        }\n        state = 5;\n        *pbVar12 = (byte)local_2c;\n        pbVar5 = pbVar7;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = lex[local_2c];\n          uVar9 = (uint)bVar1;\n          pbVar5 = pbVar12;\n        } while (bVar1 == 2);\n        if (state != 0) goto code_r0x000171ad;\n        state = 1;\n        goto LAB_00017227;\n      case 0x16f61:\n        pbVar5 = pbVar12 + 1;\n        if (state == 10) {\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          state = 3;\n          *pbVar12 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (state == 3) {\n          state = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (mri_state != (char *)0x0) goto LAB_00016fab;\n        if ((pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2))\n        goto LAB_0001787c;\n        iVar19 = (int)pbVar4 - (int)pbVar12;\n        if (iVar19 < 1) goto LAB_000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pcVar18 < pcVar13) {\n          pbVar5 = (byte *)pcVar18 + 1;\n          bVar1 = *pcVar18;\nLAB_00016ff8:\n          if (bVar1 == 0x2a) goto LAB_00017025;\n          pcVar15 = (char *)(pbVar5 + -1);\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          saved_input = (char *)0x0;\n          sVar10 = (*get)(input_buffer,0x8000);\n          pcVar13 = input_buffer + sVar10;\n          pbVar5 = pbVar7;\n          bVar1 = input_buffer[0];\n          if (sVar10 != 0) goto LAB_00016ff8;\n        }\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        pcVar18 = pcVar15;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          pcVar18 = (char *)((byte *)pcVar18 + 1);\n          if (bVar3 == 0x2a) {\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n          pbVar5 = pbVar12;\n        }\nLAB_0001708b:\n        iVar19 = state;\n        if (1 < (uint)state) {\n          pcVar14 = strchr(i386_comment_chars,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar14 != (char *)0x0) goto LAB_00016d70;\n          goto LAB_0001741d;\n        }\n        local_30 = pbVar5;\n        goto LAB_0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      state = 0;\n      pbVar5 = pbVar12 + 1;\n      *pbVar12 = bVar3;\n      pcVar14 = pcVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar12 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)tostart;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      pbVar12 = pbVar5;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    uVar9 = (uint)bVar3;\n    pbVar5 = pbVar12 + 1;\n    if (uVar9 - 0x30 < 10) {\n      *pbVar12 = bVar3;\n      iVar19 = state;\n      break;\n    }\n    pcVar14 = input_buffer;\n    while (lex[uVar9] == '\x02') {\n      while (pcVar18 < pcVar13) {\n        uVar9 = (uint)(byte)*pcVar18;\n        pcVar18 = (char *)((byte *)pcVar18 + 1);\n        if (lex[uVar9] != '\x02') goto LAB_000167d8;\n      }\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        uVar9 = 0xffffffff;\n        goto LAB_00016b1d;\n      }\n      pcVar18 = input_buffer + 1;\n      uVar9 = (uint)(byte)input_buffer[0];\n    }\nLAB_000167d8:\n    if (uVar9 == 0x22) {\n      do_scrub_chars::quotechar = '\"';\n      state = 5;\n      old_state = 3;\n      *pbVar12 = 0x22;\njoined_r0x0001680c:\n      pcVar14 = pcVar18;\n      if (pbVar5 < pbVar4) goto _L50;\n    }\n    else {\n      pcVar14 = pcVar18;\n      while (uVar9 != 0xffffffff) {\n        while( true ) {\n          if (uVar9 == 10) goto LAB_00016b1d;\n          if (pcVar13 <= pcVar14) break;\n          uVar9 = (uint)(byte)*pcVar14;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n          if (uVar9 == 0xffffffff) goto LAB_00016b1d;\n        }\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        if (sVar10 == 0) {\n          uVar9 = 0xffffffff;\n          pcVar14 = input_buffer;\n        }\n        else {\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }\n      }\nLAB_00016b1d:\n      state = 0;\n      *pbVar12 = (byte)uVar9;\n      if (pbVar5 < pbVar4) goto _L47;\n    }\n    goto LAB_00016520;\n  case 5:\n_L50:\n    pbVar12 = pbVar5;\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n      pcVar14 = pcVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != do_scrub_chars::quotechar)) &&\n         (pbVar7 = (byte *)pcVar18, bVar3 != 10)) {\n        while ((pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c))) {\n          if ((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)) break;\n        }\n        sVar16 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar8 - (int)pcVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar16 = (int)pbVar8 - (int)pcVar18;\n        }\n        if (0 < (int)sVar16) {\n          pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n          memcpy(pbVar5,pcVar18,sVar16);\n          pbVar5 = pbVar5 + sVar16;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar12 = pbVar5;\n          if (pcVar13 <= pcVar14) goto LAB_00016a7d;\n        }\n      }\n      pbVar5 = pbVar12 + 1;\n      bVar3 = *pcVar14;\n    }\n    else {\nLAB_00016a7d:\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pbVar5 = pbVar12 + 1;\n      if (sVar10 == 0) {\n        iVar19 = (int)do_scrub_chars::quotechar;\n        pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        as_warn(pcVar18,iVar19);\n        iVar19 = old_state;\n        do_scrub_chars::lexical_block_16::one_char_buf[0] = '\n';\n        state = old_state;\n        *pbVar12 = do_scrub_chars::quotechar;\n        if (pbVar4 <= pbVar5) {\n          saved_input_len = 1;\n          saved_input = do_scrub_chars::lexical_block_16::one_char_buf;\n          goto LAB_00016538;\n        }\n        pcVar13 = &do_scrub_chars::quotechar;\n        pcVar18 = do_scrub_chars::lexical_block_16::one_char_buf;\n        goto LAB_0001649b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    iVar19 = old_state;\n    pcVar18 = (char *)((byte *)pcVar14 + 1);\n    if ((int)do_scrub_chars::quotechar == (uint)bVar3) {\n      state = old_state;\n      *pbVar12 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        state = 6;\n        *pbVar12 = 0x5c;\n        pcVar14 = pcVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto _L48;\n      }\n      *pbVar12 = bVar3;\n      iVar19 = state;\n    }\n    break;\n  case 6:\n_L48:\n    state = 5;\n    pbVar12 = pbVar5 + 1;\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\njoined_r0x00016a19:\n      pcVar18 = (char *)((byte *)pcVar18 + 1);\n      if (bVar3 == 10) {\n        ((byte *)pcVar18)[-1] = 0x6e;\n        pcVar18 = (char *)((byte *)pcVar18 + -1);\n        add_newlines = add_newlines + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      break;\n    }\n    saved_input = (char *)0x0;\n    sVar10 = (*get)(input_buffer,0x8000);\n    if (sVar10 != 0) {\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      goto joined_r0x00016a19;\n    }\n    iVar19 = (int)do_scrub_chars::quotechar;\n    pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    as_warn(pcVar18,iVar19);\n    *pbVar5 = do_scrub_chars::quotechar;\n    pbVar5 = pbVar12;\n    iVar19 = state;\njoined_r0x00016c7b:\n    pcVar13 = input_buffer;\n    pcVar18 = pcVar13;\n    state = iVar19;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      saved_input = (char *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)tostart;\n    }\n    goto LAB_0001649b;\n  case -2:\n_L53:\n    pbVar5 = pbVar12;\nLAB_00016570:\n    if (pcVar13 <= pcVar18) goto LAB_000165c0;\n    do {\n      pbVar12 = pbVar5;\n      bVar3 = *pcVar18;\n      while( true ) {\n        pcVar14 = (char *)((byte *)pcVar18 + 1);\n        pcVar18 = pcVar14;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar12 + 1;\n          *pbVar12 = 10;\n          if (pbVar5 < pbVar4) goto LAB_00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar12;\n        if (bVar3 != 0x2a) goto LAB_00016570;\n        do {\n          if (pcVar14 < pcVar13) {\n            bVar3 = *pcVar14;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          iVar19 = old_state;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n        } while (bVar3 == 0x2a);\n        pcVar18 = (char *)((byte *)pcVar14 + -1);\n        if (bVar3 == 0x2f) {\n          state = old_state;\n          ((byte *)pcVar14)[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        ((byte *)pcVar14)[-1] = bVar3;\n        if (pcVar18 < pcVar13) break;\nLAB_000165c0:\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        if (sVar10 == 0) {\nLAB_00016974:\n          pcVar18 = (char *)dcgettext(0,"end of file in comment",5);\n          as_warn(pcVar18);\n          goto LAB_00016992;\n        }\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = input_buffer;\n        pbVar12 = pbVar5;\n        bVar3 = input_buffer[0];\n      }\n    } while( true );\n  case -1:\n_L52:\n    iVar19 = old_state;\n    pcVar14 = out_string + 1;\n    pcVar15 = out_string + 1;\n    bVar3 = *out_string;\n    out_string = pcVar14;\n    if (*pcVar15 == '\0') {\n      old_state = 3;\n      state = iVar19;\n    }\nLAB_0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    iVar19 = state;\n  }" switch (parenthesized_expression "(iVar19)" ( identifier )) (compound_statement "{\n  default:\n_L47:\n    pcVar15 = input_buffer;\n    local_30 = pbVar5;\nLAB_00016b4e:\n    if (pcVar14 < pcVar13) {\n      bVar3 = *pcVar14;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        pbVar5 = local_30;\n        if (state == 0) goto LAB_00016992;\n        pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        as_warn(pcVar18);\n        state = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    pcVar18 = (char *)((byte *)pcVar14 + 1);\n    local_2c = (uint)bVar3;\n    pbVar7 = (byte *)(input_buffer + 1);\n    uVar9 = (uint)(byte)lex[local_2c];\n    pbVar5 = local_30;\n_L101:\n    pbVar12 = pbVar5;\n    if ((byte)uVar9 < 0xf) {\nLAB_00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar12;\n      switch((&switchD_00016b8d::switchdataD_0005b1a4)[uVar9] + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar12 + 1;\n        if (state != 10) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }\n          iVar19 = state;\n          local_38 = out_buf;\n          do {\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          } while (uVar9 == 0);\n          bVar21 = (uVar6 & 0x8080) == 0;\n          if (bVar21) {\n            uVar9 = uVar9 >> 0x10;\n          }\n          puVar17 = (uint *)((int)puVar11 + 6);\n          if (!bVar21) {\n            puVar17 = puVar11 + 1;\n          }\n          if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)\n          {\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }\n          state = -1;\n          if (iVar19 == 9) {\n            iVar19 = 3;\n          }\n          out_string = out_buf + 1;\n          old_state = iVar19;\n          *pbVar12 = out_buf[0];\n          pcVar14 = pcVar18;\n          if (pbVar5 < pbVar4) goto _L52;\n          goto LAB_00016520;\n        }\n        ((byte *)pcVar18)[-1] = bVar3;\n        state = 3;\n        *pbVar12 = 0x20;\n        pcVar14 = (char *)((byte *)pcVar18 + -1);\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar12 + 1;\n        goto LAB_00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        state = 1;\n        *pbVar12 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (add_newlines != 0) {\n          add_newlines = add_newlines + -1;\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n        }\n        break;\n      case 0x16e62:\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        else if (state != 3) {\n          state = 1;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar12 + 1;\n        do_scrub_chars::quotechar = bVar3;\n        if (state == 10) {\n          state = 3;\n          ((byte *)pcVar18)[-1] = bVar3;\n          *pbVar12 = 0x20;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if ((byte *)pcVar18 + -1 < pcVar13) {\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }\n          else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }\n          old_state = 3;\n          pbVar7 = pbVar12 + 2;\n          pbVar12 = pbVar5;\n        }\n        else {\n          pbVar7 = pbVar5;\n          if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }\n        }\n        state = 5;\n        *pbVar12 = (byte)local_2c;\n        pbVar5 = pbVar7;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = lex[local_2c];\n          uVar9 = (uint)bVar1;\n          pbVar5 = pbVar12;\n        } while (bVar1 == 2);\n        if (state != 0) goto code_r0x000171ad;\n        state = 1;\n        goto LAB_00017227;\n      case 0x16f61:\n        pbVar5 = pbVar12 + 1;\n        if (state == 10) {\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          state = 3;\n          *pbVar12 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (state == 3) {\n          state = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (mri_state != (char *)0x0) goto LAB_00016fab;\n        if ((pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2))\n        goto LAB_0001787c;\n        iVar19 = (int)pbVar4 - (int)pbVar12;\n        if (iVar19 < 1) goto LAB_000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pcVar18 < pcVar13) {\n          pbVar5 = (byte *)pcVar18 + 1;\n          bVar1 = *pcVar18;\nLAB_00016ff8:\n          if (bVar1 == 0x2a) goto LAB_00017025;\n          pcVar15 = (char *)(pbVar5 + -1);\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          saved_input = (char *)0x0;\n          sVar10 = (*get)(input_buffer,0x8000);\n          pcVar13 = input_buffer + sVar10;\n          pbVar5 = pbVar7;\n          bVar1 = input_buffer[0];\n          if (sVar10 != 0) goto LAB_00016ff8;\n        }\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        pcVar18 = pcVar15;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          pcVar18 = (char *)((byte *)pcVar18 + 1);\n          if (bVar3 == 0x2a) {\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n          pbVar5 = pbVar12;\n        }\nLAB_0001708b:\n        iVar19 = state;\n        if (1 < (uint)state) {\n          pcVar14 = strchr(i386_comment_chars,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar14 != (char *)0x0) goto LAB_00016d70;\n          goto LAB_0001741d;\n        }\n        local_30 = pbVar5;\n        goto LAB_0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      state = 0;\n      pbVar5 = pbVar12 + 1;\n      *pbVar12 = bVar3;\n      pcVar14 = pcVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar12 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)tostart;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      pbVar12 = pbVar5;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    uVar9 = (uint)bVar3;\n    pbVar5 = pbVar12 + 1;\n    if (uVar9 - 0x30 < 10) {\n      *pbVar12 = bVar3;\n      iVar19 = state;\n      break;\n    }\n    pcVar14 = input_buffer;\n    while (lex[uVar9] == '\x02') {\n      while (pcVar18 < pcVar13) {\n        uVar9 = (uint)(byte)*pcVar18;\n        pcVar18 = (char *)((byte *)pcVar18 + 1);\n        if (lex[uVar9] != '\x02') goto LAB_000167d8;\n      }\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        uVar9 = 0xffffffff;\n        goto LAB_00016b1d;\n      }\n      pcVar18 = input_buffer + 1;\n      uVar9 = (uint)(byte)input_buffer[0];\n    }\nLAB_000167d8:\n    if (uVar9 == 0x22) {\n      do_scrub_chars::quotechar = '\"';\n      state = 5;\n      old_state = 3;\n      *pbVar12 = 0x22;\njoined_r0x0001680c:\n      pcVar14 = pcVar18;\n      if (pbVar5 < pbVar4) goto _L50;\n    }\n    else {\n      pcVar14 = pcVar18;\n      while (uVar9 != 0xffffffff) {\n        while( true ) {\n          if (uVar9 == 10) goto LAB_00016b1d;\n          if (pcVar13 <= pcVar14) break;\n          uVar9 = (uint)(byte)*pcVar14;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n          if (uVar9 == 0xffffffff) goto LAB_00016b1d;\n        }\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        if (sVar10 == 0) {\n          uVar9 = 0xffffffff;\n          pcVar14 = input_buffer;\n        }\n        else {\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }\n      }\nLAB_00016b1d:\n      state = 0;\n      *pbVar12 = (byte)uVar9;\n      if (pbVar5 < pbVar4) goto _L47;\n    }\n    goto LAB_00016520;\n  case 5:\n_L50:\n    pbVar12 = pbVar5;\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n      pcVar14 = pcVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != do_scrub_chars::quotechar)) &&\n         (pbVar7 = (byte *)pcVar18, bVar3 != 10)) {\n        while ((pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c))) {\n          if ((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)) break;\n        }\n        sVar16 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar8 - (int)pcVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar16 = (int)pbVar8 - (int)pcVar18;\n        }\n        if (0 < (int)sVar16) {\n          pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n          memcpy(pbVar5,pcVar18,sVar16);\n          pbVar5 = pbVar5 + sVar16;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar12 = pbVar5;\n          if (pcVar13 <= pcVar14) goto LAB_00016a7d;\n        }\n      }\n      pbVar5 = pbVar12 + 1;\n      bVar3 = *pcVar14;\n    }\n    else {\nLAB_00016a7d:\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pbVar5 = pbVar12 + 1;\n      if (sVar10 == 0) {\n        iVar19 = (int)do_scrub_chars::quotechar;\n        pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        as_warn(pcVar18,iVar19);\n        iVar19 = old_state;\n        do_scrub_chars::lexical_block_16::one_char_buf[0] = '\n';\n        state = old_state;\n        *pbVar12 = do_scrub_chars::quotechar;\n        if (pbVar4 <= pbVar5) {\n          saved_input_len = 1;\n          saved_input = do_scrub_chars::lexical_block_16::one_char_buf;\n          goto LAB_00016538;\n        }\n        pcVar13 = &do_scrub_chars::quotechar;\n        pcVar18 = do_scrub_chars::lexical_block_16::one_char_buf;\n        goto LAB_0001649b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    iVar19 = old_state;\n    pcVar18 = (char *)((byte *)pcVar14 + 1);\n    if ((int)do_scrub_chars::quotechar == (uint)bVar3) {\n      state = old_state;\n      *pbVar12 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        state = 6;\n        *pbVar12 = 0x5c;\n        pcVar14 = pcVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto _L48;\n      }\n      *pbVar12 = bVar3;\n      iVar19 = state;\n    }\n    break;\n  case 6:\n_L48:\n    state = 5;\n    pbVar12 = pbVar5 + 1;\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\njoined_r0x00016a19:\n      pcVar18 = (char *)((byte *)pcVar18 + 1);\n      if (bVar3 == 10) {\n        ((byte *)pcVar18)[-1] = 0x6e;\n        pcVar18 = (char *)((byte *)pcVar18 + -1);\n        add_newlines = add_newlines + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      break;\n    }\n    saved_input = (char *)0x0;\n    sVar10 = (*get)(input_buffer,0x8000);\n    if (sVar10 != 0) {\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      goto joined_r0x00016a19;\n    }\n    iVar19 = (int)do_scrub_chars::quotechar;\n    pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    as_warn(pcVar18,iVar19);\n    *pbVar5 = do_scrub_chars::quotechar;\n    pbVar5 = pbVar12;\n    iVar19 = state;\njoined_r0x00016c7b:\n    pcVar13 = input_buffer;\n    pcVar18 = pcVar13;\n    state = iVar19;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      saved_input = (char *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)tostart;\n    }\n    goto LAB_0001649b;\n  case -2:\n_L53:\n    pbVar5 = pbVar12;\nLAB_00016570:\n    if (pcVar13 <= pcVar18) goto LAB_000165c0;\n    do {\n      pbVar12 = pbVar5;\n      bVar3 = *pcVar18;\n      while( true ) {\n        pcVar14 = (char *)((byte *)pcVar18 + 1);\n        pcVar18 = pcVar14;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar12 + 1;\n          *pbVar12 = 10;\n          if (pbVar5 < pbVar4) goto LAB_00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar12;\n        if (bVar3 != 0x2a) goto LAB_00016570;\n        do {\n          if (pcVar14 < pcVar13) {\n            bVar3 = *pcVar14;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          iVar19 = old_state;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n        } while (bVar3 == 0x2a);\n        pcVar18 = (char *)((byte *)pcVar14 + -1);\n        if (bVar3 == 0x2f) {\n          state = old_state;\n          ((byte *)pcVar14)[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        ((byte *)pcVar14)[-1] = bVar3;\n        if (pcVar18 < pcVar13) break;\nLAB_000165c0:\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        if (sVar10 == 0) {\nLAB_00016974:\n          pcVar18 = (char *)dcgettext(0,"end of file in comment",5);\n          as_warn(pcVar18);\n          goto LAB_00016992;\n        }\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = input_buffer;\n        pbVar12 = pbVar5;\n        bVar3 = input_buffer[0];\n      }\n    } while( true );\n  case -1:\n_L52:\n    iVar19 = old_state;\n    pcVar14 = out_string + 1;\n    pcVar15 = out_string + 1;\n    bVar3 = *out_string;\n    out_string = pcVar14;\n    if (*pcVar15 == '\0') {\n      old_state = 3;\n      state = iVar19;\n    }\nLAB_0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    iVar19 = state;\n  }" { (case_statement "default:\n_L47:\n    pcVar15 = input_buffer;\n    local_30 = pbVar5;\nLAB_00016b4e:\n    if (pcVar14 < pcVar13) {\n      bVar3 = *pcVar14;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        pbVar5 = local_30;\n        if (state == 0) goto LAB_00016992;\n        pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        as_warn(pcVar18);\n        state = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    pcVar18 = (char *)((byte *)pcVar14 + 1);\n    local_2c = (uint)bVar3;\n    pbVar7 = (byte *)(input_buffer + 1);\n    uVar9 = (uint)(byte)lex[local_2c];\n    pbVar5 = local_30;\n_L101:\n    pbVar12 = pbVar5;\n    if ((byte)uVar9 < 0xf) {\nLAB_00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar12;\n      switch((&switchD_00016b8d::switchdataD_0005b1a4)[uVar9] + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar12 + 1;\n        if (state != 10) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }\n          iVar19 = state;\n          local_38 = out_buf;\n          do {\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          } while (uVar9 == 0);\n          bVar21 = (uVar6 & 0x8080) == 0;\n          if (bVar21) {\n            uVar9 = uVar9 >> 0x10;\n          }\n          puVar17 = (uint *)((int)puVar11 + 6);\n          if (!bVar21) {\n            puVar17 = puVar11 + 1;\n          }\n          if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)\n          {\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }\n          state = -1;\n          if (iVar19 == 9) {\n            iVar19 = 3;\n          }\n          out_string = out_buf + 1;\n          old_state = iVar19;\n          *pbVar12 = out_buf[0];\n          pcVar14 = pcVar18;\n          if (pbVar5 < pbVar4) goto _L52;\n          goto LAB_00016520;\n        }\n        ((byte *)pcVar18)[-1] = bVar3;\n        state = 3;\n        *pbVar12 = 0x20;\n        pcVar14 = (char *)((byte *)pcVar18 + -1);\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar12 + 1;\n        goto LAB_00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        state = 1;\n        *pbVar12 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (add_newlines != 0) {\n          add_newlines = add_newlines + -1;\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n        }\n        break;\n      case 0x16e62:\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        else if (state != 3) {\n          state = 1;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar12 + 1;\n        do_scrub_chars::quotechar = bVar3;\n        if (state == 10) {\n          state = 3;\n          ((byte *)pcVar18)[-1] = bVar3;\n          *pbVar12 = 0x20;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if ((byte *)pcVar18 + -1 < pcVar13) {\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }\n          else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }\n          old_state = 3;\n          pbVar7 = pbVar12 + 2;\n          pbVar12 = pbVar5;\n        }\n        else {\n          pbVar7 = pbVar5;\n          if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }\n        }\n        state = 5;\n        *pbVar12 = (byte)local_2c;\n        pbVar5 = pbVar7;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = lex[local_2c];\n          uVar9 = (uint)bVar1;\n          pbVar5 = pbVar12;\n        } while (bVar1 == 2);\n        if (state != 0) goto code_r0x000171ad;\n        state = 1;\n        goto LAB_00017227;\n      case 0x16f61:\n        pbVar5 = pbVar12 + 1;\n        if (state == 10) {\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          state = 3;\n          *pbVar12 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (state == 3) {\n          state = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (mri_state != (char *)0x0) goto LAB_00016fab;\n        if ((pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2))\n        goto LAB_0001787c;\n        iVar19 = (int)pbVar4 - (int)pbVar12;\n        if (iVar19 < 1) goto LAB_000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pcVar18 < pcVar13) {\n          pbVar5 = (byte *)pcVar18 + 1;\n          bVar1 = *pcVar18;\nLAB_00016ff8:\n          if (bVar1 == 0x2a) goto LAB_00017025;\n          pcVar15 = (char *)(pbVar5 + -1);\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          saved_input = (char *)0x0;\n          sVar10 = (*get)(input_buffer,0x8000);\n          pcVar13 = input_buffer + sVar10;\n          pbVar5 = pbVar7;\n          bVar1 = input_buffer[0];\n          if (sVar10 != 0) goto LAB_00016ff8;\n        }\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        pcVar18 = pcVar15;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          pcVar18 = (char *)((byte *)pcVar18 + 1);\n          if (bVar3 == 0x2a) {\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n          pbVar5 = pbVar12;\n        }\nLAB_0001708b:\n        iVar19 = state;\n        if (1 < (uint)state) {\n          pcVar14 = strchr(i386_comment_chars,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar14 != (char *)0x0) goto LAB_00016d70;\n          goto LAB_0001741d;\n        }\n        local_30 = pbVar5;\n        goto LAB_0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      state = 0;\n      pbVar5 = pbVar12 + 1;\n      *pbVar12 = bVar3;\n      pcVar14 = pcVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar12 + 1;\n    goto LAB_00016fab;" default : (labeled_statement "_L47:\n    pcVar15 = input_buffer;" statement_identifier : (expression_statement "pcVar15 = input_buffer;" (assignment_expression "pcVar15 = input_buffer" identifier = identifier) ;)) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;) (labeled_statement "LAB_00016b4e:\n    if (pcVar14 < pcVar13) {\n      bVar3 = *pcVar14;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        pbVar5 = local_30;\n        if (state == 0) goto LAB_00016992;\n        pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        as_warn(pcVar18);\n        state = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }" statement_identifier : (if_statement "if (pcVar14 < pcVar13) {\n      bVar3 = *pcVar14;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        pbVar5 = local_30;\n        if (state == 0) goto LAB_00016992;\n        pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        as_warn(pcVar18);\n        state = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }" if (parenthesized_expression "(pcVar14 < pcVar13)" ( (binary_expression "pcVar14 < pcVar13" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pcVar14;\n    }" { (expression_statement "bVar3 = *pcVar14;" (assignment_expression "bVar3 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) }) (else_clause "else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        pbVar5 = local_30;\n        if (state == 0) goto LAB_00016992;\n        pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        as_warn(pcVar18);\n        state = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }" else (compound_statement "{\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        pbVar5 = local_30;\n        if (state == 0) goto LAB_00016992;\n        pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        as_warn(pcVar18);\n        state = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }" { (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (if_statement "if (sVar10 == 0) {\n        pbVar5 = local_30;\n        if (state == 0) goto LAB_00016992;\n        pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        as_warn(pcVar18);\n        state = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        pbVar5 = local_30;\n        if (state == 0) goto LAB_00016992;\n        pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        as_warn(pcVar18);\n        state = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }" { (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (if_statement "if (state == 0) goto LAB_00016992;" if (parenthesized_expression "(state == 0)" ( (binary_expression "state == 0" identifier == number_literal) )) (goto_statement "goto LAB_00016992;" goto statement_identifier ;)) (expression_statement "pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"end of file not at end of a line; newline inserted",5)" identifier = (cast_expression "(char *)dcgettext(0,"end of file not at end of a line; newline inserted",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"end of file not at end of a line; newline inserted",5)" identifier (argument_list "(0,"end of file not at end of a line; newline inserted",5)" ( number_literal , (string_literal ""end of file not at end of a line; newline inserted"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar18);" (call_expression "as_warn(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (expression_statement "state = 0;" (assignment_expression "state = 0" identifier = number_literal) ;) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) (expression_statement "*local_30 = 10;" (assignment_expression "*local_30 = 10" (pointer_expression "*local_30" * identifier) = number_literal) ;) (if_statement "if (pbVar5 < pbVar4) goto LAB_00016992;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto LAB_00016992;" goto statement_identifier ;)) (goto_statement "goto LAB_000169c8;" goto statement_identifier ;) })) (expression_statement "pcVar14 = input_buffer;" (assignment_expression "pcVar14 = input_buffer" identifier = identifier) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) })))) (expression_statement "pcVar18 = (char *)((byte *)pcVar14 + 1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar14 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar14 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar14 + 1)" ( (binary_expression "(byte *)pcVar14 + 1" (cast_expression "(byte *)pcVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "local_2c = (uint)bVar3;" (assignment_expression "local_2c = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar7 = (byte *)(input_buffer + 1);" (assignment_expression "pbVar7 = (byte *)(input_buffer + 1)" identifier = (cast_expression "(byte *)(input_buffer + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(input_buffer + 1)" ( (binary_expression "input_buffer + 1" identifier + number_literal) )))) ;) (expression_statement "uVar9 = (uint)(byte)lex[local_2c];" (assignment_expression "uVar9 = (uint)(byte)lex[local_2c]" identifier = (cast_expression "(uint)(byte)lex[local_2c]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)lex[local_2c]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "lex[local_2c]" identifier [ identifier ])))) ;) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (labeled_statement "_L101:\n    pbVar12 = pbVar5;" statement_identifier : (expression_statement "pbVar12 = pbVar5;" (assignment_expression "pbVar12 = pbVar5" identifier = identifier) ;)) (if_statement "if ((byte)uVar9 < 0xf) {\nLAB_00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar12;\n      switch((&switchD_00016b8d::switchdataD_0005b1a4)[uVar9] + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar12 + 1;\n        if (state != 10) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }\n          iVar19 = state;\n          local_38 = out_buf;\n          do {\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          } while (uVar9 == 0);\n          bVar21 = (uVar6 & 0x8080) == 0;\n          if (bVar21) {\n            uVar9 = uVar9 >> 0x10;\n          }\n          puVar17 = (uint *)((int)puVar11 + 6);\n          if (!bVar21) {\n            puVar17 = puVar11 + 1;\n          }\n          if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)\n          {\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }\n          state = -1;\n          if (iVar19 == 9) {\n            iVar19 = 3;\n          }\n          out_string = out_buf + 1;\n          old_state = iVar19;\n          *pbVar12 = out_buf[0];\n          pcVar14 = pcVar18;\n          if (pbVar5 < pbVar4) goto _L52;\n          goto LAB_00016520;\n        }\n        ((byte *)pcVar18)[-1] = bVar3;\n        state = 3;\n        *pbVar12 = 0x20;\n        pcVar14 = (char *)((byte *)pcVar18 + -1);\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar12 + 1;\n        goto LAB_00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        state = 1;\n        *pbVar12 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (add_newlines != 0) {\n          add_newlines = add_newlines + -1;\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n        }\n        break;\n      case 0x16e62:\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        else if (state != 3) {\n          state = 1;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar12 + 1;\n        do_scrub_chars::quotechar = bVar3;\n        if (state == 10) {\n          state = 3;\n          ((byte *)pcVar18)[-1] = bVar3;\n          *pbVar12 = 0x20;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if ((byte *)pcVar18 + -1 < pcVar13) {\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }\n          else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }\n          old_state = 3;\n          pbVar7 = pbVar12 + 2;\n          pbVar12 = pbVar5;\n        }\n        else {\n          pbVar7 = pbVar5;\n          if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }\n        }\n        state = 5;\n        *pbVar12 = (byte)local_2c;\n        pbVar5 = pbVar7;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = lex[local_2c];\n          uVar9 = (uint)bVar1;\n          pbVar5 = pbVar12;\n        } while (bVar1 == 2);\n        if (state != 0) goto code_r0x000171ad;\n        state = 1;\n        goto LAB_00017227;\n      case 0x16f61:\n        pbVar5 = pbVar12 + 1;\n        if (state == 10) {\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          state = 3;\n          *pbVar12 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (state == 3) {\n          state = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (mri_state != (char *)0x0) goto LAB_00016fab;\n        if ((pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2))\n        goto LAB_0001787c;\n        iVar19 = (int)pbVar4 - (int)pbVar12;\n        if (iVar19 < 1) goto LAB_000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pcVar18 < pcVar13) {\n          pbVar5 = (byte *)pcVar18 + 1;\n          bVar1 = *pcVar18;\nLAB_00016ff8:\n          if (bVar1 == 0x2a) goto LAB_00017025;\n          pcVar15 = (char *)(pbVar5 + -1);\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          saved_input = (char *)0x0;\n          sVar10 = (*get)(input_buffer,0x8000);\n          pcVar13 = input_buffer + sVar10;\n          pbVar5 = pbVar7;\n          bVar1 = input_buffer[0];\n          if (sVar10 != 0) goto LAB_00016ff8;\n        }\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        pcVar18 = pcVar15;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          pcVar18 = (char *)((byte *)pcVar18 + 1);\n          if (bVar3 == 0x2a) {\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n          pbVar5 = pbVar12;\n        }\nLAB_0001708b:\n        iVar19 = state;\n        if (1 < (uint)state) {\n          pcVar14 = strchr(i386_comment_chars,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar14 != (char *)0x0) goto LAB_00016d70;\n          goto LAB_0001741d;\n        }\n        local_30 = pbVar5;\n        goto LAB_0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      state = 0;\n      pbVar5 = pbVar12 + 1;\n      *pbVar12 = bVar3;\n      pcVar14 = pcVar18;\n      goto joined_r0x000172dc;\n    }" if (parenthesized_expression "((byte)uVar9 < 0xf)" ( (binary_expression "(byte)uVar9 < 0xf" (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\nLAB_00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar12;\n      switch((&switchD_00016b8d::switchdataD_0005b1a4)[uVar9] + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar12 + 1;\n        if (state != 10) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }\n          iVar19 = state;\n          local_38 = out_buf;\n          do {\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          } while (uVar9 == 0);\n          bVar21 = (uVar6 & 0x8080) == 0;\n          if (bVar21) {\n            uVar9 = uVar9 >> 0x10;\n          }\n          puVar17 = (uint *)((int)puVar11 + 6);\n          if (!bVar21) {\n            puVar17 = puVar11 + 1;\n          }\n          if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)\n          {\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }\n          state = -1;\n          if (iVar19 == 9) {\n            iVar19 = 3;\n          }\n          out_string = out_buf + 1;\n          old_state = iVar19;\n          *pbVar12 = out_buf[0];\n          pcVar14 = pcVar18;\n          if (pbVar5 < pbVar4) goto _L52;\n          goto LAB_00016520;\n        }\n        ((byte *)pcVar18)[-1] = bVar3;\n        state = 3;\n        *pbVar12 = 0x20;\n        pcVar14 = (char *)((byte *)pcVar18 + -1);\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar12 + 1;\n        goto LAB_00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        state = 1;\n        *pbVar12 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (add_newlines != 0) {\n          add_newlines = add_newlines + -1;\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n        }\n        break;\n      case 0x16e62:\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        else if (state != 3) {\n          state = 1;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar12 + 1;\n        do_scrub_chars::quotechar = bVar3;\n        if (state == 10) {\n          state = 3;\n          ((byte *)pcVar18)[-1] = bVar3;\n          *pbVar12 = 0x20;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if ((byte *)pcVar18 + -1 < pcVar13) {\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }\n          else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }\n          old_state = 3;\n          pbVar7 = pbVar12 + 2;\n          pbVar12 = pbVar5;\n        }\n        else {\n          pbVar7 = pbVar5;\n          if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }\n        }\n        state = 5;\n        *pbVar12 = (byte)local_2c;\n        pbVar5 = pbVar7;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = lex[local_2c];\n          uVar9 = (uint)bVar1;\n          pbVar5 = pbVar12;\n        } while (bVar1 == 2);\n        if (state != 0) goto code_r0x000171ad;\n        state = 1;\n        goto LAB_00017227;\n      case 0x16f61:\n        pbVar5 = pbVar12 + 1;\n        if (state == 10) {\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          state = 3;\n          *pbVar12 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (state == 3) {\n          state = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (mri_state != (char *)0x0) goto LAB_00016fab;\n        if ((pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2))\n        goto LAB_0001787c;\n        iVar19 = (int)pbVar4 - (int)pbVar12;\n        if (iVar19 < 1) goto LAB_000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pcVar18 < pcVar13) {\n          pbVar5 = (byte *)pcVar18 + 1;\n          bVar1 = *pcVar18;\nLAB_00016ff8:\n          if (bVar1 == 0x2a) goto LAB_00017025;\n          pcVar15 = (char *)(pbVar5 + -1);\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          saved_input = (char *)0x0;\n          sVar10 = (*get)(input_buffer,0x8000);\n          pcVar13 = input_buffer + sVar10;\n          pbVar5 = pbVar7;\n          bVar1 = input_buffer[0];\n          if (sVar10 != 0) goto LAB_00016ff8;\n        }\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        pcVar18 = pcVar15;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          pcVar18 = (char *)((byte *)pcVar18 + 1);\n          if (bVar3 == 0x2a) {\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n          pbVar5 = pbVar12;\n        }\nLAB_0001708b:\n        iVar19 = state;\n        if (1 < (uint)state) {\n          pcVar14 = strchr(i386_comment_chars,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar14 != (char *)0x0) goto LAB_00016d70;\n          goto LAB_0001741d;\n        }\n        local_30 = pbVar5;\n        goto LAB_0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      state = 0;\n      pbVar5 = pbVar12 + 1;\n      *pbVar12 = bVar3;\n      pcVar14 = pcVar18;\n      goto joined_r0x000172dc;\n    }" { (labeled_statement "LAB_00016b84:\n      bVar3 = (byte)local_2c;" statement_identifier : (expression_statement "bVar3 = (byte)local_2c;" (assignment_expression "bVar3 = (byte)local_2c" identifier = (cast_expression "(byte)local_2c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;)) (expression_statement "pbVar5 = pbVar12;" (assignment_expression "pbVar5 = pbVar12" identifier = identifier) ;) (switch_statement "switch((&switchD_00016b8d::switchdataD_0005b1a4)[uVar9] + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar12 + 1;\n        if (state != 10) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }\n          iVar19 = state;\n          local_38 = out_buf;\n          do {\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          } while (uVar9 == 0);\n          bVar21 = (uVar6 & 0x8080) == 0;\n          if (bVar21) {\n            uVar9 = uVar9 >> 0x10;\n          }\n          puVar17 = (uint *)((int)puVar11 + 6);\n          if (!bVar21) {\n            puVar17 = puVar11 + 1;\n          }\n          if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)\n          {\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }\n          state = -1;\n          if (iVar19 == 9) {\n            iVar19 = 3;\n          }\n          out_string = out_buf + 1;\n          old_state = iVar19;\n          *pbVar12 = out_buf[0];\n          pcVar14 = pcVar18;\n          if (pbVar5 < pbVar4) goto _L52;\n          goto LAB_00016520;\n        }\n        ((byte *)pcVar18)[-1] = bVar3;\n        state = 3;\n        *pbVar12 = 0x20;\n        pcVar14 = (char *)((byte *)pcVar18 + -1);\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar12 + 1;\n        goto LAB_00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        state = 1;\n        *pbVar12 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (add_newlines != 0) {\n          add_newlines = add_newlines + -1;\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n        }\n        break;\n      case 0x16e62:\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        else if (state != 3) {\n          state = 1;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar12 + 1;\n        do_scrub_chars::quotechar = bVar3;\n        if (state == 10) {\n          state = 3;\n          ((byte *)pcVar18)[-1] = bVar3;\n          *pbVar12 = 0x20;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if ((byte *)pcVar18 + -1 < pcVar13) {\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }\n          else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }\n          old_state = 3;\n          pbVar7 = pbVar12 + 2;\n          pbVar12 = pbVar5;\n        }\n        else {\n          pbVar7 = pbVar5;\n          if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }\n        }\n        state = 5;\n        *pbVar12 = (byte)local_2c;\n        pbVar5 = pbVar7;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = lex[local_2c];\n          uVar9 = (uint)bVar1;\n          pbVar5 = pbVar12;\n        } while (bVar1 == 2);\n        if (state != 0) goto code_r0x000171ad;\n        state = 1;\n        goto LAB_00017227;\n      case 0x16f61:\n        pbVar5 = pbVar12 + 1;\n        if (state == 10) {\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          state = 3;\n          *pbVar12 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (state == 3) {\n          state = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (mri_state != (char *)0x0) goto LAB_00016fab;\n        if ((pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2))\n        goto LAB_0001787c;\n        iVar19 = (int)pbVar4 - (int)pbVar12;\n        if (iVar19 < 1) goto LAB_000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pcVar18 < pcVar13) {\n          pbVar5 = (byte *)pcVar18 + 1;\n          bVar1 = *pcVar18;\nLAB_00016ff8:\n          if (bVar1 == 0x2a) goto LAB_00017025;\n          pcVar15 = (char *)(pbVar5 + -1);\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          saved_input = (char *)0x0;\n          sVar10 = (*get)(input_buffer,0x8000);\n          pcVar13 = input_buffer + sVar10;\n          pbVar5 = pbVar7;\n          bVar1 = input_buffer[0];\n          if (sVar10 != 0) goto LAB_00016ff8;\n        }\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        pcVar18 = pcVar15;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          pcVar18 = (char *)((byte *)pcVar18 + 1);\n          if (bVar3 == 0x2a) {\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n          pbVar5 = pbVar12;\n        }\nLAB_0001708b:\n        iVar19 = state;\n        if (1 < (uint)state) {\n          pcVar14 = strchr(i386_comment_chars,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar14 != (char *)0x0) goto LAB_00016d70;\n          goto LAB_0001741d;\n        }\n        local_30 = pbVar5;\n        goto LAB_0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }" switch (parenthesized_expression "((&switchD_00016b8d::switchdataD_0005b1a4)[uVar9] + 0x80000)" ( (binary_expression "(&switchD_00016b8d::switchdataD_0005b1a4)[uVar9] + 0x80000" (subscript_expression "(&switchD_00016b8d::switchdataD_0005b1a4)[uVar9]" (parenthesized_expression "(&switchD_00016b8d::switchdataD_0005b1a4)" ( (ERROR "&switchD_00016b8d::" (pointer_expression "&switchD_00016b8d" & identifier) : :) identifier )) [ identifier ]) + number_literal) )) (compound_statement "{\n      case 0x16612:\n        pbVar5 = pbVar12 + 1;\n        if (state != 10) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }\n          iVar19 = state;\n          local_38 = out_buf;\n          do {\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          } while (uVar9 == 0);\n          bVar21 = (uVar6 & 0x8080) == 0;\n          if (bVar21) {\n            uVar9 = uVar9 >> 0x10;\n          }\n          puVar17 = (uint *)((int)puVar11 + 6);\n          if (!bVar21) {\n            puVar17 = puVar11 + 1;\n          }\n          if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)\n          {\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }\n          state = -1;\n          if (iVar19 == 9) {\n            iVar19 = 3;\n          }\n          out_string = out_buf + 1;\n          old_state = iVar19;\n          *pbVar12 = out_buf[0];\n          pcVar14 = pcVar18;\n          if (pbVar5 < pbVar4) goto _L52;\n          goto LAB_00016520;\n        }\n        ((byte *)pcVar18)[-1] = bVar3;\n        state = 3;\n        *pbVar12 = 0x20;\n        pcVar14 = (char *)((byte *)pcVar18 + -1);\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar12 + 1;\n        goto LAB_00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        state = 1;\n        *pbVar12 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (add_newlines != 0) {\n          add_newlines = add_newlines + -1;\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n        }\n        break;\n      case 0x16e62:\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        else if (state != 3) {\n          state = 1;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar12 + 1;\n        do_scrub_chars::quotechar = bVar3;\n        if (state == 10) {\n          state = 3;\n          ((byte *)pcVar18)[-1] = bVar3;\n          *pbVar12 = 0x20;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if ((byte *)pcVar18 + -1 < pcVar13) {\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }\n          else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }\n          old_state = 3;\n          pbVar7 = pbVar12 + 2;\n          pbVar12 = pbVar5;\n        }\n        else {\n          pbVar7 = pbVar5;\n          if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }\n        }\n        state = 5;\n        *pbVar12 = (byte)local_2c;\n        pbVar5 = pbVar7;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = lex[local_2c];\n          uVar9 = (uint)bVar1;\n          pbVar5 = pbVar12;\n        } while (bVar1 == 2);\n        if (state != 0) goto code_r0x000171ad;\n        state = 1;\n        goto LAB_00017227;\n      case 0x16f61:\n        pbVar5 = pbVar12 + 1;\n        if (state == 10) {\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          state = 3;\n          *pbVar12 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (state == 3) {\n          state = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (mri_state != (char *)0x0) goto LAB_00016fab;\n        if ((pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2))\n        goto LAB_0001787c;\n        iVar19 = (int)pbVar4 - (int)pbVar12;\n        if (iVar19 < 1) goto LAB_000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pcVar18 < pcVar13) {\n          pbVar5 = (byte *)pcVar18 + 1;\n          bVar1 = *pcVar18;\nLAB_00016ff8:\n          if (bVar1 == 0x2a) goto LAB_00017025;\n          pcVar15 = (char *)(pbVar5 + -1);\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          saved_input = (char *)0x0;\n          sVar10 = (*get)(input_buffer,0x8000);\n          pcVar13 = input_buffer + sVar10;\n          pbVar5 = pbVar7;\n          bVar1 = input_buffer[0];\n          if (sVar10 != 0) goto LAB_00016ff8;\n        }\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        pcVar18 = pcVar15;\n        iVar19 = state;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          pcVar18 = (char *)((byte *)pcVar18 + 1);\n          if (bVar3 == 0x2a) {\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n          pbVar5 = pbVar12;\n        }\nLAB_0001708b:\n        iVar19 = state;\n        if (1 < (uint)state) {\n          pcVar14 = strchr(i386_comment_chars,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar14 != (char *)0x0) goto LAB_00016d70;\n          goto LAB_0001741d;\n        }\n        local_30 = pbVar5;\n        goto LAB_0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }" { (case_statement "case 0x16612:\n        pbVar5 = pbVar12 + 1;\n        if (state != 10) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }\n          iVar19 = state;\n          local_38 = out_buf;\n          do {\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          } while (uVar9 == 0);\n          bVar21 = (uVar6 & 0x8080) == 0;\n          if (bVar21) {\n            uVar9 = uVar9 >> 0x10;\n          }\n          puVar17 = (uint *)((int)puVar11 + 6);\n          if (!bVar21) {\n            puVar17 = puVar11 + 1;\n          }\n          if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)\n          {\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }\n          state = -1;\n          if (iVar19 == 9) {\n            iVar19 = 3;\n          }\n          out_string = out_buf + 1;\n          old_state = iVar19;\n          *pbVar12 = out_buf[0];\n          pcVar14 = pcVar18;\n          if (pbVar5 < pbVar4) goto _L52;\n          goto LAB_00016520;\n        }\n        ((byte *)pcVar18)[-1] = bVar3;\n        state = 3;\n        *pbVar12 = 0x20;\n        pcVar14 = (char *)((byte *)pcVar18 + -1);\n        goto joined_r0x000172dc;" case number_literal : (expression_statement "pbVar5 = pbVar12 + 1;" (assignment_expression "pbVar5 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (if_statement "if (state != 10) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }\n          iVar19 = state;\n          local_38 = out_buf;\n          do {\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          } while (uVar9 == 0);\n          bVar21 = (uVar6 & 0x8080) == 0;\n          if (bVar21) {\n            uVar9 = uVar9 >> 0x10;\n          }\n          puVar17 = (uint *)((int)puVar11 + 6);\n          if (!bVar21) {\n            puVar17 = puVar11 + 1;\n          }\n          if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)\n          {\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }\n          state = -1;\n          if (iVar19 == 9) {\n            iVar19 = 3;\n          }\n          out_string = out_buf + 1;\n          old_state = iVar19;\n          *pbVar12 = out_buf[0];\n          pcVar14 = pcVar18;\n          if (pbVar5 < pbVar4) goto _L52;\n          goto LAB_00016520;\n        }" if (parenthesized_expression "(state != 10)" ( (binary_expression "state != 10" identifier != number_literal) )) (compound_statement "{\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }\n          iVar19 = state;\n          local_38 = out_buf;\n          do {\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          } while (uVar9 == 0);\n          bVar21 = (uVar6 & 0x8080) == 0;\n          if (bVar21) {\n            uVar9 = uVar9 >> 0x10;\n          }\n          puVar17 = (uint *)((int)puVar11 + 6);\n          if (!bVar21) {\n            puVar17 = puVar11 + 1;\n          }\n          if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)\n          {\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }\n          state = -1;\n          if (iVar19 == 9) {\n            iVar19 = 3;\n          }\n          out_string = out_buf + 1;\n          old_state = iVar19;\n          *pbVar12 = out_buf[0];\n          pcVar14 = pcVar18;\n          if (pbVar5 < pbVar4) goto _L52;\n          goto LAB_00016520;\n        }" { (if_statement "if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }" if (parenthesized_expression "(pcVar18 < pcVar13)" ( (binary_expression "pcVar18 < pcVar13" identifier < identifier) )) (compound_statement "{\n            bVar3 = *pcVar18;\nLAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            uVar9 = (uint)bVar3;\n            if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }\n            sprintf(out_buf,"%d",uVar9);\n            if (pcVar13 <= pcVar18) goto LAB_000173d4;\n            bVar3 = *pcVar18;\nLAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }\n          }" { (expression_statement "bVar3 = *pcVar18;" (assignment_expression "bVar3 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (labeled_statement "LAB_0001663b:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);" statement_identifier : (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + 1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + 1)" ( (binary_expression "(byte *)pcVar18 + 1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;)) (expression_statement "uVar9 = (uint)bVar3;" (assignment_expression "uVar9 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar9 == 0x5c) {\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }" if (parenthesized_expression "(uVar9 == 0x5c)" ( (binary_expression "uVar9 == 0x5c" identifier == number_literal) )) (compound_statement "{\n              if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }\n              pcVar18 = (char *)((byte *)pcVar18 + 1);\n              uVar9 = (uint)bVar3;\n              if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }\n            }" { (if_statement "if (pcVar18 < pcVar13) {\n                bVar3 = *pcVar18;\n              }\n              else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }" if (parenthesized_expression "(pcVar18 < pcVar13)" ( (binary_expression "pcVar18 < pcVar13" identifier < identifier) )) (compound_statement "{\n                bVar3 = *pcVar18;\n              }" { (expression_statement "bVar3 = *pcVar18;" (assignment_expression "bVar3 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) }) (else_clause "else {\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }" else (compound_statement "{\n                saved_input = (char *)0x0;\n                sVar10 = (*get)(input_buffer,0x8000);\n                if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }\n                pcVar13 = input_buffer + sVar10;\n                pcVar18 = input_buffer;\n                bVar3 = input_buffer[0];\n              }" { (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (if_statement "if (sVar10 == 0) {\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                  pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);\n                  as_warn(pcVar18);\n                  uVar20 = 0x5c;\n                  goto LAB_000173ae;\n                }" { (expression_statement "pcVar18 = (char *)dcgettext(0,"end of file in escape character",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"end of file in escape character",5)" identifier = (cast_expression "(char *)dcgettext(0,"end of file in escape character",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"end of file in escape character",5)" identifier (argument_list "(0,"end of file in escape character",5)" ( number_literal , (string_literal ""end of file in escape character"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar18);" (call_expression "as_warn(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (expression_statement "uVar20 = 0x5c;" (assignment_expression "uVar20 = 0x5c" identifier = number_literal) ;) (goto_statement "goto LAB_000173ae;" goto statement_identifier ;) })) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "pcVar18 = input_buffer;" (assignment_expression "pcVar18 = input_buffer" identifier = identifier) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) }))) (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + 1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + 1)" ( (binary_expression "(byte *)pcVar18 + 1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "uVar9 = (uint)bVar3;" (assignment_expression "uVar9 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar9 == 0x66) {\n                uVar9 = 0xc;\n              }\n              else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }" if (parenthesized_expression "(uVar9 == 0x66)" ( (binary_expression "uVar9 == 0x66" identifier == number_literal) )) (compound_statement "{\n                uVar9 = 0xc;\n              }" { (expression_statement "uVar9 = 0xc;" (assignment_expression "uVar9 = 0xc" identifier = number_literal) ;) }) (else_clause "else if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }" else (if_statement "if (uVar9 < 0x67) {\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }\n              else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }" if (parenthesized_expression "(uVar9 < 0x67)" ( (binary_expression "uVar9 < 0x67" identifier < number_literal) )) (compound_statement "{\n                if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }\n              }" { (if_statement "if ((uVar9 != 0x27) && (uVar9 == 0x62)) {\n                  uVar9 = 8;\n                }" if (parenthesized_expression "((uVar9 != 0x27) && (uVar9 == 0x62))" ( (binary_expression "(uVar9 != 0x27) && (uVar9 == 0x62)" (parenthesized_expression "(uVar9 != 0x27)" ( (binary_expression "uVar9 != 0x27" identifier != number_literal) )) && (parenthesized_expression "(uVar9 == 0x62)" ( (binary_expression "uVar9 == 0x62" identifier == number_literal) ))) )) (compound_statement "{\n                  uVar9 = 8;\n                }" { (expression_statement "uVar9 = 8;" (assignment_expression "uVar9 = 8" identifier = number_literal) ;) })) }) (else_clause "else if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }" else (if_statement "if (uVar9 == 0x72) {\n                uVar9 = 0xd;\n              }\n              else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }" if (parenthesized_expression "(uVar9 == 0x72)" ( (binary_expression "uVar9 == 0x72" identifier == number_literal) )) (compound_statement "{\n                uVar9 = 0xd;\n              }" { (expression_statement "uVar9 = 0xd;" (assignment_expression "uVar9 = 0xd" identifier = number_literal) ;) }) (else_clause "else if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }" else (if_statement "if (uVar9 == 0x74) {\n                uVar9 = 9;\n              }\n              else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }" if (parenthesized_expression "(uVar9 == 0x74)" ( (binary_expression "uVar9 == 0x74" identifier == number_literal) )) (compound_statement "{\n                uVar9 = 9;\n              }" { (expression_statement "uVar9 = 9;" (assignment_expression "uVar9 = 9" identifier = number_literal) ;) }) (else_clause "else if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }" else (if_statement "if (uVar9 == 0x6e) {\n                uVar9 = 10;\n              }" if (parenthesized_expression "(uVar9 == 0x6e)" ( (binary_expression "uVar9 == 0x6e" identifier == number_literal) )) (compound_statement "{\n                uVar9 = 10;\n              }" { (expression_statement "uVar9 = 10;" (assignment_expression "uVar9 = 10" identifier = number_literal) ;) })))))))))) })) (expression_statement "sprintf(out_buf,"%d",uVar9);" (call_expression "sprintf(out_buf,"%d",uVar9)" identifier (argument_list "(out_buf,"%d",uVar9)" ( identifier , (string_literal ""%d"" " string_content ") , identifier ))) ;) (if_statement "if (pcVar13 <= pcVar18) goto LAB_000173d4;" if (parenthesized_expression "(pcVar13 <= pcVar18)" ( (binary_expression "pcVar13 <= pcVar18" identifier <= identifier) )) (goto_statement "goto LAB_000173d4;" goto statement_identifier ;)) (expression_statement "bVar3 = *pcVar18;" (assignment_expression "bVar3 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (labeled_statement "LAB_000166af:\n            pcVar18 = (char *)((byte *)pcVar18 + 1);" statement_identifier : (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + 1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + 1)" ( (binary_expression "(byte *)pcVar18 + 1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;)) (if_statement "if (bVar3 != 0x27) {\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }" if (parenthesized_expression "(bVar3 != 0x27)" ( (binary_expression "bVar3 != 0x27" identifier != number_literal) )) (compound_statement "{\n              ((byte *)pcVar18)[-1] = bVar3;\n              pcVar18 = (char *)((byte *)pcVar18 + -1);\n            }" { (expression_statement "((byte *)pcVar18)[-1] = bVar3;" (assignment_expression "((byte *)pcVar18)[-1] = bVar3" (subscript_expression "((byte *)pcVar18)[-1]" (parenthesized_expression "((byte *)pcVar18)" ( (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + -1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + -1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + -1)" ( (binary_expression "(byte *)pcVar18 + -1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) })) }) (else_clause "else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }" else (compound_statement "{\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }\n            uVar20 = 0;\n            pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;\n            as_warn(pcVar18);\nLAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);\nLAB_000173d4:\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }\n          }" { (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (if_statement "if (sVar10 != 0) {\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }" if (parenthesized_expression "(sVar10 != 0)" ( (binary_expression "sVar10 != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar13 = input_buffer + sVar10;\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_0001663b;\n            }" { (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "pcVar18 = input_buffer;" (assignment_expression "pcVar18 = input_buffer" identifier = identifier) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0001663b;" goto statement_identifier ;) })) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)\n            ;" (assignment_expression "pcVar18 = (char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)" identifier = (cast_expression "(char *)dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)" identifier (argument_list "(0,"end of file after a one-character quote; \\0 inserted",5)" ( number_literal , (string_literal ""end of file after a one-character quote; \\0 inserted"" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar18);" (call_expression "as_warn(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (labeled_statement "LAB_000173ae:\n            sprintf(out_buf,"%d",uVar20);" statement_identifier : (expression_statement "sprintf(out_buf,"%d",uVar20);" (call_expression "sprintf(out_buf,"%d",uVar20)" identifier (argument_list "(out_buf,"%d",uVar20)" ( identifier , (string_literal ""%d"" " string_content ") , identifier ))) ;)) (labeled_statement "LAB_000173d4:\n            pcVar18 = input_buffer;" statement_identifier : (expression_statement "pcVar18 = input_buffer;" (assignment_expression "pcVar18 = input_buffer" identifier = identifier) ;)) (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (if_statement "if (sVar10 != 0) {\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }" if (parenthesized_expression "(sVar10 != 0)" ( (binary_expression "sVar10 != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar18 = input_buffer;\n              bVar3 = input_buffer[0];\n              goto LAB_000166af;\n            }" { (expression_statement "pcVar18 = input_buffer;" (assignment_expression "pcVar18 = input_buffer" identifier = identifier) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_000166af;" goto statement_identifier ;) })) }))) (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) (expression_statement "local_38 = out_buf;" (assignment_expression "local_38 = out_buf" identifier = identifier) ;) (do_statement "do {\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          } while (uVar9 == 0);" do (compound_statement "{\n            puVar11 = (uint *)local_38;\n            uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;\n            uVar9 = uVar6 & 0x80808080;\n            local_38 = (char *)(puVar11 + 1);\n          }" { (expression_statement "puVar11 = (uint *)local_38;" (assignment_expression "puVar11 = (uint *)local_38" identifier = (cast_expression "(uint *)local_38" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar6 = *puVar11 + 0xfefefeff & ~*puVar11;" (assignment_expression "uVar6 = *puVar11 + 0xfefefeff & ~*puVar11" identifier = (binary_expression "*puVar11 + 0xfefefeff & ~*puVar11" (binary_expression "*puVar11 + 0xfefefeff" (pointer_expression "*puVar11" * identifier) + number_literal) & (unary_expression "~*puVar11" ~ (pointer_expression "*puVar11" * identifier)))) ;) (expression_statement "uVar9 = uVar6 & 0x80808080;" (assignment_expression "uVar9 = uVar6 & 0x80808080" identifier = (binary_expression "uVar6 & 0x80808080" identifier & number_literal)) ;) (expression_statement "local_38 = (char *)(puVar11 + 1);" (assignment_expression "local_38 = (char *)(puVar11 + 1)" identifier = (cast_expression "(char *)(puVar11 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 1)" ( (binary_expression "puVar11 + 1" identifier + number_literal) )))) ;) }) while (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) ;) (expression_statement "bVar21 = (uVar6 & 0x8080) == 0;" (assignment_expression "bVar21 = (uVar6 & 0x8080) == 0" identifier = (binary_expression "(uVar6 & 0x8080) == 0" (parenthesized_expression "(uVar6 & 0x8080)" ( (binary_expression "uVar6 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar21) {\n            uVar9 = uVar9 >> 0x10;\n          }" if (parenthesized_expression "(bVar21)" ( identifier )) (compound_statement "{\n            uVar9 = uVar9 >> 0x10;\n          }" { (expression_statement "uVar9 = uVar9 >> 0x10;" (assignment_expression "uVar9 = uVar9 >> 0x10" identifier = (binary_expression "uVar9 >> 0x10" identifier >> number_literal)) ;) })) (expression_statement "puVar17 = (uint *)((int)puVar11 + 6);" (assignment_expression "puVar17 = (uint *)((int)puVar11 + 6)" identifier = (cast_expression "(uint *)((int)puVar11 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 6)" ( (binary_expression "(int)puVar11 + 6" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (!bVar21) {\n            puVar17 = puVar11 + 1;\n          }" if (parenthesized_expression "(!bVar21)" ( (unary_expression "!bVar21" ! identifier) )) (compound_statement "{\n            puVar17 = puVar11 + 1;\n          }" { (expression_statement "puVar17 = puVar11 + 1;" (assignment_expression "puVar17 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) })) (if_statement "if ((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)\n          {\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }" if (parenthesized_expression "((char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1)" ( (binary_expression "(char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))) == out_buf + 1" (cast_expression "(char *)((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9)))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9)))" ( (binary_expression "(int)puVar17 + (-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar9,(byte)uVar9)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar9,(byte)uVar9)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar9,(byte)uVar9)" identifier (argument_list "((byte)uVar9,(byte)uVar9)" ( (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) ))) == (binary_expression "out_buf + 1" identifier + number_literal)) )) (compound_statement "{\n            *pbVar12 = out_buf[0];\n            iVar19 = state;\n            goto joined_r0x00016e98;\n          }" { (expression_statement "*pbVar12 = out_buf[0];" (assignment_expression "*pbVar12 = out_buf[0]" (pointer_expression "*pbVar12" * identifier) = (subscript_expression "out_buf[0]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) (goto_statement "goto joined_r0x00016e98;" goto statement_identifier ;) })) (expression_statement "state = -1;" (assignment_expression "state = -1" identifier = number_literal) ;) (if_statement "if (iVar19 == 9) {\n            iVar19 = 3;\n          }" if (parenthesized_expression "(iVar19 == 9)" ( (binary_expression "iVar19 == 9" identifier == number_literal) )) (compound_statement "{\n            iVar19 = 3;\n          }" { (expression_statement "iVar19 = 3;" (assignment_expression "iVar19 = 3" identifier = number_literal) ;) })) (expression_statement "out_string = out_buf + 1;" (assignment_expression "out_string = out_buf + 1" identifier = (binary_expression "out_buf + 1" identifier + number_literal)) ;) (expression_statement "old_state = iVar19;" (assignment_expression "old_state = iVar19" identifier = identifier) ;) (expression_statement "*pbVar12 = out_buf[0];" (assignment_expression "*pbVar12 = out_buf[0]" (pointer_expression "*pbVar12" * identifier) = (subscript_expression "out_buf[0]" identifier [ number_literal ])) ;) (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;) (if_statement "if (pbVar5 < pbVar4) goto _L52;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto _L52;" goto statement_identifier ;)) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) (expression_statement "((byte *)pcVar18)[-1] = bVar3;" (assignment_expression "((byte *)pcVar18)[-1] = bVar3" (subscript_expression "((byte *)pcVar18)[-1]" (parenthesized_expression "((byte *)pcVar18)" ( (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "state = 3;" (assignment_expression "state = 3" identifier = number_literal) ;) (expression_statement "*pbVar12 = 0x20;" (assignment_expression "*pbVar12 = 0x20" (pointer_expression "*pbVar12" * identifier) = number_literal) ;) (expression_statement "pcVar14 = (char *)((byte *)pcVar18 + -1);" (assignment_expression "pcVar14 = (char *)((byte *)pcVar18 + -1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + -1)" ( (binary_expression "(byte *)pcVar18 + -1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;)) (case_statement "case 0x16d47:\n        local_30 = pbVar12 + 1;\n        goto LAB_00016d70;" case number_literal : (expression_statement "local_30 = pbVar12 + 1;" (assignment_expression "local_30 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00016d70;" goto statement_identifier ;)) (case_statement "case 0x16dd8:\n        break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 0x16e10:\n        state = 1;\n        *pbVar12 = bVar3;\n        goto joined_r0x00016e2c;" case number_literal : (expression_statement "state = 1;" (assignment_expression "state = 1" identifier = number_literal) ;) (expression_statement "*pbVar12 = bVar3;" (assignment_expression "*pbVar12 = bVar3" (pointer_expression "*pbVar12" * identifier) = identifier) ;) (goto_statement "goto joined_r0x00016e2c;" goto statement_identifier ;)) (case_statement "case 0x16e3c:\n        if (add_newlines != 0) {\n          add_newlines = add_newlines + -1;\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n        }\n        break;" case number_literal : (if_statement "if (add_newlines != 0) {\n          add_newlines = add_newlines + -1;\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n        }" if (parenthesized_expression "(add_newlines != 0)" ( (binary_expression "add_newlines != 0" identifier != number_literal) )) (compound_statement "{\n          add_newlines = add_newlines + -1;\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n        }" { (expression_statement "add_newlines = add_newlines + -1;" (assignment_expression "add_newlines = add_newlines + -1" identifier = (binary_expression "add_newlines + -1" identifier + number_literal)) ;) (expression_statement "((byte *)pcVar18)[-1] = bVar3;" (assignment_expression "((byte *)pcVar18)[-1] = bVar3" (subscript_expression "((byte *)pcVar18)[-1]" (parenthesized_expression "((byte *)pcVar18)" ( (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + -1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + -1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + -1)" ( (binary_expression "(byte *)pcVar18 + -1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x16e62:\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        else if (state != 3) {\n          state = 1;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        iVar19 = state;\n        goto joined_r0x00016e98;" case number_literal : (if_statement "if (state - 9U < 2) {\n          state = 3;\n        }\n        else if (state != 3) {\n          state = 1;\n        }" if (parenthesized_expression "(state - 9U < 2)" ( (binary_expression "state - 9U < 2" (binary_expression "state - 9U" identifier - number_literal) < number_literal) )) (compound_statement "{\n          state = 3;\n        }" { (expression_statement "state = 3;" (assignment_expression "state = 3" identifier = number_literal) ;) }) (else_clause "else if (state != 3) {\n          state = 1;\n        }" else (if_statement "if (state != 3) {\n          state = 1;\n        }" if (parenthesized_expression "(state != 3)" ( (binary_expression "state != 3" identifier != number_literal) )) (compound_statement "{\n          state = 1;\n        }" { (expression_statement "state = 1;" (assignment_expression "state = 1" identifier = number_literal) ;) })))) (expression_statement "*pbVar12 = bVar3;" (assignment_expression "*pbVar12 = bVar3" (pointer_expression "*pbVar12" * identifier) = identifier) ;) (expression_statement "pbVar5 = pbVar12 + 1;" (assignment_expression "pbVar5 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) (goto_statement "goto joined_r0x00016e98;" goto statement_identifier ;)) (case_statement "case 0x16eae:\n        pbVar5 = pbVar12 + 1;\n        do_scrub_chars::quotechar = bVar3;\n        if (state == 10) {\n          state = 3;\n          ((byte *)pcVar18)[-1] = bVar3;\n          *pbVar12 = 0x20;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if ((byte *)pcVar18 + -1 < pcVar13) {\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }\n          else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }\n          old_state = 3;\n          pbVar7 = pbVar12 + 2;\n          pbVar12 = pbVar5;\n        }\n        else {\n          pbVar7 = pbVar5;\n          if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }\n        }\n        state = 5;\n        *pbVar12 = (byte)local_2c;\n        pbVar5 = pbVar7;\n        goto joined_r0x0001680c;" case number_literal : (expression_statement "pbVar5 = pbVar12 + 1;" (assignment_expression "pbVar5 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (labeled_statement "do_scrub_chars::quotechar = bVar3;" statement_identifier : (ERROR ":" :) (expression_statement "quotechar = bVar3;" (assignment_expression "quotechar = bVar3" identifier = identifier) ;)) (if_statement "if (state == 10) {\n          state = 3;\n          ((byte *)pcVar18)[-1] = bVar3;\n          *pbVar12 = 0x20;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if ((byte *)pcVar18 + -1 < pcVar13) {\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }\n          else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }\n          old_state = 3;\n          pbVar7 = pbVar12 + 2;\n          pbVar12 = pbVar5;\n        }\n        else {\n          pbVar7 = pbVar5;\n          if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }\n        }" if (parenthesized_expression "(state == 10)" ( (binary_expression "state == 10" identifier == number_literal) )) (compound_statement "{\n          state = 3;\n          ((byte *)pcVar18)[-1] = bVar3;\n          *pbVar12 = 0x20;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if ((byte *)pcVar18 + -1 < pcVar13) {\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }\n          else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }\n          old_state = 3;\n          pbVar7 = pbVar12 + 2;\n          pbVar12 = pbVar5;\n        }" { (expression_statement "state = 3;" (assignment_expression "state = 3" identifier = number_literal) ;) (expression_statement "((byte *)pcVar18)[-1] = bVar3;" (assignment_expression "((byte *)pcVar18)[-1] = bVar3" (subscript_expression "((byte *)pcVar18)[-1]" (parenthesized_expression "((byte *)pcVar18)" ( (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "*pbVar12 = 0x20;" (assignment_expression "*pbVar12 = 0x20" (pointer_expression "*pbVar12" * identifier) = number_literal) ;) (expression_statement "pcVar14 = (char *)((byte *)pcVar18 + -1);" (assignment_expression "pcVar14 = (char *)((byte *)pcVar18 + -1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + -1)" ( (binary_expression "(byte *)pcVar18 + -1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (if_statement "if ((byte *)pcVar18 + -1 < pcVar13) {\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }\n          else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }" if (parenthesized_expression "((byte *)pcVar18 + -1 < pcVar13)" ( (binary_expression "(byte *)pcVar18 + -1 < pcVar13" (binary_expression "(byte *)pcVar18 + -1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) < identifier) )) (compound_statement "{\n            local_2c = (uint)((byte *)pcVar18)[-1];\n          }" { (expression_statement "local_2c = (uint)((byte *)pcVar18)[-1];" (assignment_expression "local_2c = (uint)((byte *)pcVar18)[-1]" identifier = (subscript_expression "(uint)((byte *)pcVar18)[-1]" (call_expression "(uint)((byte *)pcVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte *)pcVar18)" ( (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) [ number_literal ])) ;) }) (else_clause "else {\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }" else (compound_statement "{\n            pcVar18 = input_buffer;\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            local_2c = 0xffffffff;\n            pcVar13 = input_buffer + sVar10;\n            if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }\n          }" { (expression_statement "pcVar18 = input_buffer;" (assignment_expression "pcVar18 = input_buffer" identifier = identifier) ;) (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (expression_statement "local_2c = 0xffffffff;" (assignment_expression "local_2c = 0xffffffff" identifier = number_literal) ;) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (if_statement "if (sVar10 != 0) {\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }" if (parenthesized_expression "(sVar10 != 0)" ( (binary_expression "sVar10 != 0" identifier != number_literal) )) (compound_statement "{\n              local_2c = (uint)(byte)input_buffer[0];\n              pcVar18 = input_buffer + 1;\n            }" { (expression_statement "local_2c = (uint)(byte)input_buffer[0];" (assignment_expression "local_2c = (uint)(byte)input_buffer[0]" identifier = (cast_expression "(uint)(byte)input_buffer[0]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)input_buffer[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "input_buffer[0]" identifier [ number_literal ])))) ;) (expression_statement "pcVar18 = input_buffer + 1;" (assignment_expression "pcVar18 = input_buffer + 1" identifier = (binary_expression "input_buffer + 1" identifier + number_literal)) ;) })) }))) (expression_statement "old_state = 3;" (assignment_expression "old_state = 3" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar12 + 2;" (assignment_expression "pbVar7 = pbVar12 + 2" identifier = (binary_expression "pbVar12 + 2" identifier + number_literal)) ;) (expression_statement "pbVar12 = pbVar5;" (assignment_expression "pbVar12 = pbVar5" identifier = identifier) ;) }) (else_clause "else {\n          pbVar7 = pbVar5;\n          if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }\n        }" else (compound_statement "{\n          pbVar7 = pbVar5;\n          if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }\n        }" { (expression_statement "pbVar7 = pbVar5;" (assignment_expression "pbVar7 = pbVar5" identifier = identifier) ;) (if_statement "if (state == 9) {\n            old_state = 3;\n          }\n          else {\n            old_state = state;\n          }" if (parenthesized_expression "(state == 9)" ( (binary_expression "state == 9" identifier == number_literal) )) (compound_statement "{\n            old_state = 3;\n          }" { (expression_statement "old_state = 3;" (assignment_expression "old_state = 3" identifier = number_literal) ;) }) (else_clause "else {\n            old_state = state;\n          }" else (compound_statement "{\n            old_state = state;\n          }" { (expression_statement "old_state = state;" (assignment_expression "old_state = state" identifier = identifier) ;) }))) }))) (expression_statement "state = 5;" (assignment_expression "state = 5" identifier = number_literal) ;) (expression_statement "*pbVar12 = (byte)local_2c;" (assignment_expression "*pbVar12 = (byte)local_2c" (pointer_expression "*pbVar12" * identifier) = (cast_expression "(byte)local_2c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pbVar5 = pbVar7;" (assignment_expression "pbVar5 = pbVar7" identifier = identifier) ;) (goto_statement "goto joined_r0x0001680c;" goto statement_identifier ;)) (case_statement "case 0x16f07:\n        do {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = lex[local_2c];\n          uVar9 = (uint)bVar1;\n          pbVar5 = pbVar12;\n        } while (bVar1 == 2);\n        if (state != 0) goto code_r0x000171ad;\n        state = 1;\n        goto LAB_00017227;" case number_literal : (do_statement "do {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = lex[local_2c];\n          uVar9 = (uint)bVar1;\n          pbVar5 = pbVar12;\n        } while (bVar1 == 2);" do (compound_statement "{\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = lex[local_2c];\n          uVar9 = (uint)bVar1;\n          pbVar5 = pbVar12;\n        }" { (if_statement "if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }" if (parenthesized_expression "(pcVar18 < pcVar13)" ( (binary_expression "pcVar18 < pcVar13" identifier < identifier) )) (compound_statement "{\n            bVar3 = *pcVar18;\n            pcVar18 = (char *)((byte *)pcVar18 + 1);\n            pbVar12 = pbVar5;\n          }" { (expression_statement "bVar3 = *pcVar18;" (assignment_expression "bVar3 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + 1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + 1)" ( (binary_expression "(byte *)pcVar18 + 1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar12 = pbVar5;" (assignment_expression "pbVar12 = pbVar5" identifier = identifier) ;) }) (else_clause "else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }" else (compound_statement "{\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016992;\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = (char *)pbVar7;\n            bVar3 = input_buffer[0];\n            pbVar12 = pbVar5;\n          }" { (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (if_statement "if (sVar10 == 0) goto LAB_00016992;" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00016992;" goto statement_identifier ;)) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "pcVar18 = (char *)pbVar7;" (assignment_expression "pcVar18 = (char *)pbVar7" identifier = (cast_expression "(char *)pbVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar12 = pbVar5;" (assignment_expression "pbVar12 = pbVar5" identifier = identifier) ;) }))) (expression_statement "local_2c = (uint)bVar3;" (assignment_expression "local_2c = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "bVar1 = lex[local_2c];" (assignment_expression "bVar1 = lex[local_2c]" identifier = (subscript_expression "lex[local_2c]" identifier [ identifier ])) ;) (expression_statement "uVar9 = (uint)bVar1;" (assignment_expression "uVar9 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar5 = pbVar12;" (assignment_expression "pbVar5 = pbVar12" identifier = identifier) ;) }) while (parenthesized_expression "(bVar1 == 2)" ( (binary_expression "bVar1 == 2" identifier == number_literal) )) ;) (if_statement "if (state != 0) goto code_r0x000171ad;" if (parenthesized_expression "(state != 0)" ( (binary_expression "state != 0" identifier != number_literal) )) (goto_statement "goto code_r0x000171ad;" goto statement_identifier ;)) (expression_statement "state = 1;" (assignment_expression "state = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00017227;" goto statement_identifier ;)) (case_statement "case 0x16f61:\n        pbVar5 = pbVar12 + 1;\n        if (state == 10) {\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          state = 3;\n          *pbVar12 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (state == 3) {\n          state = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (mri_state != (char *)0x0) goto LAB_00016fab;\n        if ((pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2))\n        goto LAB_0001787c;\n        iVar19 = (int)pbVar4 - (int)pbVar12;\n        if (iVar19 < 1) goto LAB_000178a1;\n        goto LAB_00016fab;" case number_literal : (expression_statement "pbVar5 = pbVar12 + 1;" (assignment_expression "pbVar5 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (if_statement "if (state == 10) {\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          state = 3;\n          *pbVar12 = 0x20;\n          goto joined_r0x000172dc;\n        }" if (parenthesized_expression "(state == 10)" ( (binary_expression "state == 10" identifier == number_literal) )) (compound_statement "{\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar14 = (char *)((byte *)pcVar18 + -1);\n          state = 3;\n          *pbVar12 = 0x20;\n          goto joined_r0x000172dc;\n        }" { (expression_statement "((byte *)pcVar18)[-1] = bVar3;" (assignment_expression "((byte *)pcVar18)[-1] = bVar3" (subscript_expression "((byte *)pcVar18)[-1]" (parenthesized_expression "((byte *)pcVar18)" ( (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "pcVar14 = (char *)((byte *)pcVar18 + -1);" (assignment_expression "pcVar14 = (char *)((byte *)pcVar18 + -1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + -1)" ( (binary_expression "(byte *)pcVar18 + -1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "state = 3;" (assignment_expression "state = 3" identifier = number_literal) ;) (expression_statement "*pbVar12 = 0x20;" (assignment_expression "*pbVar12 = 0x20" (pointer_expression "*pbVar12" * identifier) = number_literal) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;) })) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;) (if_statement "if (state == 3) {\n          state = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;" if (parenthesized_expression "(state == 3)" ( (binary_expression "state == 3" identifier == number_literal) )) (compound_statement "{\n          state = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }\n        }" { (expression_statement "state = 9;" (assignment_expression "state = 9" identifier = number_literal) ;) (if_statement "if (pbVar4 <= pbVar5) {\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (compound_statement "{\n            *pbVar12 = bVar3;\n            pcVar14 = pcVar18;\n            goto LAB_00016520;\n          }" { (expression_statement "*pbVar12 = bVar3;" (assignment_expression "*pbVar12 = bVar3" (pointer_expression "*pbVar12" * identifier) = identifier) ;) (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) }) (else_clause "else if (pbVar4 <= pbVar5) goto LAB_00016fab;" else (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016fab;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016fab;" goto statement_identifier ;)))) (if_statement "if (mri_state != (char *)0x0) goto LAB_00016fab;" if (parenthesized_expression "(mri_state != (char *)0x0)" ( (binary_expression "mri_state != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00016fab;" goto statement_identifier ;)) (if_statement "if ((pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2))\n        goto LAB_0001787c;" if (parenthesized_expression "((pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2))" ( (binary_expression "(pcVar18 < pcVar13) && (pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2)" (parenthesized_expression "(pcVar18 < pcVar13)" ( (binary_expression "pcVar18 < pcVar13" identifier < identifier) )) && (parenthesized_expression "(pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2)" ( (comma_expression "pbVar7 = (byte *)pcVar18, (byte)lex[(byte)*pcVar18] < 2" (assignment_expression "pbVar7 = (byte *)pcVar18" identifier = (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "(byte)lex[(byte)*pcVar18] < 2" (cast_expression "(byte)lex[(byte)*pcVar18]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "lex[(byte)*pcVar18]" identifier [ (binary_expression "(byte)*pcVar18" (parenthesized_expression "(byte)" ( identifier )) * identifier) ])) < number_literal)) ))) )) (goto_statement "goto LAB_0001787c;" goto statement_identifier ;)) (expression_statement "iVar19 = (int)pbVar4 - (int)pbVar12;" (assignment_expression "iVar19 = (int)pbVar4 - (int)pbVar12" identifier = (binary_expression "(int)pbVar4 - (int)pbVar12" (cast_expression "(int)pbVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar19 < 1) goto LAB_000178a1;" if (parenthesized_expression "(iVar19 < 1)" ( (binary_expression "iVar19 < 1" identifier < number_literal) )) (goto_statement "goto LAB_000178a1;" goto statement_identifier ;)) (goto_statement "goto LAB_00016fab;" goto statement_identifier ;)) (case_statement "case 0x16fe6:\n        if (pcVar18 < pcVar13) {\n          pbVar5 = (byte *)pcVar18 + 1;\n          bVar1 = *pcVar18;\nLAB_00016ff8:\n          if (bVar1 == 0x2a) goto LAB_00017025;\n          pcVar15 = (char *)(pbVar5 + -1);\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          saved_input = (char *)0x0;\n          sVar10 = (*get)(input_buffer,0x8000);\n          pcVar13 = input_buffer + sVar10;\n          pbVar5 = pbVar7;\n          bVar1 = input_buffer[0];\n          if (sVar10 != 0) goto LAB_00016ff8;\n        }\n        if (state - 9U < 2) {\n          state = 3;\n        }\n        *pbVar12 = bVar3;\n        pbVar5 = pbVar12 + 1;\n        pcVar18 = pcVar15;\n        iVar19 = state;\n        goto joined_r0x00016e98;" case number_literal : (if_statement "if (pcVar18 < pcVar13) {\n          pbVar5 = (byte *)pcVar18 + 1;\n          bVar1 = *pcVar18;\nLAB_00016ff8:\n          if (bVar1 == 0x2a) goto LAB_00017025;\n          pcVar15 = (char *)(pbVar5 + -1);\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          saved_input = (char *)0x0;\n          sVar10 = (*get)(input_buffer,0x8000);\n          pcVar13 = input_buffer + sVar10;\n          pbVar5 = pbVar7;\n          bVar1 = input_buffer[0];\n          if (sVar10 != 0) goto LAB_00016ff8;\n        }" if (parenthesized_expression "(pcVar18 < pcVar13)" ( (binary_expression "pcVar18 < pcVar13" identifier < identifier) )) (compound_statement "{\n          pbVar5 = (byte *)pcVar18 + 1;\n          bVar1 = *pcVar18;\nLAB_00016ff8:\n          if (bVar1 == 0x2a) goto LAB_00017025;\n          pcVar15 = (char *)(pbVar5 + -1);\n          pbVar5[-1] = bVar1;\n        }" { (expression_statement "pbVar5 = (byte *)pcVar18 + 1;" (assignment_expression "pbVar5 = (byte *)pcVar18 + 1" identifier = (binary_expression "(byte *)pcVar18 + 1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (expression_statement "bVar1 = *pcVar18;" (assignment_expression "bVar1 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (labeled_statement "LAB_00016ff8:\n          if (bVar1 == 0x2a) goto LAB_00017025;" statement_identifier : (if_statement "if (bVar1 == 0x2a) goto LAB_00017025;" if (parenthesized_expression "(bVar1 == 0x2a)" ( (binary_expression "bVar1 == 0x2a" identifier == number_literal) )) (goto_statement "goto LAB_00017025;" goto statement_identifier ;))) (expression_statement "pcVar15 = (char *)(pbVar5 + -1);" (assignment_expression "pcVar15 = (char *)(pbVar5 + -1)" identifier = (cast_expression "(char *)(pbVar5 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + -1)" ( (binary_expression "pbVar5 + -1" identifier + number_literal) )))) ;) (expression_statement "pbVar5[-1] = bVar1;" (assignment_expression "pbVar5[-1] = bVar1" (subscript_expression "pbVar5[-1]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n          saved_input = (char *)0x0;\n          sVar10 = (*get)(input_buffer,0x8000);\n          pcVar13 = input_buffer + sVar10;\n          pbVar5 = pbVar7;\n          bVar1 = input_buffer[0];\n          if (sVar10 != 0) goto LAB_00016ff8;\n        }" else (compound_statement "{\n          saved_input = (char *)0x0;\n          sVar10 = (*get)(input_buffer,0x8000);\n          pcVar13 = input_buffer + sVar10;\n          pbVar5 = pbVar7;\n          bVar1 = input_buffer[0];\n          if (sVar10 != 0) goto LAB_00016ff8;\n        }" { (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "pbVar5 = pbVar7;" (assignment_expression "pbVar5 = pbVar7" identifier = identifier) ;) (expression_statement "bVar1 = input_buffer[0];" (assignment_expression "bVar1 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) (if_statement "if (sVar10 != 0) goto LAB_00016ff8;" if (parenthesized_expression "(sVar10 != 0)" ( (binary_expression "sVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00016ff8;" goto statement_identifier ;)) }))) (if_statement "if (state - 9U < 2) {\n          state = 3;\n        }" if (parenthesized_expression "(state - 9U < 2)" ( (binary_expression "state - 9U < 2" (binary_expression "state - 9U" identifier - number_literal) < number_literal) )) (compound_statement "{\n          state = 3;\n        }" { (expression_statement "state = 3;" (assignment_expression "state = 3" identifier = number_literal) ;) })) (expression_statement "*pbVar12 = bVar3;" (assignment_expression "*pbVar12 = bVar3" (pointer_expression "*pbVar12" * identifier) = identifier) ;) (expression_statement "pbVar5 = pbVar12 + 1;" (assignment_expression "pbVar5 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "pcVar18 = pcVar15;" (assignment_expression "pcVar18 = pcVar15" identifier = identifier) ;) (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) (goto_statement "goto joined_r0x00016e98;" goto statement_identifier ;)) (case_statement "case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          pcVar18 = (char *)((byte *)pcVar18 + 1);\n          if (bVar3 == 0x2a) {\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n          pbVar5 = pbVar12;\n        }\nLAB_0001708b:\n        iVar19 = state;\n        if (1 < (uint)state) {\n          pcVar14 = strchr(i386_comment_chars,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar14 != (char *)0x0) goto LAB_00016d70;\n          goto LAB_0001741d;\n        }\n        local_30 = pbVar5;\n        goto LAB_0001751e;" case number_literal : (if_statement "if (local_2c == 0x2f) {\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          pcVar18 = (char *)((byte *)pcVar18 + 1);\n          if (bVar3 == 0x2a) {\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n          pbVar5 = pbVar12;\n        }" if (parenthesized_expression "(local_2c == 0x2f)" ( (binary_expression "local_2c == 0x2f" identifier == number_literal) )) (compound_statement "{\n          if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          pcVar18 = (char *)((byte *)pcVar18 + 1);\n          if (bVar3 == 0x2a) {\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }\n          ((byte *)pcVar18)[-1] = bVar3;\n          pcVar18 = (char *)((byte *)pcVar18 + -1);\n          pbVar5 = pbVar12;\n        }" { (if_statement "if (pcVar18 < pcVar13) {\n            bVar3 = *pcVar18;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }" if (parenthesized_expression "(pcVar18 < pcVar13)" ( (binary_expression "pcVar18 < pcVar13" identifier < identifier) )) (compound_statement "{\n            bVar3 = *pcVar18;\n          }" { (expression_statement "bVar3 = *pcVar18;" (assignment_expression "bVar3 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) }) (else_clause "else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }" else (compound_statement "{\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            pcVar13 = input_buffer + sVar10;\n            pcVar18 = pcVar15;\n            pbVar5 = pbVar12;\n            if (sVar10 == 0) goto LAB_0001708b;\n            pcVar18 = input_buffer;\n            bVar3 = input_buffer[0];\n          }" { (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "pcVar18 = pcVar15;" (assignment_expression "pcVar18 = pcVar15" identifier = identifier) ;) (expression_statement "pbVar5 = pbVar12;" (assignment_expression "pbVar5 = pbVar12" identifier = identifier) ;) (if_statement "if (sVar10 == 0) goto LAB_0001708b;" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001708b;" goto statement_identifier ;)) (expression_statement "pcVar18 = input_buffer;" (assignment_expression "pcVar18 = input_buffer" identifier = identifier) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) }))) (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + 1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + 1)" ( (binary_expression "(byte *)pcVar18 + 1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (if_statement "if (bVar3 == 0x2a) {\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }" if (parenthesized_expression "(bVar3 == 0x2a)" ( (binary_expression "bVar3 == 0x2a" identifier == number_literal) )) (compound_statement "{\n            old_state = 3;\n            state = -2;\n            goto _L53;\n          }" { (expression_statement "old_state = 3;" (assignment_expression "old_state = 3" identifier = number_literal) ;) (expression_statement "state = -2;" (assignment_expression "state = -2" identifier = number_literal) ;) (goto_statement "goto _L53;" goto statement_identifier ;) })) (expression_statement "((byte *)pcVar18)[-1] = bVar3;" (assignment_expression "((byte *)pcVar18)[-1] = bVar3" (subscript_expression "((byte *)pcVar18)[-1]" (parenthesized_expression "((byte *)pcVar18)" ( (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + -1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + -1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + -1)" ( (binary_expression "(byte *)pcVar18 + -1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar5 = pbVar12;" (assignment_expression "pbVar5 = pbVar12" identifier = identifier) ;) })) (labeled_statement "LAB_0001708b:\n        iVar19 = state;" statement_identifier : (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;)) (if_statement "if (1 < (uint)state) {\n          pcVar14 = strchr(i386_comment_chars,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar14 != (char *)0x0) goto LAB_00016d70;\n          goto LAB_0001741d;\n        }" if (parenthesized_expression "(1 < (uint)state)" ( (binary_expression "1 < (uint)state" number_literal < (cast_expression "(uint)state" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (compound_statement "{\n          pcVar14 = strchr(i386_comment_chars,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar14 != (char *)0x0) goto LAB_00016d70;\n          goto LAB_0001741d;\n        }" { (expression_statement "pcVar14 = strchr(i386_comment_chars,local_2c);" (assignment_expression "pcVar14 = strchr(i386_comment_chars,local_2c)" identifier = (call_expression "strchr(i386_comment_chars,local_2c)" identifier (argument_list "(i386_comment_chars,local_2c)" ( identifier , identifier )))) ;) (expression_statement "local_30 = pbVar5 + 1;" (assignment_expression "local_30 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar14 != (char *)0x0) goto LAB_00016d70;" if (parenthesized_expression "(pcVar14 != (char *)0x0)" ( (binary_expression "pcVar14 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00016d70;" goto statement_identifier ;)) (goto_statement "goto LAB_0001741d;" goto statement_identifier ;) })) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;) (goto_statement "goto LAB_0001751e;" goto statement_identifier ;)) (case_statement "case 0x170df:\n        goto LAB_000170e3;" case number_literal : (goto_statement "goto LAB_000170e3;" goto statement_identifier ;)) })) (expression_statement "state = 0;" (assignment_expression "state = 0" identifier = number_literal) ;) (expression_statement "pbVar5 = pbVar12 + 1;" (assignment_expression "pbVar5 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar12 = bVar3;" (assignment_expression "*pbVar12 = bVar3" (pointer_expression "*pbVar12" * identifier) = identifier) ;) (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;) })) (labeled_statement "LAB_000170e3:\n    local_30 = pbVar12 + 1;" statement_identifier : (expression_statement "local_30 = pbVar12 + 1;" (assignment_expression "local_30 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;)) (goto_statement "goto LAB_00016fab;" goto statement_identifier ;)) (case_statement "case 4:\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)tostart;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      pbVar12 = pbVar5;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    uVar9 = (uint)bVar3;\n    pbVar5 = pbVar12 + 1;\n    if (uVar9 - 0x30 < 10) {\n      *pbVar12 = bVar3;\n      iVar19 = state;\n      break;\n    }\n    pcVar14 = input_buffer;\n    while (lex[uVar9] == '\x02') {\n      while (pcVar18 < pcVar13) {\n        uVar9 = (uint)(byte)*pcVar18;\n        pcVar18 = (char *)((byte *)pcVar18 + 1);\n        if (lex[uVar9] != '\x02') goto LAB_000167d8;\n      }\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        uVar9 = 0xffffffff;\n        goto LAB_00016b1d;\n      }\n      pcVar18 = input_buffer + 1;\n      uVar9 = (uint)(byte)input_buffer[0];\n    }\nLAB_000167d8:\n    if (uVar9 == 0x22) {\n      do_scrub_chars::quotechar = '\"';\n      state = 5;\n      old_state = 3;\n      *pbVar12 = 0x22;\njoined_r0x0001680c:\n      pcVar14 = pcVar18;\n      if (pbVar5 < pbVar4) goto _L50;\n    }\n    else {\n      pcVar14 = pcVar18;\n      while (uVar9 != 0xffffffff) {\n        while( true ) {\n          if (uVar9 == 10) goto LAB_00016b1d;\n          if (pcVar13 <= pcVar14) break;\n          uVar9 = (uint)(byte)*pcVar14;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n          if (uVar9 == 0xffffffff) goto LAB_00016b1d;\n        }\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        if (sVar10 == 0) {\n          uVar9 = 0xffffffff;\n          pcVar14 = input_buffer;\n        }\n        else {\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }\n      }\nLAB_00016b1d:\n      state = 0;\n      *pbVar12 = (byte)uVar9;\n      if (pbVar5 < pbVar4) goto _L47;\n    }\n    goto LAB_00016520;" case number_literal : (if_statement "if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)tostart;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      pbVar12 = pbVar5;\n    }" if (parenthesized_expression "(pcVar18 < pcVar13)" ( (binary_expression "pcVar18 < pcVar13" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pcVar18;\n    }" { (expression_statement "bVar3 = *pcVar18;" (assignment_expression "bVar3 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) }) (else_clause "else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)tostart;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      pbVar12 = pbVar5;\n    }" else (compound_statement "{\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)tostart;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      pbVar12 = pbVar5;\n    }" { (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (if_statement "if (sVar10 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)tostart;\n      }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00016992:\n        return (int)pbVar5 - (int)tostart;\n      }" { (labeled_statement "LAB_00016992:\n        return (int)pbVar5 - (int)tostart;" statement_identifier : (return_statement "return (int)pbVar5 - (int)tostart;" return (binary_expression "(int)pbVar5 - (int)tostart" (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)tostart" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) })) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "pcVar18 = input_buffer;" (assignment_expression "pcVar18 = input_buffer" identifier = identifier) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar12 = pbVar5;" (assignment_expression "pbVar12 = pbVar5" identifier = identifier) ;) }))) (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + 1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + 1)" ( (binary_expression "(byte *)pcVar18 + 1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "uVar9 = (uint)bVar3;" (assignment_expression "uVar9 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar5 = pbVar12 + 1;" (assignment_expression "pbVar5 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (if_statement "if (uVar9 - 0x30 < 10) {\n      *pbVar12 = bVar3;\n      iVar19 = state;\n      break;\n    }" if (parenthesized_expression "(uVar9 - 0x30 < 10)" ( (binary_expression "uVar9 - 0x30 < 10" (binary_expression "uVar9 - 0x30" identifier - number_literal) < number_literal) )) (compound_statement "{\n      *pbVar12 = bVar3;\n      iVar19 = state;\n      break;\n    }" { (expression_statement "*pbVar12 = bVar3;" (assignment_expression "*pbVar12 = bVar3" (pointer_expression "*pbVar12" * identifier) = identifier) ;) (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "pcVar14 = input_buffer;" (assignment_expression "pcVar14 = input_buffer" identifier = identifier) ;) (while_statement "while (lex[uVar9] == '\x02') {\n      while (pcVar18 < pcVar13) {\n        uVar9 = (uint)(byte)*pcVar18;\n        pcVar18 = (char *)((byte *)pcVar18 + 1);\n        if (lex[uVar9] != '\x02') goto LAB_000167d8;\n      }\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        uVar9 = 0xffffffff;\n        goto LAB_00016b1d;\n      }\n      pcVar18 = input_buffer + 1;\n      uVar9 = (uint)(byte)input_buffer[0];\n    }" while (parenthesized_expression "(lex[uVar9] == '\x02')" ( (binary_expression "lex[uVar9] == '\x02'" (subscript_expression "lex[uVar9]" identifier [ identifier ]) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n      while (pcVar18 < pcVar13) {\n        uVar9 = (uint)(byte)*pcVar18;\n        pcVar18 = (char *)((byte *)pcVar18 + 1);\n        if (lex[uVar9] != '\x02') goto LAB_000167d8;\n      }\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      if (sVar10 == 0) {\n        uVar9 = 0xffffffff;\n        goto LAB_00016b1d;\n      }\n      pcVar18 = input_buffer + 1;\n      uVar9 = (uint)(byte)input_buffer[0];\n    }" { (while_statement "while (pcVar18 < pcVar13) {\n        uVar9 = (uint)(byte)*pcVar18;\n        pcVar18 = (char *)((byte *)pcVar18 + 1);\n        if (lex[uVar9] != '\x02') goto LAB_000167d8;\n      }" while (parenthesized_expression "(pcVar18 < pcVar13)" ( (binary_expression "pcVar18 < pcVar13" identifier < identifier) )) (compound_statement "{\n        uVar9 = (uint)(byte)*pcVar18;\n        pcVar18 = (char *)((byte *)pcVar18 + 1);\n        if (lex[uVar9] != '\x02') goto LAB_000167d8;\n      }" { (expression_statement "uVar9 = (uint)(byte)*pcVar18;" (assignment_expression "uVar9 = (uint)(byte)*pcVar18" identifier = (binary_expression "(uint)(byte)*pcVar18" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + 1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + 1)" ( (binary_expression "(byte *)pcVar18 + 1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (if_statement "if (lex[uVar9] != '\x02') goto LAB_000167d8;" if (parenthesized_expression "(lex[uVar9] != '\x02')" ( (binary_expression "lex[uVar9] != '\x02'" (subscript_expression "lex[uVar9]" identifier [ identifier ]) != (char_literal "'\x02'" ' escape_sequence ')) )) (goto_statement "goto LAB_000167d8;" goto statement_identifier ;)) })) (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (if_statement "if (sVar10 == 0) {\n        uVar9 = 0xffffffff;\n        goto LAB_00016b1d;\n      }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar9 = 0xffffffff;\n        goto LAB_00016b1d;\n      }" { (expression_statement "uVar9 = 0xffffffff;" (assignment_expression "uVar9 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto LAB_00016b1d;" goto statement_identifier ;) })) (expression_statement "pcVar18 = input_buffer + 1;" (assignment_expression "pcVar18 = input_buffer + 1" identifier = (binary_expression "input_buffer + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = (uint)(byte)input_buffer[0];" (assignment_expression "uVar9 = (uint)(byte)input_buffer[0]" identifier = (cast_expression "(uint)(byte)input_buffer[0]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)input_buffer[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "input_buffer[0]" identifier [ number_literal ])))) ;) })) (labeled_statement "LAB_000167d8:\n    if (uVar9 == 0x22) {\n      do_scrub_chars::quotechar = '\"';\n      state = 5;\n      old_state = 3;\n      *pbVar12 = 0x22;\njoined_r0x0001680c:\n      pcVar14 = pcVar18;\n      if (pbVar5 < pbVar4) goto _L50;\n    }\n    else {\n      pcVar14 = pcVar18;\n      while (uVar9 != 0xffffffff) {\n        while( true ) {\n          if (uVar9 == 10) goto LAB_00016b1d;\n          if (pcVar13 <= pcVar14) break;\n          uVar9 = (uint)(byte)*pcVar14;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n          if (uVar9 == 0xffffffff) goto LAB_00016b1d;\n        }\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        if (sVar10 == 0) {\n          uVar9 = 0xffffffff;\n          pcVar14 = input_buffer;\n        }\n        else {\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }\n      }\nLAB_00016b1d:\n      state = 0;\n      *pbVar12 = (byte)uVar9;\n      if (pbVar5 < pbVar4) goto _L47;\n    }" statement_identifier : (if_statement "if (uVar9 == 0x22) {\n      do_scrub_chars::quotechar = '\"';\n      state = 5;\n      old_state = 3;\n      *pbVar12 = 0x22;\njoined_r0x0001680c:\n      pcVar14 = pcVar18;\n      if (pbVar5 < pbVar4) goto _L50;\n    }\n    else {\n      pcVar14 = pcVar18;\n      while (uVar9 != 0xffffffff) {\n        while( true ) {\n          if (uVar9 == 10) goto LAB_00016b1d;\n          if (pcVar13 <= pcVar14) break;\n          uVar9 = (uint)(byte)*pcVar14;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n          if (uVar9 == 0xffffffff) goto LAB_00016b1d;\n        }\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        if (sVar10 == 0) {\n          uVar9 = 0xffffffff;\n          pcVar14 = input_buffer;\n        }\n        else {\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }\n      }\nLAB_00016b1d:\n      state = 0;\n      *pbVar12 = (byte)uVar9;\n      if (pbVar5 < pbVar4) goto _L47;\n    }" if (parenthesized_expression "(uVar9 == 0x22)" ( (binary_expression "uVar9 == 0x22" identifier == number_literal) )) (compound_statement "{\n      do_scrub_chars::quotechar = '\"';\n      state = 5;\n      old_state = 3;\n      *pbVar12 = 0x22;\njoined_r0x0001680c:\n      pcVar14 = pcVar18;\n      if (pbVar5 < pbVar4) goto _L50;\n    }" { (labeled_statement "do_scrub_chars::quotechar = '\"';" statement_identifier : (ERROR ":" :) (expression_statement "quotechar = '\"';" (assignment_expression "quotechar = '\"'" identifier = (char_literal "'\"'" ' escape_sequence ')) ;)) (expression_statement "state = 5;" (assignment_expression "state = 5" identifier = number_literal) ;) (expression_statement "old_state = 3;" (assignment_expression "old_state = 3" identifier = number_literal) ;) (expression_statement "*pbVar12 = 0x22;" (assignment_expression "*pbVar12 = 0x22" (pointer_expression "*pbVar12" * identifier) = number_literal) ;) (labeled_statement "joined_r0x0001680c:\n      pcVar14 = pcVar18;" statement_identifier : (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;)) (if_statement "if (pbVar5 < pbVar4) goto _L50;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto _L50;" goto statement_identifier ;)) }) (else_clause "else {\n      pcVar14 = pcVar18;\n      while (uVar9 != 0xffffffff) {\n        while( true ) {\n          if (uVar9 == 10) goto LAB_00016b1d;\n          if (pcVar13 <= pcVar14) break;\n          uVar9 = (uint)(byte)*pcVar14;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n          if (uVar9 == 0xffffffff) goto LAB_00016b1d;\n        }\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        if (sVar10 == 0) {\n          uVar9 = 0xffffffff;\n          pcVar14 = input_buffer;\n        }\n        else {\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }\n      }\nLAB_00016b1d:\n      state = 0;\n      *pbVar12 = (byte)uVar9;\n      if (pbVar5 < pbVar4) goto _L47;\n    }" else (compound_statement "{\n      pcVar14 = pcVar18;\n      while (uVar9 != 0xffffffff) {\n        while( true ) {\n          if (uVar9 == 10) goto LAB_00016b1d;\n          if (pcVar13 <= pcVar14) break;\n          uVar9 = (uint)(byte)*pcVar14;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n          if (uVar9 == 0xffffffff) goto LAB_00016b1d;\n        }\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        if (sVar10 == 0) {\n          uVar9 = 0xffffffff;\n          pcVar14 = input_buffer;\n        }\n        else {\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }\n      }\nLAB_00016b1d:\n      state = 0;\n      *pbVar12 = (byte)uVar9;\n      if (pbVar5 < pbVar4) goto _L47;\n    }" { (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;) (while_statement "while (uVar9 != 0xffffffff) {\n        while( true ) {\n          if (uVar9 == 10) goto LAB_00016b1d;\n          if (pcVar13 <= pcVar14) break;\n          uVar9 = (uint)(byte)*pcVar14;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n          if (uVar9 == 0xffffffff) goto LAB_00016b1d;\n        }\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        if (sVar10 == 0) {\n          uVar9 = 0xffffffff;\n          pcVar14 = input_buffer;\n        }\n        else {\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }\n      }" while (parenthesized_expression "(uVar9 != 0xffffffff)" ( (binary_expression "uVar9 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        while( true ) {\n          if (uVar9 == 10) goto LAB_00016b1d;\n          if (pcVar13 <= pcVar14) break;\n          uVar9 = (uint)(byte)*pcVar14;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n          if (uVar9 == 0xffffffff) goto LAB_00016b1d;\n        }\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        if (sVar10 == 0) {\n          uVar9 = 0xffffffff;\n          pcVar14 = input_buffer;\n        }\n        else {\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }\n      }" { (while_statement "while( true ) {\n          if (uVar9 == 10) goto LAB_00016b1d;\n          if (pcVar13 <= pcVar14) break;\n          uVar9 = (uint)(byte)*pcVar14;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n          if (uVar9 == 0xffffffff) goto LAB_00016b1d;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (uVar9 == 10) goto LAB_00016b1d;\n          if (pcVar13 <= pcVar14) break;\n          uVar9 = (uint)(byte)*pcVar14;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n          if (uVar9 == 0xffffffff) goto LAB_00016b1d;\n        }" { (if_statement "if (uVar9 == 10) goto LAB_00016b1d;" if (parenthesized_expression "(uVar9 == 10)" ( (binary_expression "uVar9 == 10" identifier == number_literal) )) (goto_statement "goto LAB_00016b1d;" goto statement_identifier ;)) (if_statement "if (pcVar13 <= pcVar14) break;" if (parenthesized_expression "(pcVar13 <= pcVar14)" ( (binary_expression "pcVar13 <= pcVar14" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar9 = (uint)(byte)*pcVar14;" (assignment_expression "uVar9 = (uint)(byte)*pcVar14" identifier = (binary_expression "(uint)(byte)*pcVar14" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (expression_statement "pcVar14 = (char *)((byte *)pcVar14 + 1);" (assignment_expression "pcVar14 = (char *)((byte *)pcVar14 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar14 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar14 + 1)" ( (binary_expression "(byte *)pcVar14 + 1" (cast_expression "(byte *)pcVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (if_statement "if (uVar9 == 0xffffffff) goto LAB_00016b1d;" if (parenthesized_expression "(uVar9 == 0xffffffff)" ( (binary_expression "uVar9 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_00016b1d;" goto statement_identifier ;)) })) (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (if_statement "if (sVar10 == 0) {\n          uVar9 = 0xffffffff;\n          pcVar14 = input_buffer;\n        }\n        else {\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar9 = 0xffffffff;\n          pcVar14 = input_buffer;\n        }" { (expression_statement "uVar9 = 0xffffffff;" (assignment_expression "uVar9 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pcVar14 = input_buffer;" (assignment_expression "pcVar14 = input_buffer" identifier = identifier) ;) }) (else_clause "else {\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }" else (compound_statement "{\n          uVar9 = (uint)(byte)input_buffer[0];\n          pcVar14 = input_buffer + 1;\n        }" { (expression_statement "uVar9 = (uint)(byte)input_buffer[0];" (assignment_expression "uVar9 = (uint)(byte)input_buffer[0]" identifier = (cast_expression "(uint)(byte)input_buffer[0]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)input_buffer[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "input_buffer[0]" identifier [ number_literal ])))) ;) (expression_statement "pcVar14 = input_buffer + 1;" (assignment_expression "pcVar14 = input_buffer + 1" identifier = (binary_expression "input_buffer + 1" identifier + number_literal)) ;) }))) })) (labeled_statement "LAB_00016b1d:\n      state = 0;" statement_identifier : (expression_statement "state = 0;" (assignment_expression "state = 0" identifier = number_literal) ;)) (expression_statement "*pbVar12 = (byte)uVar9;" (assignment_expression "*pbVar12 = (byte)uVar9" (pointer_expression "*pbVar12" * identifier) = (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (pbVar5 < pbVar4) goto _L47;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto _L47;" goto statement_identifier ;)) })))) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (case_statement "case 5:\n_L50:\n    pbVar12 = pbVar5;\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n      pcVar14 = pcVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != do_scrub_chars::quotechar)) &&\n         (pbVar7 = (byte *)pcVar18, bVar3 != 10)) {\n        while ((pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c))) {\n          if ((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)) break;\n        }\n        sVar16 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar8 - (int)pcVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar16 = (int)pbVar8 - (int)pcVar18;\n        }\n        if (0 < (int)sVar16) {\n          pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n          memcpy(pbVar5,pcVar18,sVar16);\n          pbVar5 = pbVar5 + sVar16;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar12 = pbVar5;\n          if (pcVar13 <= pcVar14) goto LAB_00016a7d;\n        }\n      }\n      pbVar5 = pbVar12 + 1;\n      bVar3 = *pcVar14;\n    }\n    else {\nLAB_00016a7d:\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pbVar5 = pbVar12 + 1;\n      if (sVar10 == 0) {\n        iVar19 = (int)do_scrub_chars::quotechar;\n        pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        as_warn(pcVar18,iVar19);\n        iVar19 = old_state;\n        do_scrub_chars::lexical_block_16::one_char_buf[0] = '\n';\n        state = old_state;\n        *pbVar12 = do_scrub_chars::quotechar;\n        if (pbVar4 <= pbVar5) {\n          saved_input_len = 1;\n          saved_input = do_scrub_chars::lexical_block_16::one_char_buf;\n          goto LAB_00016538;\n        }\n        pcVar13 = &do_scrub_chars::quotechar;\n        pcVar18 = do_scrub_chars::lexical_block_16::one_char_buf;\n        goto LAB_0001649b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    iVar19 = old_state;\n    pcVar18 = (char *)((byte *)pcVar14 + 1);\n    if ((int)do_scrub_chars::quotechar == (uint)bVar3) {\n      state = old_state;\n      *pbVar12 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        state = 6;\n        *pbVar12 = 0x5c;\n        pcVar14 = pcVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto _L48;\n      }\n      *pbVar12 = bVar3;\n      iVar19 = state;\n    }\n    break;" case number_literal : (labeled_statement "_L50:\n    pbVar12 = pbVar5;" statement_identifier : (expression_statement "pbVar12 = pbVar5;" (assignment_expression "pbVar12 = pbVar5" identifier = identifier) ;)) (if_statement "if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n      pcVar14 = pcVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != do_scrub_chars::quotechar)) &&\n         (pbVar7 = (byte *)pcVar18, bVar3 != 10)) {\n        while ((pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c))) {\n          if ((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)) break;\n        }\n        sVar16 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar8 - (int)pcVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar16 = (int)pbVar8 - (int)pcVar18;\n        }\n        if (0 < (int)sVar16) {\n          pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n          memcpy(pbVar5,pcVar18,sVar16);\n          pbVar5 = pbVar5 + sVar16;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar12 = pbVar5;\n          if (pcVar13 <= pcVar14) goto LAB_00016a7d;\n        }\n      }\n      pbVar5 = pbVar12 + 1;\n      bVar3 = *pcVar14;\n    }\n    else {\nLAB_00016a7d:\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pbVar5 = pbVar12 + 1;\n      if (sVar10 == 0) {\n        iVar19 = (int)do_scrub_chars::quotechar;\n        pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        as_warn(pcVar18,iVar19);\n        iVar19 = old_state;\n        do_scrub_chars::lexical_block_16::one_char_buf[0] = '\n';\n        state = old_state;\n        *pbVar12 = do_scrub_chars::quotechar;\n        if (pbVar4 <= pbVar5) {\n          saved_input_len = 1;\n          saved_input = do_scrub_chars::lexical_block_16::one_char_buf;\n          goto LAB_00016538;\n        }\n        pcVar13 = &do_scrub_chars::quotechar;\n        pcVar18 = do_scrub_chars::lexical_block_16::one_char_buf;\n        goto LAB_0001649b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }" if (parenthesized_expression "(pcVar18 < pcVar13)" ( (binary_expression "pcVar18 < pcVar13" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pcVar18;\n      pcVar14 = pcVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != do_scrub_chars::quotechar)) &&\n         (pbVar7 = (byte *)pcVar18, bVar3 != 10)) {\n        while ((pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c))) {\n          if ((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)) break;\n        }\n        sVar16 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar8 - (int)pcVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar16 = (int)pbVar8 - (int)pcVar18;\n        }\n        if (0 < (int)sVar16) {\n          pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n          memcpy(pbVar5,pcVar18,sVar16);\n          pbVar5 = pbVar5 + sVar16;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar12 = pbVar5;\n          if (pcVar13 <= pcVar14) goto LAB_00016a7d;\n        }\n      }\n      pbVar5 = pbVar12 + 1;\n      bVar3 = *pcVar14;\n    }" { (expression_statement "bVar3 = *pcVar18;" (assignment_expression "bVar3 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;) (if_statement "if (((bVar3 != 0x5c) && (bVar3 != do_scrub_chars::quotechar)) &&\n         (pbVar7 = (byte *)pcVar18, bVar3 != 10)) {\n        while ((pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c))) {\n          if ((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)) break;\n        }\n        sVar16 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar8 - (int)pcVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar16 = (int)pbVar8 - (int)pcVar18;\n        }\n        if (0 < (int)sVar16) {\n          pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n          memcpy(pbVar5,pcVar18,sVar16);\n          pbVar5 = pbVar5 + sVar16;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar12 = pbVar5;\n          if (pcVar13 <= pcVar14) goto LAB_00016a7d;\n        }\n      }" if (parenthesized_expression "(((bVar3 != 0x5c) && (bVar3 != do_scrub_chars::quotechar)) &&\n         (pbVar7 = (byte *)pcVar18, bVar3 != 10))" ( (binary_expression "((bVar3 != 0x5c) && (bVar3 != do_scrub_chars::quotechar)) &&\n         (pbVar7 = (byte *)pcVar18, bVar3 != 10)" (parenthesized_expression "((bVar3 != 0x5c) && (bVar3 != do_scrub_chars::quotechar))" ( (binary_expression "(bVar3 != 0x5c) && (bVar3 != do_scrub_chars::quotechar)" (parenthesized_expression "(bVar3 != 0x5c)" ( (binary_expression "bVar3 != 0x5c" identifier != number_literal) )) && (parenthesized_expression "(bVar3 != do_scrub_chars::quotechar)" ( (binary_expression "bVar3 != do_scrub_chars" identifier != identifier) (ERROR "::quotechar" : : identifier) ))) )) && (parenthesized_expression "(pbVar7 = (byte *)pcVar18, bVar3 != 10)" ( (comma_expression "pbVar7 = (byte *)pcVar18, bVar3 != 10" (assignment_expression "pbVar7 = (byte *)pcVar18" identifier = (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "bVar3 != 10" identifier != number_literal)) ))) )) (compound_statement "{\n        while ((pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c))) {\n          if ((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)) break;\n        }\n        sVar16 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar8 - (int)pcVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar16 = (int)pbVar8 - (int)pcVar18;\n        }\n        if (0 < (int)sVar16) {\n          pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n          memcpy(pbVar5,pcVar18,sVar16);\n          pbVar5 = pbVar5 + sVar16;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar12 = pbVar5;\n          if (pcVar13 <= pcVar14) goto LAB_00016a7d;\n        }\n      }" { (while_statement "while ((pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c))) {\n          if ((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)) break;\n        }" while (parenthesized_expression "((pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c)))" ( (parenthesized_expression "(pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c))" ( (comma_expression "pbVar7 = pbVar7 + 1, pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c)" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) , (comma_expression "pbVar8 = (byte *)pcVar13, pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c)" (assignment_expression "pbVar8 = (byte *)pcVar13" identifier = (cast_expression "(byte *)pcVar13" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "pbVar7 != (byte *)pcVar13 &&\n               (bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c)" (binary_expression "pbVar7 != (byte *)pcVar13" identifier != (cast_expression "(byte *)pcVar13" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) && (parenthesized_expression "(bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c)" ( (comma_expression "bVar3 = *pbVar7, pbVar8 = pbVar7, bVar3 != 0x5c" (assignment_expression "bVar3 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) , (comma_expression "pbVar8 = pbVar7, bVar3 != 0x5c" (assignment_expression "pbVar8 = pbVar7" identifier = identifier) , (binary_expression "bVar3 != 0x5c" identifier != number_literal))) ))))) )) )) (compound_statement "{\n          if ((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)) break;\n        }" { (if_statement "if ((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)) break;" if (parenthesized_expression "((bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10))" ( (binary_expression "(bVar3 == do_scrub_chars::quotechar) || (bVar3 == 10)" (parenthesized_expression "(bVar3 == do_scrub_chars::quotechar)" ( (binary_expression "bVar3 == do_scrub_chars" identifier == identifier) (ERROR "::quotechar" : : identifier) )) || (parenthesized_expression "(bVar3 == 10)" ( (binary_expression "bVar3 == 10" identifier == number_literal) ))) )) (break_statement "break;" break ;)) })) (expression_statement "sVar16 = (int)pbVar4 - (int)pbVar5;" (assignment_expression "sVar16 = (int)pbVar4 - (int)pbVar5" identifier = (binary_expression "(int)pbVar4 - (int)pbVar5" (cast_expression "(int)pbVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)pbVar8 - (int)pcVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar16 = (int)pbVar8 - (int)pcVar18;\n        }" if (parenthesized_expression "((int)pbVar8 - (int)pcVar18 <= (int)pbVar4 - (int)pbVar5)" ( (binary_expression "(int)pbVar8 - (int)pcVar18 <= (int)pbVar4 - (int)pbVar5" (binary_expression "(int)pbVar8 - (int)pcVar18" (cast_expression "(int)pbVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier)) <= (binary_expression "(int)pbVar4 - (int)pbVar5" (cast_expression "(int)pbVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n          sVar16 = (int)pbVar8 - (int)pcVar18;\n        }" { (expression_statement "sVar16 = (int)pbVar8 - (int)pcVar18;" (assignment_expression "sVar16 = (int)pbVar8 - (int)pcVar18" identifier = (binary_expression "(int)pbVar8 - (int)pcVar18" (cast_expression "(int)pbVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (if_statement "if (0 < (int)sVar16) {\n          pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n          memcpy(pbVar5,pcVar18,sVar16);\n          pbVar5 = pbVar5 + sVar16;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar12 = pbVar5;\n          if (pcVar13 <= pcVar14) goto LAB_00016a7d;\n        }" if (parenthesized_expression "(0 < (int)sVar16)" ( (binary_expression "0 < (int)sVar16" number_literal < (cast_expression "(int)sVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n          memcpy(pbVar5,pcVar18,sVar16);\n          pbVar5 = pbVar5 + sVar16;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar12 = pbVar5;\n          if (pcVar13 <= pcVar14) goto LAB_00016a7d;\n        }" { (expression_statement "pcVar14 = (char *)((byte *)pcVar18 + sVar16);" (assignment_expression "pcVar14 = (char *)((byte *)pcVar18 + sVar16)" identifier = (cast_expression "(char *)((byte *)pcVar18 + sVar16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + sVar16)" ( (binary_expression "(byte *)pcVar18 + sVar16" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + identifier) )))) ;) (expression_statement "memcpy(pbVar5,pcVar18,sVar16);" (call_expression "memcpy(pbVar5,pcVar18,sVar16)" identifier (argument_list "(pbVar5,pcVar18,sVar16)" ( identifier , identifier , identifier ))) ;) (expression_statement "pbVar5 = pbVar5 + sVar16;" (assignment_expression "pbVar5 = pbVar5 + sVar16" identifier = (binary_expression "pbVar5 + sVar16" identifier + identifier)) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (expression_statement "pbVar12 = pbVar5;" (assignment_expression "pbVar12 = pbVar5" identifier = identifier) ;) (if_statement "if (pcVar13 <= pcVar14) goto LAB_00016a7d;" if (parenthesized_expression "(pcVar13 <= pcVar14)" ( (binary_expression "pcVar13 <= pcVar14" identifier <= identifier) )) (goto_statement "goto LAB_00016a7d;" goto statement_identifier ;)) })) })) (expression_statement "pbVar5 = pbVar12 + 1;" (assignment_expression "pbVar5 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pcVar14;" (assignment_expression "bVar3 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) }) (else_clause "else {\nLAB_00016a7d:\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pbVar5 = pbVar12 + 1;\n      if (sVar10 == 0) {\n        iVar19 = (int)do_scrub_chars::quotechar;\n        pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        as_warn(pcVar18,iVar19);\n        iVar19 = old_state;\n        do_scrub_chars::lexical_block_16::one_char_buf[0] = '\n';\n        state = old_state;\n        *pbVar12 = do_scrub_chars::quotechar;\n        if (pbVar4 <= pbVar5) {\n          saved_input_len = 1;\n          saved_input = do_scrub_chars::lexical_block_16::one_char_buf;\n          goto LAB_00016538;\n        }\n        pcVar13 = &do_scrub_chars::quotechar;\n        pcVar18 = do_scrub_chars::lexical_block_16::one_char_buf;\n        goto LAB_0001649b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }" else (compound_statement "{\nLAB_00016a7d:\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pbVar5 = pbVar12 + 1;\n      if (sVar10 == 0) {\n        iVar19 = (int)do_scrub_chars::quotechar;\n        pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        as_warn(pcVar18,iVar19);\n        iVar19 = old_state;\n        do_scrub_chars::lexical_block_16::one_char_buf[0] = '\n';\n        state = old_state;\n        *pbVar12 = do_scrub_chars::quotechar;\n        if (pbVar4 <= pbVar5) {\n          saved_input_len = 1;\n          saved_input = do_scrub_chars::lexical_block_16::one_char_buf;\n          goto LAB_00016538;\n        }\n        pcVar13 = &do_scrub_chars::quotechar;\n        pcVar18 = do_scrub_chars::lexical_block_16::one_char_buf;\n        goto LAB_0001649b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar14 = input_buffer;\n      bVar3 = input_buffer[0];\n    }" { (labeled_statement "LAB_00016a7d:\n      saved_input = (char *)0x0;" statement_identifier : (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (expression_statement "pbVar5 = pbVar12 + 1;" (assignment_expression "pbVar5 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (if_statement "if (sVar10 == 0) {\n        iVar19 = (int)do_scrub_chars::quotechar;\n        pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        as_warn(pcVar18,iVar19);\n        iVar19 = old_state;\n        do_scrub_chars::lexical_block_16::one_char_buf[0] = '\n';\n        state = old_state;\n        *pbVar12 = do_scrub_chars::quotechar;\n        if (pbVar4 <= pbVar5) {\n          saved_input_len = 1;\n          saved_input = do_scrub_chars::lexical_block_16::one_char_buf;\n          goto LAB_00016538;\n        }\n        pcVar13 = &do_scrub_chars::quotechar;\n        pcVar18 = do_scrub_chars::lexical_block_16::one_char_buf;\n        goto LAB_0001649b;\n      }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar19 = (int)do_scrub_chars::quotechar;\n        pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        as_warn(pcVar18,iVar19);\n        iVar19 = old_state;\n        do_scrub_chars::lexical_block_16::one_char_buf[0] = '\n';\n        state = old_state;\n        *pbVar12 = do_scrub_chars::quotechar;\n        if (pbVar4 <= pbVar5) {\n          saved_input_len = 1;\n          saved_input = do_scrub_chars::lexical_block_16::one_char_buf;\n          goto LAB_00016538;\n        }\n        pcVar13 = &do_scrub_chars::quotechar;\n        pcVar18 = do_scrub_chars::lexical_block_16::one_char_buf;\n        goto LAB_0001649b;\n      }" { (expression_statement "iVar19 = (int)do_scrub_chars::quotechar;" (assignment_expression "iVar19 = (int)do_scrub_chars" identifier = (cast_expression "(int)do_scrub_chars" ( (type_descriptor "int" primitive_type) ) identifier)) (ERROR "::quotechar" : : identifier) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5)" identifier = (cast_expression "(char *)dcgettext(0,"end of file in string; \'%c\' inserted",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"end of file in string; \'%c\' inserted",5)" identifier (argument_list "(0,"end of file in string; \'%c\' inserted",5)" ( number_literal , (string_literal ""end of file in string; \'%c\' inserted"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar18,iVar19);" (call_expression "as_warn(pcVar18,iVar19)" identifier (argument_list "(pcVar18,iVar19)" ( identifier , identifier ))) ;) (expression_statement "iVar19 = old_state;" (assignment_expression "iVar19 = old_state" identifier = identifier) ;) (labeled_statement "do_scrub_chars::lexical_block_16::one_char_buf[0] = '\n';" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_16::one_char_buf[0] = '\n';" statement_identifier : (ERROR ":" :) (expression_statement "one_char_buf[0] = '\n';" (assignment_expression "one_char_buf[0] = '\n'" (subscript_expression "one_char_buf[0]" identifier [ number_literal ]) = (char_literal "'\n'" ' escape_sequence ')) ;))) (expression_statement "state = old_state;" (assignment_expression "state = old_state" identifier = identifier) ;) (expression_statement "*pbVar12 = do_scrub_chars::quotechar;" (assignment_expression "*pbVar12 = do_scrub_chars" (pointer_expression "*pbVar12" * identifier) = identifier) (ERROR "::quotechar" : : identifier) ;) (if_statement "if (pbVar4 <= pbVar5) {\n          saved_input_len = 1;\n          saved_input = do_scrub_chars::lexical_block_16::one_char_buf;\n          goto LAB_00016538;\n        }" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (compound_statement "{\n          saved_input_len = 1;\n          saved_input = do_scrub_chars::lexical_block_16::one_char_buf;\n          goto LAB_00016538;\n        }" { (expression_statement "saved_input_len = 1;" (assignment_expression "saved_input_len = 1" identifier = number_literal) ;) (ERROR "saved_input = do_scrub_chars::" (assignment_expression "saved_input = do_scrub_chars" identifier = identifier) : :) (labeled_statement "lexical_block_16::one_char_buf;" statement_identifier : (ERROR ":" :) (expression_statement "one_char_buf;" identifier ;)) (goto_statement "goto LAB_00016538;" goto statement_identifier ;) })) (expression_statement "pcVar13 = &do_scrub_chars::quotechar;" (assignment_expression "pcVar13 = &do_scrub_chars" identifier = (pointer_expression "&do_scrub_chars" & identifier)) (ERROR "::quotechar" : : identifier) ;) (ERROR "pcVar18 = do_scrub_chars::" (assignment_expression "pcVar18 = do_scrub_chars" identifier = identifier) : :) (labeled_statement "lexical_block_16::one_char_buf;" statement_identifier : (ERROR ":" :) (expression_statement "one_char_buf;" identifier ;)) (goto_statement "goto LAB_0001649b;" goto statement_identifier ;) })) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "pcVar14 = input_buffer;" (assignment_expression "pcVar14 = input_buffer" identifier = identifier) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) }))) (expression_statement "iVar19 = old_state;" (assignment_expression "iVar19 = old_state" identifier = identifier) ;) (expression_statement "pcVar18 = (char *)((byte *)pcVar14 + 1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar14 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar14 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar14 + 1)" ( (binary_expression "(byte *)pcVar14 + 1" (cast_expression "(byte *)pcVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (if_statement "if ((int)do_scrub_chars::quotechar == (uint)bVar3) {\n      state = old_state;\n      *pbVar12 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        state = 6;\n        *pbVar12 = 0x5c;\n        pcVar14 = pcVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto _L48;\n      }\n      *pbVar12 = bVar3;\n      iVar19 = state;\n    }" if (parenthesized_expression "((int)do_scrub_chars::quotechar == (uint)bVar3)" ( (binary_expression "(int)do_scrub_chars::quotechar == (uint)bVar3" (cast_expression "(int)do_scrub_chars" ( (type_descriptor "int" primitive_type) ) identifier) (ERROR "::quotechar" : : identifier) == (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (compound_statement "{\n      state = old_state;\n      *pbVar12 = bVar3;\n    }" { (expression_statement "state = old_state;" (assignment_expression "state = old_state" identifier = identifier) ;) (expression_statement "*pbVar12 = bVar3;" (assignment_expression "*pbVar12 = bVar3" (pointer_expression "*pbVar12" * identifier) = identifier) ;) }) (else_clause "else {\n      if (bVar3 == 0x5c) {\n        state = 6;\n        *pbVar12 = 0x5c;\n        pcVar14 = pcVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto _L48;\n      }\n      *pbVar12 = bVar3;\n      iVar19 = state;\n    }" else (compound_statement "{\n      if (bVar3 == 0x5c) {\n        state = 6;\n        *pbVar12 = 0x5c;\n        pcVar14 = pcVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto _L48;\n      }\n      *pbVar12 = bVar3;\n      iVar19 = state;\n    }" { (if_statement "if (bVar3 == 0x5c) {\n        state = 6;\n        *pbVar12 = 0x5c;\n        pcVar14 = pcVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto _L48;\n      }" if (parenthesized_expression "(bVar3 == 0x5c)" ( (binary_expression "bVar3 == 0x5c" identifier == number_literal) )) (compound_statement "{\n        state = 6;\n        *pbVar12 = 0x5c;\n        pcVar14 = pcVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto _L48;\n      }" { (expression_statement "state = 6;" (assignment_expression "state = 6" identifier = number_literal) ;) (expression_statement "*pbVar12 = 0x5c;" (assignment_expression "*pbVar12 = 0x5c" (pointer_expression "*pbVar12" * identifier) = number_literal) ;) (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (goto_statement "goto _L48;" goto statement_identifier ;) })) (expression_statement "*pbVar12 = bVar3;" (assignment_expression "*pbVar12 = bVar3" (pointer_expression "*pbVar12" * identifier) = identifier) ;) (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case 6:\n_L48:\n    state = 5;\n    pbVar12 = pbVar5 + 1;\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\njoined_r0x00016a19:\n      pcVar18 = (char *)((byte *)pcVar18 + 1);\n      if (bVar3 == 10) {\n        ((byte *)pcVar18)[-1] = 0x6e;\n        pcVar18 = (char *)((byte *)pcVar18 + -1);\n        add_newlines = add_newlines + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      break;\n    }\n    saved_input = (char *)0x0;\n    sVar10 = (*get)(input_buffer,0x8000);\n    if (sVar10 != 0) {\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      goto joined_r0x00016a19;\n    }\n    iVar19 = (int)do_scrub_chars::quotechar;\n    pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    as_warn(pcVar18,iVar19);\n    *pbVar5 = do_scrub_chars::quotechar;\n    pbVar5 = pbVar12;\n    iVar19 = state;\njoined_r0x00016c7b:\n    pcVar13 = input_buffer;\n    pcVar18 = pcVar13;\n    state = iVar19;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      saved_input = (char *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)tostart;\n    }\n    goto LAB_0001649b;" case number_literal : (labeled_statement "_L48:\n    state = 5;" statement_identifier : (expression_statement "state = 5;" (assignment_expression "state = 5" identifier = number_literal) ;)) (expression_statement "pbVar12 = pbVar5 + 1;" (assignment_expression "pbVar12 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\njoined_r0x00016a19:\n      pcVar18 = (char *)((byte *)pcVar18 + 1);\n      if (bVar3 == 10) {\n        ((byte *)pcVar18)[-1] = 0x6e;\n        pcVar18 = (char *)((byte *)pcVar18 + -1);\n        add_newlines = add_newlines + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      break;\n    }" if (parenthesized_expression "(pcVar18 < pcVar13)" ( (binary_expression "pcVar18 < pcVar13" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pcVar18;\njoined_r0x00016a19:\n      pcVar18 = (char *)((byte *)pcVar18 + 1);\n      if (bVar3 == 10) {\n        ((byte *)pcVar18)[-1] = 0x6e;\n        pcVar18 = (char *)((byte *)pcVar18 + -1);\n        add_newlines = add_newlines + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      break;\n    }" { (expression_statement "bVar3 = *pcVar18;" (assignment_expression "bVar3 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (labeled_statement "joined_r0x00016a19:\n      pcVar18 = (char *)((byte *)pcVar18 + 1);" statement_identifier : (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + 1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + 1)" ( (binary_expression "(byte *)pcVar18 + 1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;)) (if_statement "if (bVar3 == 10) {\n        ((byte *)pcVar18)[-1] = 0x6e;\n        pcVar18 = (char *)((byte *)pcVar18 + -1);\n        add_newlines = add_newlines + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }" if (parenthesized_expression "(bVar3 == 10)" ( (binary_expression "bVar3 == 10" identifier == number_literal) )) (compound_statement "{\n        ((byte *)pcVar18)[-1] = 0x6e;\n        pcVar18 = (char *)((byte *)pcVar18 + -1);\n        add_newlines = add_newlines + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }" { (expression_statement "((byte *)pcVar18)[-1] = 0x6e;" (assignment_expression "((byte *)pcVar18)[-1] = 0x6e" (subscript_expression "((byte *)pcVar18)[-1]" (parenthesized_expression "((byte *)pcVar18)" ( (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + -1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + -1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + -1)" ( (binary_expression "(byte *)pcVar18 + -1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "add_newlines = add_newlines + 1;" (assignment_expression "add_newlines = add_newlines + 1" identifier = (binary_expression "add_newlines + 1" identifier + number_literal)) ;) (expression_statement "*pbVar5 = 0x5c;" (assignment_expression "*pbVar5 = 0x5c" (pointer_expression "*pbVar5" * identifier) = number_literal) ;) (expression_statement "pbVar5 = pbVar12;" (assignment_expression "pbVar5 = pbVar12" identifier = identifier) ;) (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) }) (else_clause "else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }" else (compound_statement "{\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar12;\n        iVar19 = state;\n      }" { (expression_statement "*pbVar5 = bVar3;" (assignment_expression "*pbVar5 = bVar3" (pointer_expression "*pbVar5" * identifier) = identifier) ;) (expression_statement "pbVar5 = pbVar12;" (assignment_expression "pbVar5 = pbVar12" identifier = identifier) ;) (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) }))) (break_statement "break;" break ;) })) (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (if_statement "if (sVar10 != 0) {\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      goto joined_r0x00016a19;\n    }" if (parenthesized_expression "(sVar10 != 0)" ( (binary_expression "sVar10 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n      goto joined_r0x00016a19;\n    }" { (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "pcVar18 = input_buffer;" (assignment_expression "pcVar18 = input_buffer" identifier = identifier) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x00016a19;" goto statement_identifier ;) })) (expression_statement "iVar19 = (int)do_scrub_chars::quotechar;" (assignment_expression "iVar19 = (int)do_scrub_chars" identifier = (cast_expression "(int)do_scrub_chars" ( (type_descriptor "int" primitive_type) ) identifier)) (ERROR "::quotechar" : : identifier) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"end of file in string; \'%c\' inserted",5)" identifier = (cast_expression "(char *)dcgettext(0,"end of file in string; \'%c\' inserted",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"end of file in string; \'%c\' inserted",5)" identifier (argument_list "(0,"end of file in string; \'%c\' inserted",5)" ( number_literal , (string_literal ""end of file in string; \'%c\' inserted"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar18,iVar19);" (call_expression "as_warn(pcVar18,iVar19)" identifier (argument_list "(pcVar18,iVar19)" ( identifier , identifier ))) ;) (expression_statement "*pbVar5 = do_scrub_chars::quotechar;" (assignment_expression "*pbVar5 = do_scrub_chars" (pointer_expression "*pbVar5" * identifier) = identifier) (ERROR "::quotechar" : : identifier) ;) (expression_statement "pbVar5 = pbVar12;" (assignment_expression "pbVar5 = pbVar12" identifier = identifier) ;) (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) (labeled_statement "joined_r0x00016c7b:\n    pcVar13 = input_buffer;" statement_identifier : (expression_statement "pcVar13 = input_buffer;" (assignment_expression "pcVar13 = input_buffer" identifier = identifier) ;)) (expression_statement "pcVar18 = pcVar13;" (assignment_expression "pcVar18 = pcVar13" identifier = identifier) ;) (expression_statement "state = iVar19;" (assignment_expression "state = iVar19" identifier = identifier) ;) (if_statement "if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      saved_input = (char *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)tostart;\n    }" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (compound_statement "{\nLAB_000169c8:\n      saved_input = (char *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)tostart;\n    }" { (labeled_statement "LAB_000169c8:\n      saved_input = (char *)0x0;" statement_identifier : (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_00016538:\n      return (int)pbVar5 - (int)tostart;" statement_identifier : (return_statement "return (int)pbVar5 - (int)tostart;" return (binary_expression "(int)pbVar5 - (int)tostart" (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)tostart" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) })) (goto_statement "goto LAB_0001649b;" goto statement_identifier ;)) (case_statement "case -2:\n_L53:\n    pbVar5 = pbVar12;\nLAB_00016570:\n    if (pcVar13 <= pcVar18) goto LAB_000165c0;\n    do {\n      pbVar12 = pbVar5;\n      bVar3 = *pcVar18;\n      while( true ) {\n        pcVar14 = (char *)((byte *)pcVar18 + 1);\n        pcVar18 = pcVar14;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar12 + 1;\n          *pbVar12 = 10;\n          if (pbVar5 < pbVar4) goto LAB_00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar12;\n        if (bVar3 != 0x2a) goto LAB_00016570;\n        do {\n          if (pcVar14 < pcVar13) {\n            bVar3 = *pcVar14;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          iVar19 = old_state;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n        } while (bVar3 == 0x2a);\n        pcVar18 = (char *)((byte *)pcVar14 + -1);\n        if (bVar3 == 0x2f) {\n          state = old_state;\n          ((byte *)pcVar14)[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        ((byte *)pcVar14)[-1] = bVar3;\n        if (pcVar18 < pcVar13) break;\nLAB_000165c0:\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        if (sVar10 == 0) {\nLAB_00016974:\n          pcVar18 = (char *)dcgettext(0,"end of file in comment",5);\n          as_warn(pcVar18);\n          goto LAB_00016992;\n        }\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = input_buffer;\n        pbVar12 = pbVar5;\n        bVar3 = input_buffer[0];\n      }\n    } while( true );" case number_literal : (labeled_statement "_L53:\n    pbVar5 = pbVar12;" statement_identifier : (expression_statement "pbVar5 = pbVar12;" (assignment_expression "pbVar5 = pbVar12" identifier = identifier) ;)) (labeled_statement "LAB_00016570:\n    if (pcVar13 <= pcVar18) goto LAB_000165c0;" statement_identifier : (if_statement "if (pcVar13 <= pcVar18) goto LAB_000165c0;" if (parenthesized_expression "(pcVar13 <= pcVar18)" ( (binary_expression "pcVar13 <= pcVar18" identifier <= identifier) )) (goto_statement "goto LAB_000165c0;" goto statement_identifier ;))) (do_statement "do {\n      pbVar12 = pbVar5;\n      bVar3 = *pcVar18;\n      while( true ) {\n        pcVar14 = (char *)((byte *)pcVar18 + 1);\n        pcVar18 = pcVar14;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar12 + 1;\n          *pbVar12 = 10;\n          if (pbVar5 < pbVar4) goto LAB_00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar12;\n        if (bVar3 != 0x2a) goto LAB_00016570;\n        do {\n          if (pcVar14 < pcVar13) {\n            bVar3 = *pcVar14;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          iVar19 = old_state;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n        } while (bVar3 == 0x2a);\n        pcVar18 = (char *)((byte *)pcVar14 + -1);\n        if (bVar3 == 0x2f) {\n          state = old_state;\n          ((byte *)pcVar14)[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        ((byte *)pcVar14)[-1] = bVar3;\n        if (pcVar18 < pcVar13) break;\nLAB_000165c0:\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        if (sVar10 == 0) {\nLAB_00016974:\n          pcVar18 = (char *)dcgettext(0,"end of file in comment",5);\n          as_warn(pcVar18);\n          goto LAB_00016992;\n        }\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = input_buffer;\n        pbVar12 = pbVar5;\n        bVar3 = input_buffer[0];\n      }\n    } while( true );" do (compound_statement "{\n      pbVar12 = pbVar5;\n      bVar3 = *pcVar18;\n      while( true ) {\n        pcVar14 = (char *)((byte *)pcVar18 + 1);\n        pcVar18 = pcVar14;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar12 + 1;\n          *pbVar12 = 10;\n          if (pbVar5 < pbVar4) goto LAB_00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar12;\n        if (bVar3 != 0x2a) goto LAB_00016570;\n        do {\n          if (pcVar14 < pcVar13) {\n            bVar3 = *pcVar14;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          iVar19 = old_state;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n        } while (bVar3 == 0x2a);\n        pcVar18 = (char *)((byte *)pcVar14 + -1);\n        if (bVar3 == 0x2f) {\n          state = old_state;\n          ((byte *)pcVar14)[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        ((byte *)pcVar14)[-1] = bVar3;\n        if (pcVar18 < pcVar13) break;\nLAB_000165c0:\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        if (sVar10 == 0) {\nLAB_00016974:\n          pcVar18 = (char *)dcgettext(0,"end of file in comment",5);\n          as_warn(pcVar18);\n          goto LAB_00016992;\n        }\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = input_buffer;\n        pbVar12 = pbVar5;\n        bVar3 = input_buffer[0];\n      }\n    }" { (expression_statement "pbVar12 = pbVar5;" (assignment_expression "pbVar12 = pbVar5" identifier = identifier) ;) (expression_statement "bVar3 = *pcVar18;" (assignment_expression "bVar3 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (while_statement "while( true ) {\n        pcVar14 = (char *)((byte *)pcVar18 + 1);\n        pcVar18 = pcVar14;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar12 + 1;\n          *pbVar12 = 10;\n          if (pbVar5 < pbVar4) goto LAB_00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar12;\n        if (bVar3 != 0x2a) goto LAB_00016570;\n        do {\n          if (pcVar14 < pcVar13) {\n            bVar3 = *pcVar14;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          iVar19 = old_state;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n        } while (bVar3 == 0x2a);\n        pcVar18 = (char *)((byte *)pcVar14 + -1);\n        if (bVar3 == 0x2f) {\n          state = old_state;\n          ((byte *)pcVar14)[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        ((byte *)pcVar14)[-1] = bVar3;\n        if (pcVar18 < pcVar13) break;\nLAB_000165c0:\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        if (sVar10 == 0) {\nLAB_00016974:\n          pcVar18 = (char *)dcgettext(0,"end of file in comment",5);\n          as_warn(pcVar18);\n          goto LAB_00016992;\n        }\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = input_buffer;\n        pbVar12 = pbVar5;\n        bVar3 = input_buffer[0];\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pcVar14 = (char *)((byte *)pcVar18 + 1);\n        pcVar18 = pcVar14;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar12 + 1;\n          *pbVar12 = 10;\n          if (pbVar5 < pbVar4) goto LAB_00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar12;\n        if (bVar3 != 0x2a) goto LAB_00016570;\n        do {\n          if (pcVar14 < pcVar13) {\n            bVar3 = *pcVar14;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          iVar19 = old_state;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n        } while (bVar3 == 0x2a);\n        pcVar18 = (char *)((byte *)pcVar14 + -1);\n        if (bVar3 == 0x2f) {\n          state = old_state;\n          ((byte *)pcVar14)[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        ((byte *)pcVar14)[-1] = bVar3;\n        if (pcVar18 < pcVar13) break;\nLAB_000165c0:\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        if (sVar10 == 0) {\nLAB_00016974:\n          pcVar18 = (char *)dcgettext(0,"end of file in comment",5);\n          as_warn(pcVar18);\n          goto LAB_00016992;\n        }\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = input_buffer;\n        pbVar12 = pbVar5;\n        bVar3 = input_buffer[0];\n      }" { (expression_statement "pcVar14 = (char *)((byte *)pcVar18 + 1);" (assignment_expression "pcVar14 = (char *)((byte *)pcVar18 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + 1)" ( (binary_expression "(byte *)pcVar18 + 1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar18 = pcVar14;" (assignment_expression "pcVar18 = pcVar14" identifier = identifier) ;) (if_statement "if (bVar3 == 10) {\n          pbVar5 = pbVar12 + 1;\n          *pbVar12 = 10;\n          if (pbVar5 < pbVar4) goto LAB_00016570;\n          goto LAB_00016520;\n        }" if (parenthesized_expression "(bVar3 == 10)" ( (binary_expression "bVar3 == 10" identifier == number_literal) )) (compound_statement "{\n          pbVar5 = pbVar12 + 1;\n          *pbVar12 = 10;\n          if (pbVar5 < pbVar4) goto LAB_00016570;\n          goto LAB_00016520;\n        }" { (expression_statement "pbVar5 = pbVar12 + 1;" (assignment_expression "pbVar5 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar12 = 10;" (assignment_expression "*pbVar12 = 10" (pointer_expression "*pbVar12" * identifier) = number_literal) ;) (if_statement "if (pbVar5 < pbVar4) goto LAB_00016570;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto LAB_00016570;" goto statement_identifier ;)) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) (expression_statement "pbVar5 = pbVar12;" (assignment_expression "pbVar5 = pbVar12" identifier = identifier) ;) (if_statement "if (bVar3 != 0x2a) goto LAB_00016570;" if (parenthesized_expression "(bVar3 != 0x2a)" ( (binary_expression "bVar3 != 0x2a" identifier != number_literal) )) (goto_statement "goto LAB_00016570;" goto statement_identifier ;)) (do_statement "do {\n          if (pcVar14 < pcVar13) {\n            bVar3 = *pcVar14;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          iVar19 = old_state;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n        } while (bVar3 == 0x2a);" do (compound_statement "{\n          if (pcVar14 < pcVar13) {\n            bVar3 = *pcVar14;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }\n          iVar19 = old_state;\n          pcVar14 = (char *)((byte *)pcVar14 + 1);\n        }" { (if_statement "if (pcVar14 < pcVar13) {\n            bVar3 = *pcVar14;\n          }\n          else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }" if (parenthesized_expression "(pcVar14 < pcVar13)" ( (binary_expression "pcVar14 < pcVar13" identifier < identifier) )) (compound_statement "{\n            bVar3 = *pcVar14;\n          }" { (expression_statement "bVar3 = *pcVar14;" (assignment_expression "bVar3 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) }) (else_clause "else {\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }" else (compound_statement "{\n            saved_input = (char *)0x0;\n            sVar10 = (*get)(input_buffer,0x8000);\n            if (sVar10 == 0) goto LAB_00016974;\n            pcVar13 = input_buffer + sVar10;\n            pcVar14 = input_buffer;\n            bVar3 = input_buffer[0];\n          }" { (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (if_statement "if (sVar10 == 0) goto LAB_00016974;" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00016974;" goto statement_identifier ;)) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "pcVar14 = input_buffer;" (assignment_expression "pcVar14 = input_buffer" identifier = identifier) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) }))) (expression_statement "iVar19 = old_state;" (assignment_expression "iVar19 = old_state" identifier = identifier) ;) (expression_statement "pcVar14 = (char *)((byte *)pcVar14 + 1);" (assignment_expression "pcVar14 = (char *)((byte *)pcVar14 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar14 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar14 + 1)" ( (binary_expression "(byte *)pcVar14 + 1" (cast_expression "(byte *)pcVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar3 == 0x2a)" ( (binary_expression "bVar3 == 0x2a" identifier == number_literal) )) ;) (expression_statement "pcVar18 = (char *)((byte *)pcVar14 + -1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar14 + -1)" identifier = (cast_expression "(char *)((byte *)pcVar14 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar14 + -1)" ( (binary_expression "(byte *)pcVar14 + -1" (cast_expression "(byte *)pcVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (if_statement "if (bVar3 == 0x2f) {\n          state = old_state;\n          ((byte *)pcVar14)[-1] = 0x20;\n          goto LAB_0001649b;\n        }" if (parenthesized_expression "(bVar3 == 0x2f)" ( (binary_expression "bVar3 == 0x2f" identifier == number_literal) )) (compound_statement "{\n          state = old_state;\n          ((byte *)pcVar14)[-1] = 0x20;\n          goto LAB_0001649b;\n        }" { (expression_statement "state = old_state;" (assignment_expression "state = old_state" identifier = identifier) ;) (expression_statement "((byte *)pcVar14)[-1] = 0x20;" (assignment_expression "((byte *)pcVar14)[-1] = 0x20" (subscript_expression "((byte *)pcVar14)[-1]" (parenthesized_expression "((byte *)pcVar14)" ( (cast_expression "(byte *)pcVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001649b;" goto statement_identifier ;) })) (expression_statement "((byte *)pcVar14)[-1] = bVar3;" (assignment_expression "((byte *)pcVar14)[-1] = bVar3" (subscript_expression "((byte *)pcVar14)[-1]" (parenthesized_expression "((byte *)pcVar14)" ( (cast_expression "(byte *)pcVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (if_statement "if (pcVar18 < pcVar13) break;" if (parenthesized_expression "(pcVar18 < pcVar13)" ( (binary_expression "pcVar18 < pcVar13" identifier < identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000165c0:\n        saved_input = (char *)0x0;" statement_identifier : (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (if_statement "if (sVar10 == 0) {\nLAB_00016974:\n          pcVar18 = (char *)dcgettext(0,"end of file in comment",5);\n          as_warn(pcVar18);\n          goto LAB_00016992;\n        }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00016974:\n          pcVar18 = (char *)dcgettext(0,"end of file in comment",5);\n          as_warn(pcVar18);\n          goto LAB_00016992;\n        }" { (labeled_statement "LAB_00016974:\n          pcVar18 = (char *)dcgettext(0,"end of file in comment",5);" statement_identifier : (expression_statement "pcVar18 = (char *)dcgettext(0,"end of file in comment",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"end of file in comment",5)" identifier = (cast_expression "(char *)dcgettext(0,"end of file in comment",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"end of file in comment",5)" identifier (argument_list "(0,"end of file in comment",5)" ( number_literal , (string_literal ""end of file in comment"" " string_content ") , number_literal ))))) ;)) (expression_statement "as_warn(pcVar18);" (call_expression "as_warn(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (goto_statement "goto LAB_00016992;" goto statement_identifier ;) })) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "pcVar18 = input_buffer;" (assignment_expression "pcVar18 = input_buffer" identifier = identifier) ;) (expression_statement "pbVar12 = pbVar5;" (assignment_expression "pbVar12 = pbVar5" identifier = identifier) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;)) (case_statement "case -1:\n_L52:\n    iVar19 = old_state;\n    pcVar14 = out_string + 1;\n    pcVar15 = out_string + 1;\n    bVar3 = *out_string;\n    out_string = pcVar14;\n    if (*pcVar15 == '\0') {\n      old_state = 3;\n      state = iVar19;\n    }\nLAB_0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    iVar19 = state;" case number_literal : (labeled_statement "_L52:\n    iVar19 = old_state;" statement_identifier : (expression_statement "iVar19 = old_state;" (assignment_expression "iVar19 = old_state" identifier = identifier) ;)) (expression_statement "pcVar14 = out_string + 1;" (assignment_expression "pcVar14 = out_string + 1" identifier = (binary_expression "out_string + 1" identifier + number_literal)) ;) (expression_statement "pcVar15 = out_string + 1;" (assignment_expression "pcVar15 = out_string + 1" identifier = (binary_expression "out_string + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *out_string;" (assignment_expression "bVar3 = *out_string" identifier = (pointer_expression "*out_string" * identifier)) ;) (expression_statement "out_string = pcVar14;" (assignment_expression "out_string = pcVar14" identifier = identifier) ;) (if_statement "if (*pcVar15 == '\0') {\n      old_state = 3;\n      state = iVar19;\n    }" if (parenthesized_expression "(*pcVar15 == '\0')" ( (binary_expression "*pcVar15 == '\0'" (pointer_expression "*pcVar15" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      old_state = 3;\n      state = iVar19;\n    }" { (expression_statement "old_state = 3;" (assignment_expression "old_state = 3" identifier = number_literal) ;) (expression_statement "state = iVar19;" (assignment_expression "state = iVar19" identifier = identifier) ;) })) (labeled_statement "LAB_0001677e:\n    *pbVar5 = bVar3;" statement_identifier : (expression_statement "*pbVar5 = bVar3;" (assignment_expression "*pbVar5 = bVar3" (pointer_expression "*pbVar5" * identifier) = identifier) ;)) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;)) })) (labeled_statement "joined_r0x00016e98:\n  pcVar14 = pcVar18;" statement_identifier : (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;)) (if_statement "if (pbVar5 < pbVar4) goto LAB_0001649b;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto LAB_0001649b;" goto statement_identifier ;)) (labeled_statement "LAB_00016520:\n  if (pcVar14 < pcVar13) {\n    saved_input_len = (int)pcVar13 - (int)pcVar14;\n    saved_input = pcVar14;\n    goto LAB_00016538;\n  }" statement_identifier : (if_statement "if (pcVar14 < pcVar13) {\n    saved_input_len = (int)pcVar13 - (int)pcVar14;\n    saved_input = pcVar14;\n    goto LAB_00016538;\n  }" if (parenthesized_expression "(pcVar14 < pcVar13)" ( (binary_expression "pcVar14 < pcVar13" identifier < identifier) )) (compound_statement "{\n    saved_input_len = (int)pcVar13 - (int)pcVar14;\n    saved_input = pcVar14;\n    goto LAB_00016538;\n  }" { (expression_statement "saved_input_len = (int)pcVar13 - (int)pcVar14;" (assignment_expression "saved_input_len = (int)pcVar13 - (int)pcVar14" identifier = (binary_expression "(int)pcVar13 - (int)pcVar14" (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "saved_input = pcVar14;" (assignment_expression "saved_input = pcVar14" identifier = identifier) ;) (goto_statement "goto LAB_00016538;" goto statement_identifier ;) }))) (goto_statement "goto LAB_000169c8;" goto statement_identifier ;) (labeled_statement "LAB_00017025:\n  if (pbVar5 < pcVar13) {\n    uVar9 = (uint)*pbVar5;\n    cVar2 = lex[uVar9];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    saved_input = (char *)0x0;\n    sVar10 = (*get)(input_buffer,0x8000);\n    pcVar13 = input_buffer + sVar10;\n    if (sVar10 == 0) {\nLAB_0001704e:\n      pcVar18 = (char *)dcgettext(0,"end of file in multiline comment",5);\n      as_warn(pcVar18);\n      pcVar18 = pcVar15;\nLAB_0001706e:\n      uVar9 = (uint)(byte)lex[0x20];\n      local_2c = 0x20;\n      pbVar5 = pbVar12;\n      goto _L101;\n    }\n    uVar9 = (uint)(byte)input_buffer[0];\n    cVar2 = lex[uVar9];\n    pbVar5 = pbVar7;\n  }" statement_identifier : (if_statement "if (pbVar5 < pcVar13) {\n    uVar9 = (uint)*pbVar5;\n    cVar2 = lex[uVar9];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    saved_input = (char *)0x0;\n    sVar10 = (*get)(input_buffer,0x8000);\n    pcVar13 = input_buffer + sVar10;\n    if (sVar10 == 0) {\nLAB_0001704e:\n      pcVar18 = (char *)dcgettext(0,"end of file in multiline comment",5);\n      as_warn(pcVar18);\n      pcVar18 = pcVar15;\nLAB_0001706e:\n      uVar9 = (uint)(byte)lex[0x20];\n      local_2c = 0x20;\n      pbVar5 = pbVar12;\n      goto _L101;\n    }\n    uVar9 = (uint)(byte)input_buffer[0];\n    cVar2 = lex[uVar9];\n    pbVar5 = pbVar7;\n  }" if (parenthesized_expression "(pbVar5 < pcVar13)" ( (binary_expression "pbVar5 < pcVar13" identifier < identifier) )) (compound_statement "{\n    uVar9 = (uint)*pbVar5;\n    cVar2 = lex[uVar9];\n    pbVar5 = pbVar5 + 1;\n  }" { (expression_statement "uVar9 = (uint)*pbVar5;" (assignment_expression "uVar9 = (uint)*pbVar5" identifier = (binary_expression "(uint)*pbVar5" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "cVar2 = lex[uVar9];" (assignment_expression "cVar2 = lex[uVar9]" identifier = (subscript_expression "lex[uVar9]" identifier [ identifier ])) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n    saved_input = (char *)0x0;\n    sVar10 = (*get)(input_buffer,0x8000);\n    pcVar13 = input_buffer + sVar10;\n    if (sVar10 == 0) {\nLAB_0001704e:\n      pcVar18 = (char *)dcgettext(0,"end of file in multiline comment",5);\n      as_warn(pcVar18);\n      pcVar18 = pcVar15;\nLAB_0001706e:\n      uVar9 = (uint)(byte)lex[0x20];\n      local_2c = 0x20;\n      pbVar5 = pbVar12;\n      goto _L101;\n    }\n    uVar9 = (uint)(byte)input_buffer[0];\n    cVar2 = lex[uVar9];\n    pbVar5 = pbVar7;\n  }" else (compound_statement "{\n    saved_input = (char *)0x0;\n    sVar10 = (*get)(input_buffer,0x8000);\n    pcVar13 = input_buffer + sVar10;\n    if (sVar10 == 0) {\nLAB_0001704e:\n      pcVar18 = (char *)dcgettext(0,"end of file in multiline comment",5);\n      as_warn(pcVar18);\n      pcVar18 = pcVar15;\nLAB_0001706e:\n      uVar9 = (uint)(byte)lex[0x20];\n      local_2c = 0x20;\n      pbVar5 = pbVar12;\n      goto _L101;\n    }\n    uVar9 = (uint)(byte)input_buffer[0];\n    cVar2 = lex[uVar9];\n    pbVar5 = pbVar7;\n  }" { (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (if_statement "if (sVar10 == 0) {\nLAB_0001704e:\n      pcVar18 = (char *)dcgettext(0,"end of file in multiline comment",5);\n      as_warn(pcVar18);\n      pcVar18 = pcVar15;\nLAB_0001706e:\n      uVar9 = (uint)(byte)lex[0x20];\n      local_2c = 0x20;\n      pbVar5 = pbVar12;\n      goto _L101;\n    }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0001704e:\n      pcVar18 = (char *)dcgettext(0,"end of file in multiline comment",5);\n      as_warn(pcVar18);\n      pcVar18 = pcVar15;\nLAB_0001706e:\n      uVar9 = (uint)(byte)lex[0x20];\n      local_2c = 0x20;\n      pbVar5 = pbVar12;\n      goto _L101;\n    }" { (labeled_statement "LAB_0001704e:\n      pcVar18 = (char *)dcgettext(0,"end of file in multiline comment",5);" statement_identifier : (expression_statement "pcVar18 = (char *)dcgettext(0,"end of file in multiline comment",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"end of file in multiline comment",5)" identifier = (cast_expression "(char *)dcgettext(0,"end of file in multiline comment",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"end of file in multiline comment",5)" identifier (argument_list "(0,"end of file in multiline comment",5)" ( number_literal , (string_literal ""end of file in multiline comment"" " string_content ") , number_literal ))))) ;)) (expression_statement "as_warn(pcVar18);" (call_expression "as_warn(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (expression_statement "pcVar18 = pcVar15;" (assignment_expression "pcVar18 = pcVar15" identifier = identifier) ;) (labeled_statement "LAB_0001706e:\n      uVar9 = (uint)(byte)lex[0x20];" statement_identifier : (expression_statement "uVar9 = (uint)(byte)lex[0x20];" (assignment_expression "uVar9 = (uint)(byte)lex[0x20]" identifier = (cast_expression "(uint)(byte)lex[0x20]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)lex[0x20]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "lex[0x20]" identifier [ number_literal ])))) ;)) (expression_statement "local_2c = 0x20;" (assignment_expression "local_2c = 0x20" identifier = number_literal) ;) (expression_statement "pbVar5 = pbVar12;" (assignment_expression "pbVar5 = pbVar12" identifier = identifier) ;) (goto_statement "goto _L101;" goto statement_identifier ;) })) (expression_statement "uVar9 = (uint)(byte)input_buffer[0];" (assignment_expression "uVar9 = (uint)(byte)input_buffer[0]" identifier = (cast_expression "(uint)(byte)input_buffer[0]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)input_buffer[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "input_buffer[0]" identifier [ number_literal ])))) ;) (expression_statement "cVar2 = lex[uVar9];" (assignment_expression "cVar2 = lex[uVar9]" identifier = (subscript_expression "lex[uVar9]" identifier [ identifier ])) ;) (expression_statement "pbVar5 = pbVar7;" (assignment_expression "pbVar5 = pbVar7" identifier = identifier) ;) })))) (if_statement "if (cVar2 == '\n') {\n    add_newlines = add_newlines + 1;\n  }" if (parenthesized_expression "(cVar2 == '\n')" ( (binary_expression "cVar2 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n    add_newlines = add_newlines + 1;\n  }" { (expression_statement "add_newlines = add_newlines + 1;" (assignment_expression "add_newlines = add_newlines + 1" identifier = (binary_expression "add_newlines + 1" identifier + number_literal)) ;) })) (if_statement "if (uVar9 == 0x2a) {\n    do {\n      if (pbVar5 < pcVar13) {\n        pcVar18 = (char *)(pbVar5 + 1);\n        bVar3 = *pbVar5;\n      }\n      else {\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = (char *)pbVar7;\n        bVar3 = input_buffer[0];\n        if (sVar10 == 0) goto LAB_0001704e;\n      }\n      pbVar5 = (byte *)pcVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto LAB_0001706e;\n    pbVar5 = (byte *)pcVar18 + -1;\n    ((byte *)pcVar18)[-1] = bVar3;\n  }" if (parenthesized_expression "(uVar9 == 0x2a)" ( (binary_expression "uVar9 == 0x2a" identifier == number_literal) )) (compound_statement "{\n    do {\n      if (pbVar5 < pcVar13) {\n        pcVar18 = (char *)(pbVar5 + 1);\n        bVar3 = *pbVar5;\n      }\n      else {\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = (char *)pbVar7;\n        bVar3 = input_buffer[0];\n        if (sVar10 == 0) goto LAB_0001704e;\n      }\n      pbVar5 = (byte *)pcVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto LAB_0001706e;\n    pbVar5 = (byte *)pcVar18 + -1;\n    ((byte *)pcVar18)[-1] = bVar3;\n  }" { (do_statement "do {\n      if (pbVar5 < pcVar13) {\n        pcVar18 = (char *)(pbVar5 + 1);\n        bVar3 = *pbVar5;\n      }\n      else {\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = (char *)pbVar7;\n        bVar3 = input_buffer[0];\n        if (sVar10 == 0) goto LAB_0001704e;\n      }\n      pbVar5 = (byte *)pcVar18;\n    } while (bVar3 == 0x2a);" do (compound_statement "{\n      if (pbVar5 < pcVar13) {\n        pcVar18 = (char *)(pbVar5 + 1);\n        bVar3 = *pbVar5;\n      }\n      else {\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = (char *)pbVar7;\n        bVar3 = input_buffer[0];\n        if (sVar10 == 0) goto LAB_0001704e;\n      }\n      pbVar5 = (byte *)pcVar18;\n    }" { (if_statement "if (pbVar5 < pcVar13) {\n        pcVar18 = (char *)(pbVar5 + 1);\n        bVar3 = *pbVar5;\n      }\n      else {\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = (char *)pbVar7;\n        bVar3 = input_buffer[0];\n        if (sVar10 == 0) goto LAB_0001704e;\n      }" if (parenthesized_expression "(pbVar5 < pcVar13)" ( (binary_expression "pbVar5 < pcVar13" identifier < identifier) )) (compound_statement "{\n        pcVar18 = (char *)(pbVar5 + 1);\n        bVar3 = *pbVar5;\n      }" { (expression_statement "pcVar18 = (char *)(pbVar5 + 1);" (assignment_expression "pcVar18 = (char *)(pbVar5 + 1)" identifier = (cast_expression "(char *)(pbVar5 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + 1)" ( (binary_expression "pbVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "bVar3 = *pbVar5;" (assignment_expression "bVar3 = *pbVar5" identifier = (pointer_expression "*pbVar5" * identifier)) ;) }) (else_clause "else {\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = (char *)pbVar7;\n        bVar3 = input_buffer[0];\n        if (sVar10 == 0) goto LAB_0001704e;\n      }" else (compound_statement "{\n        saved_input = (char *)0x0;\n        sVar10 = (*get)(input_buffer,0x8000);\n        pcVar13 = input_buffer + sVar10;\n        pcVar18 = (char *)pbVar7;\n        bVar3 = input_buffer[0];\n        if (sVar10 == 0) goto LAB_0001704e;\n      }" { (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "pcVar18 = (char *)pbVar7;" (assignment_expression "pcVar18 = (char *)pbVar7" identifier = (cast_expression "(char *)pbVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) (if_statement "if (sVar10 == 0) goto LAB_0001704e;" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001704e;" goto statement_identifier ;)) }))) (expression_statement "pbVar5 = (byte *)pcVar18;" (assignment_expression "pbVar5 = (byte *)pcVar18" identifier = (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(bVar3 == 0x2a)" ( (binary_expression "bVar3 == 0x2a" identifier == number_literal) )) ;) (if_statement "if (bVar3 == 0x2f) goto LAB_0001706e;" if (parenthesized_expression "(bVar3 == 0x2f)" ( (binary_expression "bVar3 == 0x2f" identifier == number_literal) )) (goto_statement "goto LAB_0001706e;" goto statement_identifier ;)) (expression_statement "pbVar5 = (byte *)pcVar18 + -1;" (assignment_expression "pbVar5 = (byte *)pcVar18 + -1" identifier = (binary_expression "(byte *)pcVar18 + -1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (expression_statement "((byte *)pcVar18)[-1] = bVar3;" (assignment_expression "((byte *)pcVar18)[-1] = bVar3" (subscript_expression "((byte *)pcVar18)[-1]" (parenthesized_expression "((byte *)pcVar18)" ( (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) })) (goto_statement "goto LAB_00017025;" goto statement_identifier ;) (labeled_statement "LAB_0001751e:\n  do {\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        iVar19 = state;\n        goto joined_r0x00016c7b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    cVar2 = lex[bVar3];\n  } while (cVar2 == '\x02');" statement_identifier : (do_statement "do {\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        iVar19 = state;\n        goto joined_r0x00016c7b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    cVar2 = lex[bVar3];\n  } while (cVar2 == '\x02');" do (compound_statement "{\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        iVar19 = state;\n        goto joined_r0x00016c7b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    cVar2 = lex[bVar3];\n  }" { (if_statement "if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        iVar19 = state;\n        goto joined_r0x00016c7b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }" if (parenthesized_expression "(pcVar18 < pcVar13)" ( (binary_expression "pcVar18 < pcVar13" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pcVar18;\n    }" { (expression_statement "bVar3 = *pcVar18;" (assignment_expression "bVar3 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) }) (else_clause "else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        iVar19 = state;\n        goto joined_r0x00016c7b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }" else (compound_statement "{\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        iVar19 = state;\n        goto joined_r0x00016c7b;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }" { (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (if_statement "if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        iVar19 = state;\n        goto joined_r0x00016c7b;\n      }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        iVar19 = state;\n        goto joined_r0x00016c7b;\n      }" { (expression_statement "pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5)" identifier = (cast_expression "(char *)dcgettext(0,"end of file in comment; newline inserted",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"end of file in comment; newline inserted",5)" identifier (argument_list "(0,"end of file in comment; newline inserted",5)" ( number_literal , (string_literal ""end of file in comment; newline inserted"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar18);" (call_expression "as_warn(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) (expression_statement "*local_30 = 10;" (assignment_expression "*local_30 = 10" (pointer_expression "*local_30" * identifier) = number_literal) ;) (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) (goto_statement "goto joined_r0x00016c7b;" goto statement_identifier ;) })) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) (expression_statement "pcVar18 = input_buffer;" (assignment_expression "pcVar18 = input_buffer" identifier = identifier) ;) }))) (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + 1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + 1)" ( (binary_expression "(byte *)pcVar18 + 1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "cVar2 = lex[bVar3];" (assignment_expression "cVar2 = lex[bVar3]" identifier = (subscript_expression "lex[bVar3]" identifier [ identifier ])) ;) }) while (parenthesized_expression "(cVar2 == '\x02')" ( (binary_expression "cVar2 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) ;)) (if_statement "if (((bVar3 - 0x30 < 10) && (state == 0)) && (local_2c == 0x23)) {\n    ((byte *)pcVar18)[-1] = bVar3;\n    pcVar18 = (char *)((byte *)pcVar18 + -1);\n    old_state = 4;\n    state = -1;\n    pbVar5 = local_30 + 1;\n    out_string = ".linefile ";\n    *local_30 = 9;\n    pcVar14 = pcVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    out_string = "linefile ";\n    bVar3 = s__linefile_0005b02f[1];\n    goto LAB_0001677e;\n  }" if (parenthesized_expression "(((bVar3 - 0x30 < 10) && (state == 0)) && (local_2c == 0x23))" ( (binary_expression "((bVar3 - 0x30 < 10) && (state == 0)) && (local_2c == 0x23)" (parenthesized_expression "((bVar3 - 0x30 < 10) && (state == 0))" ( (binary_expression "(bVar3 - 0x30 < 10) && (state == 0)" (parenthesized_expression "(bVar3 - 0x30 < 10)" ( (binary_expression "bVar3 - 0x30 < 10" (binary_expression "bVar3 - 0x30" identifier - number_literal) < number_literal) )) && (parenthesized_expression "(state == 0)" ( (binary_expression "state == 0" identifier == number_literal) ))) )) && (parenthesized_expression "(local_2c == 0x23)" ( (binary_expression "local_2c == 0x23" identifier == number_literal) ))) )) (compound_statement "{\n    ((byte *)pcVar18)[-1] = bVar3;\n    pcVar18 = (char *)((byte *)pcVar18 + -1);\n    old_state = 4;\n    state = -1;\n    pbVar5 = local_30 + 1;\n    out_string = ".linefile ";\n    *local_30 = 9;\n    pcVar14 = pcVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    out_string = "linefile ";\n    bVar3 = s__linefile_0005b02f[1];\n    goto LAB_0001677e;\n  }" { (expression_statement "((byte *)pcVar18)[-1] = bVar3;" (assignment_expression "((byte *)pcVar18)[-1] = bVar3" (subscript_expression "((byte *)pcVar18)[-1]" (parenthesized_expression "((byte *)pcVar18)" ( (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + -1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + -1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + -1)" ( (binary_expression "(byte *)pcVar18 + -1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "old_state = 4;" (assignment_expression "old_state = 4" identifier = number_literal) ;) (expression_statement "state = -1;" (assignment_expression "state = -1" identifier = number_literal) ;) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) (expression_statement "out_string = ".linefile ";" (assignment_expression "out_string = ".linefile "" identifier = (string_literal "".linefile "" " string_content ")) ;) (expression_statement "*local_30 = 9;" (assignment_expression "*local_30 = 9" (pointer_expression "*local_30" * identifier) = number_literal) ;) (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (expression_statement "out_string = "linefile ";" (assignment_expression "out_string = "linefile "" identifier = (string_literal ""linefile "" " string_content ")) ;) (expression_statement "bVar3 = s__linefile_0005b02f[1];" (assignment_expression "bVar3 = s__linefile_0005b02f[1]" identifier = (subscript_expression "s__linefile_0005b02f[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0001677e;" goto statement_identifier ;) })) (while_statement "while (cVar2 != '\n') {\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pcVar14 = pcVar15;\n        pcVar13 = pcVar15;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto LAB_00017782;\n        goto LAB_000169c8;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    cVar2 = lex[bVar3];\n  }" while (parenthesized_expression "(cVar2 != '\n')" ( (binary_expression "cVar2 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pcVar14 = pcVar15;\n        pcVar13 = pcVar15;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto LAB_00017782;\n        goto LAB_000169c8;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n    cVar2 = lex[bVar3];\n  }" { (if_statement "if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pcVar14 = pcVar15;\n        pcVar13 = pcVar15;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto LAB_00017782;\n        goto LAB_000169c8;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }" if (parenthesized_expression "(pcVar18 < pcVar13)" ( (binary_expression "pcVar18 < pcVar13" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pcVar18;\n    }" { (expression_statement "bVar3 = *pcVar18;" (assignment_expression "bVar3 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) }) (else_clause "else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pcVar14 = pcVar15;\n        pcVar13 = pcVar15;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto LAB_00017782;\n        goto LAB_000169c8;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }" else (compound_statement "{\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pcVar14 = pcVar15;\n        pcVar13 = pcVar15;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto LAB_00017782;\n        goto LAB_000169c8;\n      }\n      pcVar13 = input_buffer + sVar10;\n      bVar3 = input_buffer[0];\n      pcVar18 = input_buffer;\n    }" { (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (if_statement "if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pcVar14 = pcVar15;\n        pcVar13 = pcVar15;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto LAB_00017782;\n        goto LAB_000169c8;\n      }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pcVar14 = pcVar15;\n        pcVar13 = pcVar15;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto LAB_00017782;\n        goto LAB_000169c8;\n      }" { (expression_statement "pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5)" identifier = (cast_expression "(char *)dcgettext(0,"end of file in comment; newline inserted",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"end of file in comment; newline inserted",5)" identifier (argument_list "(0,"end of file in comment; newline inserted",5)" ( number_literal , (string_literal ""end of file in comment; newline inserted"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar18);" (call_expression "as_warn(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) (expression_statement "*local_30 = 10;" (assignment_expression "*local_30 = 10" (pointer_expression "*local_30" * identifier) = number_literal) ;) (expression_statement "pcVar14 = pcVar15;" (assignment_expression "pcVar14 = pcVar15" identifier = identifier) ;) (expression_statement "pcVar13 = pcVar15;" (assignment_expression "pcVar13 = pcVar15" identifier = identifier) ;) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;) (if_statement "if (pbVar5 < pbVar4) goto LAB_00017782;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto LAB_00017782;" goto statement_identifier ;)) (goto_statement "goto LAB_000169c8;" goto statement_identifier ;) })) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) (expression_statement "pcVar18 = input_buffer;" (assignment_expression "pcVar18 = input_buffer" identifier = identifier) ;) }))) (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + 1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + 1)" ( (binary_expression "(byte *)pcVar18 + 1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "cVar2 = lex[bVar3];" (assignment_expression "cVar2 = lex[bVar3]" identifier = (subscript_expression "lex[bVar3]" identifier [ identifier ])) ;) })) (expression_statement "((byte *)pcVar18)[-1] = bVar3;" (assignment_expression "((byte *)pcVar18)[-1] = bVar3" (subscript_expression "((byte *)pcVar18)[-1]" (parenthesized_expression "((byte *)pcVar18)" ( (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "pcVar14 = (char *)((byte *)pcVar18 + -1);" (assignment_expression "pcVar14 = (char *)((byte *)pcVar18 + -1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + -1)" ( (binary_expression "(byte *)pcVar18 + -1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_00017782:\n  state = 0;" statement_identifier : (expression_statement "state = 0;" (assignment_expression "state = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_00016b4e;" goto statement_identifier ;) (labeled_statement "LAB_00016d70:\n  do {\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pcVar18 = pcVar15;\n        pcVar13 = pcVar15;\n        break;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n  } while (lex[bVar3] != '\n');" statement_identifier : (do_statement "do {\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pcVar18 = pcVar15;\n        pcVar13 = pcVar15;\n        break;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n  } while (lex[bVar3] != '\n');" do (compound_statement "{\n    if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pcVar18 = pcVar15;\n        pcVar13 = pcVar15;\n        break;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n    }\n    pcVar18 = (char *)((byte *)pcVar18 + 1);\n  }" { (if_statement "if (pcVar18 < pcVar13) {\n      bVar3 = *pcVar18;\n    }\n    else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pcVar18 = pcVar15;\n        pcVar13 = pcVar15;\n        break;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n    }" if (parenthesized_expression "(pcVar18 < pcVar13)" ( (binary_expression "pcVar18 < pcVar13" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pcVar18;\n    }" { (expression_statement "bVar3 = *pcVar18;" (assignment_expression "bVar3 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) }) (else_clause "else {\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pcVar18 = pcVar15;\n        pcVar13 = pcVar15;\n        break;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n    }" else (compound_statement "{\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pcVar18 = pcVar15;\n        pcVar13 = pcVar15;\n        break;\n      }\n      pcVar13 = input_buffer + sVar10;\n      pcVar18 = input_buffer;\n      bVar3 = input_buffer[0];\n    }" { (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (if_statement "if (sVar10 == 0) {\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pcVar18 = pcVar15;\n        pcVar13 = pcVar15;\n        break;\n      }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);\n        as_warn(pcVar18);\n        pcVar18 = pcVar15;\n        pcVar13 = pcVar15;\n        break;\n      }" { (expression_statement "pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"end of file in comment; newline inserted",5)" identifier = (cast_expression "(char *)dcgettext(0,"end of file in comment; newline inserted",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"end of file in comment; newline inserted",5)" identifier (argument_list "(0,"end of file in comment; newline inserted",5)" ( number_literal , (string_literal ""end of file in comment; newline inserted"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar18);" (call_expression "as_warn(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (expression_statement "pcVar18 = pcVar15;" (assignment_expression "pcVar18 = pcVar15" identifier = identifier) ;) (expression_statement "pcVar13 = pcVar15;" (assignment_expression "pcVar13 = pcVar15" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "pcVar18 = input_buffer;" (assignment_expression "pcVar18 = input_buffer" identifier = identifier) ;) (expression_statement "bVar3 = input_buffer[0];" (assignment_expression "bVar3 = input_buffer[0]" identifier = (subscript_expression "input_buffer[0]" identifier [ number_literal ])) ;) }))) (expression_statement "pcVar18 = (char *)((byte *)pcVar18 + 1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar18 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + 1)" ( (binary_expression "(byte *)pcVar18 + 1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(lex[bVar3] != '\n')" ( (binary_expression "lex[bVar3] != '\n'" (subscript_expression "lex[bVar3]" identifier [ identifier ]) != (char_literal "'\n'" ' escape_sequence ')) )) ;)) (expression_statement "state = 0;" (assignment_expression "state = 0" identifier = number_literal) ;) (expression_statement "*pbVar5 = 10;" (assignment_expression "*pbVar5 = 10" (pointer_expression "*pbVar5" * identifier) = number_literal) ;) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;) (labeled_statement "joined_r0x000172dc:\n  local_30 = pbVar5;" statement_identifier : (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;)) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (goto_statement "goto LAB_00016b4e;" goto statement_identifier ;) (labeled_statement "code_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;" statement_identifier : (if_statement "if (bVar1 != 4) goto code_r0x000171b5;" if (parenthesized_expression "(bVar1 != 4)" ( (binary_expression "bVar1 != 4" identifier != number_literal) )) (goto_statement "goto code_r0x000171b5;" goto statement_identifier ;))) (goto_statement "goto LAB_00016b84;" goto statement_identifier ;) (labeled_statement "code_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar9 = (uint)(byte)lex[0x2f];\n    goto _L101;\n  }" statement_identifier : (if_statement "if (local_2c == 0x2f) {\n    uVar9 = (uint)(byte)lex[0x2f];\n    goto _L101;\n  }" if (parenthesized_expression "(local_2c == 0x2f)" ( (binary_expression "local_2c == 0x2f" identifier == number_literal) )) (compound_statement "{\n    uVar9 = (uint)(byte)lex[0x2f];\n    goto _L101;\n  }" { (expression_statement "uVar9 = (uint)(byte)lex[0x2f];" (assignment_expression "uVar9 = (uint)(byte)lex[0x2f]" identifier = (cast_expression "(uint)(byte)lex[0x2f]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)lex[0x2f]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "lex[0x2f]" identifier [ number_literal ])))) ;) (goto_statement "goto _L101;" goto statement_identifier ;) }))) (if_statement "if ((bVar1 == 0xe) || (bVar1 == 3)) goto _L101;" if (parenthesized_expression "((bVar1 == 0xe) || (bVar1 == 3))" ( (binary_expression "(bVar1 == 0xe) || (bVar1 == 3)" (parenthesized_expression "(bVar1 == 0xe)" ( (binary_expression "bVar1 == 0xe" identifier == number_literal) )) || (parenthesized_expression "(bVar1 == 3)" ( (binary_expression "bVar1 == 3" identifier == number_literal) ))) )) (goto_statement "goto _L101;" goto statement_identifier ;)) (if_statement "if ((state == 2 || state == 0xb) && (bVar1 == 9)) {\n    state = 1;\n    *pbVar12 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar12 + 1;\n    pcVar14 = pcVar18;\n    goto joined_r0x000172dc;\n  }" if (parenthesized_expression "((state == 2 || state == 0xb) && (bVar1 == 9))" ( (binary_expression "(state == 2 || state == 0xb) && (bVar1 == 9)" (parenthesized_expression "(state == 2 || state == 0xb)" ( (binary_expression "state == 2 || state == 0xb" (binary_expression "state == 2" identifier == number_literal) || (binary_expression "state == 0xb" identifier == number_literal)) )) && (parenthesized_expression "(bVar1 == 9)" ( (binary_expression "bVar1 == 9" identifier == number_literal) ))) )) (compound_statement "{\n    state = 1;\n    *pbVar12 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar12 + 1;\n    pcVar14 = pcVar18;\n    goto joined_r0x000172dc;\n  }" { (expression_statement "state = 1;" (assignment_expression "state = 1" identifier = number_literal) ;) (expression_statement "*pbVar12 = bVar3;" (assignment_expression "*pbVar12 = bVar3" (pointer_expression "*pbVar12" * identifier) = identifier) ;) (labeled_statement "joined_r0x00016e2c:\n    pbVar5 = pbVar12 + 1;" statement_identifier : (expression_statement "pbVar5 = pbVar12 + 1;" (assignment_expression "pbVar5 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;)) (expression_statement "pcVar14 = pcVar18;" (assignment_expression "pcVar14 = pcVar18" identifier = identifier) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;) })) (switch_statement "switch(state) {\n  default:\n    iVar19 = state;\n    pcVar18 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9,\n                                state);\n                    /* WARNING: Subroutine does not return */\n    as_fatal(pcVar18,iVar19,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto _L101;\n  case 2:\n    state = 3;\n    pbVar5 = pbVar12 + 1;\n    if (pbVar4 <= pbVar5) {\n      pcVar14 = (char *)((byte *)pcVar18 + -1);\n      ((byte *)pcVar18)[-1] = bVar3;\n      *pbVar12 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar12 = 0x20;\n    uVar9 = (uint)(byte)lex[local_2c];\n    goto _L101;\n  case 9:\n  case 10:\n    state = 10;\n    goto _L101;\n  case 0xb:\n    break;\n  }" switch (parenthesized_expression "(state)" ( identifier )) (compound_statement "{\n  default:\n    iVar19 = state;\n    pcVar18 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9,\n                                state);\n                    /* WARNING: Subroutine does not return */\n    as_fatal(pcVar18,iVar19,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto _L101;\n  case 2:\n    state = 3;\n    pbVar5 = pbVar12 + 1;\n    if (pbVar4 <= pbVar5) {\n      pcVar14 = (char *)((byte *)pcVar18 + -1);\n      ((byte *)pcVar18)[-1] = bVar3;\n      *pbVar12 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar12 = 0x20;\n    uVar9 = (uint)(byte)lex[local_2c];\n    goto _L101;\n  case 9:\n  case 10:\n    state = 10;\n    goto _L101;\n  case 0xb:\n    break;\n  }" { (case_statement "default:\n    iVar19 = state;\n    pcVar18 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9,\n                                state);\n                    /* WARNING: Subroutine does not return */\n    as_fatal(pcVar18,iVar19,0x3cd,"../../gas/app.c");" default : (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9,\n                                state);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9,\n                                state)" identifier = (cast_expression "(char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9,\n                                state)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9,\n                                state)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9,\n                                state)" ( number_literal , (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal , identifier , identifier ))))) ;) comment (expression_statement "as_fatal(pcVar18,iVar19,0x3cd,"../../gas/app.c");" (call_expression "as_fatal(pcVar18,iVar19,0x3cd,"../../gas/app.c")" identifier (argument_list "(pcVar18,iVar19,0x3cd,"../../gas/app.c")" ( identifier , identifier , number_literal , (string_literal ""../../gas/app.c"" " string_content ") ))) ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 3:\n    goto _L101;" case number_literal : (goto_statement "goto _L101;" goto statement_identifier ;)) (case_statement "case 2:\n    state = 3;\n    pbVar5 = pbVar12 + 1;\n    if (pbVar4 <= pbVar5) {\n      pcVar14 = (char *)((byte *)pcVar18 + -1);\n      ((byte *)pcVar18)[-1] = bVar3;\n      *pbVar12 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar12 = 0x20;\n    uVar9 = (uint)(byte)lex[local_2c];\n    goto _L101;" case number_literal : (expression_statement "state = 3;" (assignment_expression "state = 3" identifier = number_literal) ;) (expression_statement "pbVar5 = pbVar12 + 1;" (assignment_expression "pbVar5 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar4 <= pbVar5) {\n      pcVar14 = (char *)((byte *)pcVar18 + -1);\n      ((byte *)pcVar18)[-1] = bVar3;\n      *pbVar12 = 0x20;\n      goto LAB_00016520;\n    }" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (compound_statement "{\n      pcVar14 = (char *)((byte *)pcVar18 + -1);\n      ((byte *)pcVar18)[-1] = bVar3;\n      *pbVar12 = 0x20;\n      goto LAB_00016520;\n    }" { (expression_statement "pcVar14 = (char *)((byte *)pcVar18 + -1);" (assignment_expression "pcVar14 = (char *)((byte *)pcVar18 + -1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + -1)" ( (binary_expression "(byte *)pcVar18 + -1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((byte *)pcVar18)[-1] = bVar3;" (assignment_expression "((byte *)pcVar18)[-1] = bVar3" (subscript_expression "((byte *)pcVar18)[-1]" (parenthesized_expression "((byte *)pcVar18)" ( (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "*pbVar12 = 0x20;" (assignment_expression "*pbVar12 = 0x20" (pointer_expression "*pbVar12" * identifier) = number_literal) ;) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) (expression_statement "*pbVar12 = 0x20;" (assignment_expression "*pbVar12 = 0x20" (pointer_expression "*pbVar12" * identifier) = number_literal) ;) (expression_statement "uVar9 = (uint)(byte)lex[local_2c];" (assignment_expression "uVar9 = (uint)(byte)lex[local_2c]" identifier = (cast_expression "(uint)(byte)lex[local_2c]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)lex[local_2c]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "lex[local_2c]" identifier [ identifier ])))) ;) (goto_statement "goto _L101;" goto statement_identifier ;)) (case_statement "case 9:" case number_literal :) (case_statement "case 10:\n    state = 10;\n    goto _L101;" case number_literal : (expression_statement "state = 10;" (assignment_expression "state = 10" identifier = number_literal) ;) (goto_statement "goto _L101;" goto statement_identifier ;)) (case_statement "case 0xb:\n    break;" case number_literal : (break_statement "break;" break ;)) })) (expression_statement "state = 3;" (assignment_expression "state = 3" identifier = number_literal) ;) (labeled_statement "LAB_00017227:\n  ((byte *)pcVar18)[-1] = bVar3;" statement_identifier : (expression_statement "((byte *)pcVar18)[-1] = bVar3;" (assignment_expression "((byte *)pcVar18)[-1] = bVar3" (subscript_expression "((byte *)pcVar18)[-1]" (parenthesized_expression "((byte *)pcVar18)" ( (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;)) (expression_statement "*pbVar12 = 0x20;" (assignment_expression "*pbVar12 = 0x20" (pointer_expression "*pbVar12" * identifier) = number_literal) ;) (expression_statement "pbVar5 = pbVar12 + 1;" (assignment_expression "pbVar5 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "pcVar14 = (char *)((byte *)pcVar18 + -1);" (assignment_expression "pcVar14 = (char *)((byte *)pcVar18 + -1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + -1)" ( (binary_expression "(byte *)pcVar18 + -1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;) (while_statement "while ((byte)lex[pbVar8[1]] < 2) {\nLAB_0001787c:\n    pbVar8 = pbVar7;\n    pbVar7 = pbVar8 + 1;\n    if ((byte *)pcVar13 == pbVar7) break;\n  }" while (parenthesized_expression "((byte)lex[pbVar8[1]] < 2)" ( (binary_expression "(byte)lex[pbVar8[1]] < 2" (cast_expression "(byte)lex[pbVar8[1]]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "lex[pbVar8[1]]" identifier [ (subscript_expression "pbVar8[1]" identifier [ number_literal ]) ])) < number_literal) )) (compound_statement "{\nLAB_0001787c:\n    pbVar8 = pbVar7;\n    pbVar7 = pbVar8 + 1;\n    if ((byte *)pcVar13 == pbVar7) break;\n  }" { (labeled_statement "LAB_0001787c:\n    pbVar8 = pbVar7;" statement_identifier : (expression_statement "pbVar8 = pbVar7;" (assignment_expression "pbVar8 = pbVar7" identifier = identifier) ;)) (expression_statement "pbVar7 = pbVar8 + 1;" (assignment_expression "pbVar7 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (if_statement "if ((byte *)pcVar13 == pbVar7) break;" if (parenthesized_expression "((byte *)pcVar13 == pbVar7)" ( (binary_expression "(byte *)pcVar13 == pbVar7" (cast_expression "(byte *)pcVar13" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (break_statement "break;" break ;)) })) (if_statement "if (pbVar7 <= pcVar18) {\n    pbVar8 = pbVar7;\n  }" if (parenthesized_expression "(pbVar7 <= pcVar18)" ( (binary_expression "pbVar7 <= pcVar18" identifier <= identifier) )) (compound_statement "{\n    pbVar8 = pbVar7;\n  }" { (expression_statement "pbVar8 = pbVar7;" (assignment_expression "pbVar8 = pbVar7" identifier = identifier) ;) })) (expression_statement "iVar19 = (int)pbVar4 - (int)pbVar12;" (assignment_expression "iVar19 = (int)pbVar4 - (int)pbVar12" identifier = (binary_expression "(int)pbVar4 - (int)pbVar12" (cast_expression "(int)pbVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "sVar16 = (int)pbVar8 - (int)pcVar18;" (assignment_expression "sVar16 = (int)pbVar8 - (int)pcVar18" identifier = (binary_expression "(int)pbVar8 - (int)pcVar18" (cast_expression "(int)pbVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar19 <= (int)sVar16) {\nLAB_000178a1:\n    sVar16 = iVar19 - 1;\n  }" if (parenthesized_expression "(iVar19 <= (int)sVar16)" ( (binary_expression "iVar19 <= (int)sVar16" identifier <= (cast_expression "(int)sVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_000178a1:\n    sVar16 = iVar19 - 1;\n  }" { (labeled_statement "LAB_000178a1:\n    sVar16 = iVar19 - 1;" statement_identifier : (expression_statement "sVar16 = iVar19 - 1;" (assignment_expression "sVar16 = iVar19 - 1" identifier = (binary_expression "iVar19 - 1" identifier - number_literal)) ;)) })) (if_statement "if (0 < (int)sVar16) {\n    *pbVar12 = bVar3;\n    memcpy(pbVar5,pcVar18,sVar16);\n    pbVar5 = pbVar5 + sVar16;\n    pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pcVar14 < pcVar13) {\n      local_2c = (uint)(byte)*pcVar14;\n      pcVar18 = (char *)((byte *)pcVar14 + 1);\n      pbVar12 = pbVar5;\n    }\n    else {\n      pcVar18 = input_buffer;\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      pbVar12 = pbVar5;\n      if (sVar10 == 0) {\n        local_2c = 0xffffffff;\n        pcVar13 = pcVar18;\n      }\n      else {\n        local_2c = (uint)(byte)input_buffer[0];\n        pcVar18 = input_buffer + 1;\n      }\n    }\n  }" if (parenthesized_expression "(0 < (int)sVar16)" ( (binary_expression "0 < (int)sVar16" number_literal < (cast_expression "(int)sVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    *pbVar12 = bVar3;\n    memcpy(pbVar5,pcVar18,sVar16);\n    pbVar5 = pbVar5 + sVar16;\n    pcVar14 = (char *)((byte *)pcVar18 + sVar16);\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pcVar14 < pcVar13) {\n      local_2c = (uint)(byte)*pcVar14;\n      pcVar18 = (char *)((byte *)pcVar14 + 1);\n      pbVar12 = pbVar5;\n    }\n    else {\n      pcVar18 = input_buffer;\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      pbVar12 = pbVar5;\n      if (sVar10 == 0) {\n        local_2c = 0xffffffff;\n        pcVar13 = pcVar18;\n      }\n      else {\n        local_2c = (uint)(byte)input_buffer[0];\n        pcVar18 = input_buffer + 1;\n      }\n    }\n  }" { (expression_statement "*pbVar12 = bVar3;" (assignment_expression "*pbVar12 = bVar3" (pointer_expression "*pbVar12" * identifier) = identifier) ;) (expression_statement "memcpy(pbVar5,pcVar18,sVar16);" (call_expression "memcpy(pbVar5,pcVar18,sVar16)" identifier (argument_list "(pbVar5,pcVar18,sVar16)" ( identifier , identifier , identifier ))) ;) (expression_statement "pbVar5 = pbVar5 + sVar16;" (assignment_expression "pbVar5 = pbVar5 + sVar16" identifier = (binary_expression "pbVar5 + sVar16" identifier + identifier)) ;) (expression_statement "pcVar14 = (char *)((byte *)pcVar18 + sVar16);" (assignment_expression "pcVar14 = (char *)((byte *)pcVar18 + sVar16)" identifier = (cast_expression "(char *)((byte *)pcVar18 + sVar16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + sVar16)" ( (binary_expression "(byte *)pcVar18 + sVar16" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + identifier) )))) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (expression_statement "local_30 = pbVar5 + 1;" (assignment_expression "local_30 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar14 < pcVar13) {\n      local_2c = (uint)(byte)*pcVar14;\n      pcVar18 = (char *)((byte *)pcVar14 + 1);\n      pbVar12 = pbVar5;\n    }\n    else {\n      pcVar18 = input_buffer;\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      pbVar12 = pbVar5;\n      if (sVar10 == 0) {\n        local_2c = 0xffffffff;\n        pcVar13 = pcVar18;\n      }\n      else {\n        local_2c = (uint)(byte)input_buffer[0];\n        pcVar18 = input_buffer + 1;\n      }\n    }" if (parenthesized_expression "(pcVar14 < pcVar13)" ( (binary_expression "pcVar14 < pcVar13" identifier < identifier) )) (compound_statement "{\n      local_2c = (uint)(byte)*pcVar14;\n      pcVar18 = (char *)((byte *)pcVar14 + 1);\n      pbVar12 = pbVar5;\n    }" { (expression_statement "local_2c = (uint)(byte)*pcVar14;" (assignment_expression "local_2c = (uint)(byte)*pcVar14" identifier = (binary_expression "(uint)(byte)*pcVar14" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (expression_statement "pcVar18 = (char *)((byte *)pcVar14 + 1);" (assignment_expression "pcVar18 = (char *)((byte *)pcVar14 + 1)" identifier = (cast_expression "(char *)((byte *)pcVar14 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar14 + 1)" ( (binary_expression "(byte *)pcVar14 + 1" (cast_expression "(byte *)pcVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar12 = pbVar5;" (assignment_expression "pbVar12 = pbVar5" identifier = identifier) ;) }) (else_clause "else {\n      pcVar18 = input_buffer;\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      pbVar12 = pbVar5;\n      if (sVar10 == 0) {\n        local_2c = 0xffffffff;\n        pcVar13 = pcVar18;\n      }\n      else {\n        local_2c = (uint)(byte)input_buffer[0];\n        pcVar18 = input_buffer + 1;\n      }\n    }" else (compound_statement "{\n      pcVar18 = input_buffer;\n      saved_input = (char *)0x0;\n      sVar10 = (*get)(input_buffer,0x8000);\n      pcVar13 = input_buffer + sVar10;\n      pbVar12 = pbVar5;\n      if (sVar10 == 0) {\n        local_2c = 0xffffffff;\n        pcVar13 = pcVar18;\n      }\n      else {\n        local_2c = (uint)(byte)input_buffer[0];\n        pcVar18 = input_buffer + 1;\n      }\n    }" { (expression_statement "pcVar18 = input_buffer;" (assignment_expression "pcVar18 = input_buffer" identifier = identifier) ;) (expression_statement "saved_input = (char *)0x0;" (assignment_expression "saved_input = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar10 = (*get)(input_buffer,0x8000);" (assignment_expression "sVar10 = (*get)(input_buffer,0x8000)" identifier = (call_expression "(*get)(input_buffer,0x8000)" (parenthesized_expression "(*get)" ( (pointer_expression "*get" * identifier) )) (argument_list "(input_buffer,0x8000)" ( identifier , number_literal )))) ;) (expression_statement "pcVar13 = input_buffer + sVar10;" (assignment_expression "pcVar13 = input_buffer + sVar10" identifier = (binary_expression "input_buffer + sVar10" identifier + identifier)) ;) (expression_statement "pbVar12 = pbVar5;" (assignment_expression "pbVar12 = pbVar5" identifier = identifier) ;) (if_statement "if (sVar10 == 0) {\n        local_2c = 0xffffffff;\n        pcVar13 = pcVar18;\n      }\n      else {\n        local_2c = (uint)(byte)input_buffer[0];\n        pcVar18 = input_buffer + 1;\n      }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        local_2c = 0xffffffff;\n        pcVar13 = pcVar18;\n      }" { (expression_statement "local_2c = 0xffffffff;" (assignment_expression "local_2c = 0xffffffff" identifier = number_literal) ;) (expression_statement "pcVar13 = pcVar18;" (assignment_expression "pcVar13 = pcVar18" identifier = identifier) ;) }) (else_clause "else {\n        local_2c = (uint)(byte)input_buffer[0];\n        pcVar18 = input_buffer + 1;\n      }" else (compound_statement "{\n        local_2c = (uint)(byte)input_buffer[0];\n        pcVar18 = input_buffer + 1;\n      }" { (expression_statement "local_2c = (uint)(byte)input_buffer[0];" (assignment_expression "local_2c = (uint)(byte)input_buffer[0]" identifier = (cast_expression "(uint)(byte)input_buffer[0]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)input_buffer[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "input_buffer[0]" identifier [ number_literal ])))) ;) (expression_statement "pcVar18 = input_buffer + 1;" (assignment_expression "pcVar18 = input_buffer + 1" identifier = (binary_expression "input_buffer + 1" identifier + number_literal)) ;) }))) }))) })) (labeled_statement "LAB_00016fab:\n  pbVar5 = pbVar12;" statement_identifier : (expression_statement "pbVar5 = pbVar12;" (assignment_expression "pbVar5 = pbVar12" identifier = identifier) ;)) (if_statement "if (state == 0) {\n    state = 0xb;\n  }\n  else {\n    iVar19 = state;\n    if (state == 1) {\n      state = 2;\n    }\n    else {\nLAB_0001741d:\n      if (iVar19 == 9) {\n        if (lex[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (iVar19 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        state = 3;\n      }\n    }\n  }" if (parenthesized_expression "(state == 0)" ( (binary_expression "state == 0" identifier == number_literal) )) (compound_statement "{\n    state = 0xb;\n  }" { (expression_statement "state = 0xb;" (assignment_expression "state = 0xb" identifier = number_literal) ;) }) (else_clause "else {\n    iVar19 = state;\n    if (state == 1) {\n      state = 2;\n    }\n    else {\nLAB_0001741d:\n      if (iVar19 == 9) {\n        if (lex[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (iVar19 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        state = 3;\n      }\n    }\n  }" else (compound_statement "{\n    iVar19 = state;\n    if (state == 1) {\n      state = 2;\n    }\n    else {\nLAB_0001741d:\n      if (iVar19 == 9) {\n        if (lex[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (iVar19 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        state = 3;\n      }\n    }\n  }" { (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) (if_statement "if (state == 1) {\n      state = 2;\n    }\n    else {\nLAB_0001741d:\n      if (iVar19 == 9) {\n        if (lex[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (iVar19 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        state = 3;\n      }\n    }" if (parenthesized_expression "(state == 1)" ( (binary_expression "state == 1" identifier == number_literal) )) (compound_statement "{\n      state = 2;\n    }" { (expression_statement "state = 2;" (assignment_expression "state = 2" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0001741d:\n      if (iVar19 == 9) {\n        if (lex[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (iVar19 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        state = 3;\n      }\n    }" else (compound_statement "{\nLAB_0001741d:\n      if (iVar19 == 9) {\n        if (lex[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (iVar19 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        state = 3;\n      }\n    }" { (labeled_statement "LAB_0001741d:\n      if (iVar19 == 9) {\n        if (lex[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (iVar19 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        state = 3;\n      }" statement_identifier : (if_statement "if (iVar19 == 9) {\n        if (lex[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (iVar19 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        state = 3;\n      }" if (parenthesized_expression "(iVar19 == 9)" ( (binary_expression "iVar19 == 9" identifier == number_literal) )) (compound_statement "{\n        if (lex[local_2c] != '\x01') goto LAB_0001743a;\n      }" { (if_statement "if (lex[local_2c] != '\x01') goto LAB_0001743a;" if (parenthesized_expression "(lex[local_2c] != '\x01')" ( (binary_expression "lex[local_2c] != '\x01'" (subscript_expression "lex[local_2c]" identifier [ identifier ]) != (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001743a;" goto statement_identifier ;)) }) (else_clause "else if (iVar19 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        state = 3;\n      }" else (if_statement "if (iVar19 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        state = 3;\n      }" if (parenthesized_expression "(iVar19 == 10)" ( (binary_expression "iVar19 == 10" identifier == number_literal) )) (compound_statement "{\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        state = 3;\n      }" { (if_statement "if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }" if (parenthesized_expression "(local_2c == 0x5c)" ( (binary_expression "local_2c == 0x5c" identifier == number_literal) )) (compound_statement "{\n          if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }" { (if_statement "if (pbVar4 <= local_30) {\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }" if (parenthesized_expression "(pbVar4 <= local_30)" ( (binary_expression "pbVar4 <= local_30" identifier <= identifier) )) (compound_statement "{\n            ((byte *)pcVar18)[-1] = 0x5c;\n            pcVar14 = (char *)((byte *)pcVar18 + -1);\n            goto LAB_00016520;\n          }" { (expression_statement "((byte *)pcVar18)[-1] = 0x5c;" (assignment_expression "((byte *)pcVar18)[-1] = 0x5c" (subscript_expression "((byte *)pcVar18)[-1]" (parenthesized_expression "((byte *)pcVar18)" ( (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "pcVar14 = (char *)((byte *)pcVar18 + -1);" (assignment_expression "pcVar14 = (char *)((byte *)pcVar18 + -1)" identifier = (cast_expression "(char *)((byte *)pcVar18 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)pcVar18 + -1)" ( (binary_expression "(byte *)pcVar18 + -1" (cast_expression "(byte *)pcVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) (expression_statement "*pbVar5 = 0x20;" (assignment_expression "*pbVar5 = 0x20" (pointer_expression "*pbVar5" * identifier) = number_literal) ;) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (expression_statement "local_30 = local_30 + 1;" (assignment_expression "local_30 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_0001743a:\n        state = 3;" statement_identifier : (expression_statement "state = 3;" (assignment_expression "state = 3" identifier = number_literal) ;)) }))))) }))) }))) (expression_statement "*pbVar5 = (byte)local_2c;" (assignment_expression "*pbVar5 = (byte)local_2c" (pointer_expression "*pbVar5" * identifier) = (cast_expression "(byte)local_2c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (expression_statement "iVar19 = state;" (assignment_expression "iVar19 = state" identifier = identifier) ;) (goto_statement "goto joined_r0x00016e98;" goto statement_identifier ;) })))
(translation_unit "int FUN_00016450(code *param_1,byte *param_2,int param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  undefined4 uVar14;\n  uint *puVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  size_t sVar20;\n  uint *puVar21;\n  bool bVar22;\n  uint *local_38;\n  byte *local_30;\n  uint local_2c;\n  \n  pbVar4 = param_2 + param_3;\n  pbVar5 = param_2;\n  if (DAT_00088784 == (byte *)0x0) {\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 == 0) {\n      return 0;\n    }\n    pbVar17 = &DAT_00080780 + iVar11;\n    uVar10 = DAT_000887a8;\n    pbVar18 = &DAT_00080780;\n  }\n  else {\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }\nLAB_0001649b:\n  pbVar19 = pbVar18;\n  pbVar16 = pbVar5;\n  switch(uVar10) {\n  default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;\n  case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;\n  case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;\n  case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );\n  case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;\n  }\njoined_r0x00016e98:\n  pbVar19 = pbVar18;\n  if (pbVar5 < pbVar4) goto LAB_0001649b;\nLAB_00016520:\n  if (pbVar19 < pbVar17) {\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }\n  goto LAB_000169c8;\ncode_r0x00017025:\n  if (pbVar5 < pbVar17) {\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }\n  if (cVar2 == '\n') {\n    DAT_00088788 = DAT_00088788 + 1;\n  }\n  if (uVar10 == 0x2a) {\n    do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto code_r0x0001706e;\n    pbVar5 = pbVar18 + -1;\n    pbVar18[-1] = bVar3;\n  }\n  goto code_r0x00017025;\ncode_r0x0001751e:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  } while (cVar2 == '\x02');\n  if (((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)) {\n    pbVar18[-1] = bVar3;\n    pbVar18 = pbVar18 + -1;\n    DAT_000887a4 = 4;\n    DAT_000887a8 = 0xffffffff;\n    pbVar5 = local_30 + 1;\n    DAT_000887a0 = (byte *)0x5b030;\n    *local_30 = 9;\n    pbVar19 = pbVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    DAT_000887a0 = (byte *)0x5b031;\n    bVar3 = s__linefile_0005b02f[1];\n    goto code_r0x0001677e;\n  }\n  while (cVar2 != '\n') {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }\n  pbVar18[-1] = bVar3;\n  pbVar19 = pbVar18 + -1;\ncode_r0x00017782:\n  DAT_000887a8 = 0;\n  goto code_r0x00016b4e;\ncode_r0x00016d70:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  } while ((&DAT_000887c0)[bVar3] != '\n');\n  DAT_000887a8 = 0;\n  *pbVar5 = 10;\n  pbVar5 = local_30;\n  pbVar19 = pbVar18;\njoined_r0x000172dc:\n  local_30 = pbVar5;\n  if (pbVar4 <= pbVar5) goto LAB_00016520;\n  goto code_r0x00016b4e;\ncode_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;\n  goto code_r0x00016b84;\ncode_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }\n  if ((bVar1 == 0xe) || (bVar1 == 3)) goto code_r0x00016b78;\n  if ((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)) {\n    DAT_000887a8 = 1;\n    *pbVar16 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;\n    pbVar19 = pbVar18;\n    goto joined_r0x000172dc;\n  }\n  switch(DAT_000887a8) {\n  default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    \n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto code_r0x00016b78;\n  case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;\n  case 9:\n  case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;\n  case 0xb:\n    break;\n  }\n  DAT_000887a8 = 3;\ncode_r0x00017227:\n  pbVar18[-1] = bVar3;\n  *pbVar16 = 0x20;\n  pbVar5 = pbVar16 + 1;\n  pbVar19 = pbVar18 + -1;\n  goto joined_r0x000172dc;\n  while ((byte)(&DAT_000887c0)[pbVar8[1]] < 2) {\ncode_r0x0001787c:\n    pbVar8 = pbVar19;\n    pbVar19 = pbVar8 + 1;\n    if (pbVar17 == pbVar19) break;\n  }\n  if (pbVar19 <= pbVar18) {\n    pbVar8 = pbVar19;\n  }\n  iVar11 = (int)pbVar4 - (int)pbVar16;\n  sVar20 = (int)pbVar8 - (int)pbVar18;\n  if (iVar11 <= (int)sVar20) {\ncode_r0x000178a1:\n    sVar20 = iVar11 - 1;\n  }\n  if (0 < (int)sVar20) {\n    *pbVar16 = bVar3;\n    memcpy(pbVar5,pbVar18,sVar20);\n    pbVar5 = pbVar5 + sVar20;\n    pbVar19 = pbVar18 + sVar20;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }\n  }\nLAB_00016fab:\n  pbVar5 = pbVar16;\n  if (DAT_000887a8 == 0) {\n    DAT_000887a8 = 0xb;\n  }\n  else {\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }\n  *pbVar5 = (byte)local_2c;\n  pbVar5 = local_30;\n  uVar10 = DAT_000887a8;\n  goto joined_r0x00016e98;\n}\n\n" (function_definition "int FUN_00016450(code *param_1,byte *param_2,int param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  undefined4 uVar14;\n  uint *puVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  size_t sVar20;\n  uint *puVar21;\n  bool bVar22;\n  uint *local_38;\n  byte *local_30;\n  uint local_2c;\n  \n  pbVar4 = param_2 + param_3;\n  pbVar5 = param_2;\n  if (DAT_00088784 == (byte *)0x0) {\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 == 0) {\n      return 0;\n    }\n    pbVar17 = &DAT_00080780 + iVar11;\n    uVar10 = DAT_000887a8;\n    pbVar18 = &DAT_00080780;\n  }\n  else {\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }\nLAB_0001649b:\n  pbVar19 = pbVar18;\n  pbVar16 = pbVar5;\n  switch(uVar10) {\n  default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;\n  case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;\n  case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;\n  case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );\n  case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;\n  }\njoined_r0x00016e98:\n  pbVar19 = pbVar18;\n  if (pbVar5 < pbVar4) goto LAB_0001649b;\nLAB_00016520:\n  if (pbVar19 < pbVar17) {\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }\n  goto LAB_000169c8;\ncode_r0x00017025:\n  if (pbVar5 < pbVar17) {\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }\n  if (cVar2 == '\n') {\n    DAT_00088788 = DAT_00088788 + 1;\n  }\n  if (uVar10 == 0x2a) {\n    do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto code_r0x0001706e;\n    pbVar5 = pbVar18 + -1;\n    pbVar18[-1] = bVar3;\n  }\n  goto code_r0x00017025;\ncode_r0x0001751e:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  } while (cVar2 == '\x02');\n  if (((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)) {\n    pbVar18[-1] = bVar3;\n    pbVar18 = pbVar18 + -1;\n    DAT_000887a4 = 4;\n    DAT_000887a8 = 0xffffffff;\n    pbVar5 = local_30 + 1;\n    DAT_000887a0 = (byte *)0x5b030;\n    *local_30 = 9;\n    pbVar19 = pbVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    DAT_000887a0 = (byte *)0x5b031;\n    bVar3 = s__linefile_0005b02f[1];\n    goto code_r0x0001677e;\n  }\n  while (cVar2 != '\n') {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }\n  pbVar18[-1] = bVar3;\n  pbVar19 = pbVar18 + -1;\ncode_r0x00017782:\n  DAT_000887a8 = 0;\n  goto code_r0x00016b4e;\ncode_r0x00016d70:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  } while ((&DAT_000887c0)[bVar3] != '\n');\n  DAT_000887a8 = 0;\n  *pbVar5 = 10;\n  pbVar5 = local_30;\n  pbVar19 = pbVar18;\njoined_r0x000172dc:\n  local_30 = pbVar5;\n  if (pbVar4 <= pbVar5) goto LAB_00016520;\n  goto code_r0x00016b4e;\ncode_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;\n  goto code_r0x00016b84;\ncode_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }\n  if ((bVar1 == 0xe) || (bVar1 == 3)) goto code_r0x00016b78;\n  if ((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)) {\n    DAT_000887a8 = 1;\n    *pbVar16 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;\n    pbVar19 = pbVar18;\n    goto joined_r0x000172dc;\n  }\n  switch(DAT_000887a8) {\n  default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    \n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto code_r0x00016b78;\n  case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;\n  case 9:\n  case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;\n  case 0xb:\n    break;\n  }\n  DAT_000887a8 = 3;\ncode_r0x00017227:\n  pbVar18[-1] = bVar3;\n  *pbVar16 = 0x20;\n  pbVar5 = pbVar16 + 1;\n  pbVar19 = pbVar18 + -1;\n  goto joined_r0x000172dc;\n  while ((byte)(&DAT_000887c0)[pbVar8[1]] < 2) {\ncode_r0x0001787c:\n    pbVar8 = pbVar19;\n    pbVar19 = pbVar8 + 1;\n    if (pbVar17 == pbVar19) break;\n  }\n  if (pbVar19 <= pbVar18) {\n    pbVar8 = pbVar19;\n  }\n  iVar11 = (int)pbVar4 - (int)pbVar16;\n  sVar20 = (int)pbVar8 - (int)pbVar18;\n  if (iVar11 <= (int)sVar20) {\ncode_r0x000178a1:\n    sVar20 = iVar11 - 1;\n  }\n  if (0 < (int)sVar20) {\n    *pbVar16 = bVar3;\n    memcpy(pbVar5,pbVar18,sVar20);\n    pbVar5 = pbVar5 + sVar20;\n    pbVar19 = pbVar18 + sVar20;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }\n  }\nLAB_00016fab:\n  pbVar5 = pbVar16;\n  if (DAT_000887a8 == 0) {\n    DAT_000887a8 = 0xb;\n  }\n  else {\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }\n  *pbVar5 = (byte)local_2c;\n  pbVar5 = local_30;\n  uVar10 = DAT_000887a8;\n  goto joined_r0x00016e98;\n}" primitive_type (function_declarator "FUN_00016450(code *param_1,byte *param_2,int param_3)" identifier (parameter_list "(code *param_1,byte *param_2,int param_3)" ( (parameter_declaration "code *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  undefined4 uVar14;\n  uint *puVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  size_t sVar20;\n  uint *puVar21;\n  bool bVar22;\n  uint *local_38;\n  byte *local_30;\n  uint local_2c;\n  \n  pbVar4 = param_2 + param_3;\n  pbVar5 = param_2;\n  if (DAT_00088784 == (byte *)0x0) {\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 == 0) {\n      return 0;\n    }\n    pbVar17 = &DAT_00080780 + iVar11;\n    uVar10 = DAT_000887a8;\n    pbVar18 = &DAT_00080780;\n  }\n  else {\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }\nLAB_0001649b:\n  pbVar19 = pbVar18;\n  pbVar16 = pbVar5;\n  switch(uVar10) {\n  default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;\n  case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;\n  case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;\n  case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );\n  case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;\n  }\njoined_r0x00016e98:\n  pbVar19 = pbVar18;\n  if (pbVar5 < pbVar4) goto LAB_0001649b;\nLAB_00016520:\n  if (pbVar19 < pbVar17) {\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }\n  goto LAB_000169c8;\ncode_r0x00017025:\n  if (pbVar5 < pbVar17) {\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }\n  if (cVar2 == '\n') {\n    DAT_00088788 = DAT_00088788 + 1;\n  }\n  if (uVar10 == 0x2a) {\n    do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto code_r0x0001706e;\n    pbVar5 = pbVar18 + -1;\n    pbVar18[-1] = bVar3;\n  }\n  goto code_r0x00017025;\ncode_r0x0001751e:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  } while (cVar2 == '\x02');\n  if (((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)) {\n    pbVar18[-1] = bVar3;\n    pbVar18 = pbVar18 + -1;\n    DAT_000887a4 = 4;\n    DAT_000887a8 = 0xffffffff;\n    pbVar5 = local_30 + 1;\n    DAT_000887a0 = (byte *)0x5b030;\n    *local_30 = 9;\n    pbVar19 = pbVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    DAT_000887a0 = (byte *)0x5b031;\n    bVar3 = s__linefile_0005b02f[1];\n    goto code_r0x0001677e;\n  }\n  while (cVar2 != '\n') {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }\n  pbVar18[-1] = bVar3;\n  pbVar19 = pbVar18 + -1;\ncode_r0x00017782:\n  DAT_000887a8 = 0;\n  goto code_r0x00016b4e;\ncode_r0x00016d70:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  } while ((&DAT_000887c0)[bVar3] != '\n');\n  DAT_000887a8 = 0;\n  *pbVar5 = 10;\n  pbVar5 = local_30;\n  pbVar19 = pbVar18;\njoined_r0x000172dc:\n  local_30 = pbVar5;\n  if (pbVar4 <= pbVar5) goto LAB_00016520;\n  goto code_r0x00016b4e;\ncode_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;\n  goto code_r0x00016b84;\ncode_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }\n  if ((bVar1 == 0xe) || (bVar1 == 3)) goto code_r0x00016b78;\n  if ((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)) {\n    DAT_000887a8 = 1;\n    *pbVar16 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;\n    pbVar19 = pbVar18;\n    goto joined_r0x000172dc;\n  }\n  switch(DAT_000887a8) {\n  default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    \n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto code_r0x00016b78;\n  case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;\n  case 9:\n  case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;\n  case 0xb:\n    break;\n  }\n  DAT_000887a8 = 3;\ncode_r0x00017227:\n  pbVar18[-1] = bVar3;\n  *pbVar16 = 0x20;\n  pbVar5 = pbVar16 + 1;\n  pbVar19 = pbVar18 + -1;\n  goto joined_r0x000172dc;\n  while ((byte)(&DAT_000887c0)[pbVar8[1]] < 2) {\ncode_r0x0001787c:\n    pbVar8 = pbVar19;\n    pbVar19 = pbVar8 + 1;\n    if (pbVar17 == pbVar19) break;\n  }\n  if (pbVar19 <= pbVar18) {\n    pbVar8 = pbVar19;\n  }\n  iVar11 = (int)pbVar4 - (int)pbVar16;\n  sVar20 = (int)pbVar8 - (int)pbVar18;\n  if (iVar11 <= (int)sVar20) {\ncode_r0x000178a1:\n    sVar20 = iVar11 - 1;\n  }\n  if (0 < (int)sVar20) {\n    *pbVar16 = bVar3;\n    memcpy(pbVar5,pbVar18,sVar20);\n    pbVar5 = pbVar5 + sVar20;\n    pbVar19 = pbVar18 + sVar20;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }\n  }\nLAB_00016fab:\n  pbVar5 = pbVar16;\n  if (DAT_000887a8 == 0) {\n    DAT_000887a8 = 0xb;\n  }\n  else {\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }\n  *pbVar5 = (byte)local_2c;\n  pbVar5 = local_30;\n  uVar10 = DAT_000887a8;\n  goto joined_r0x00016e98;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "uint *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "size_t sVar20;" primitive_type identifier ;) (declaration "uint *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "uint *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "byte *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "uint local_2c;" type_identifier identifier ;) (expression_statement "pbVar4 = param_2 + param_3;" (assignment_expression "pbVar4 = param_2 + param_3" identifier = (binary_expression "param_2 + param_3" identifier + identifier)) ;) (expression_statement "pbVar5 = param_2;" (assignment_expression "pbVar5 = param_2" identifier = identifier) ;) (if_statement "if (DAT_00088784 == (byte *)0x0) {\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 == 0) {\n      return 0;\n    }\n    pbVar17 = &DAT_00080780 + iVar11;\n    uVar10 = DAT_000887a8;\n    pbVar18 = &DAT_00080780;\n  }\n  else {\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }" if (parenthesized_expression "(DAT_00088784 == (byte *)0x0)" ( (binary_expression "DAT_00088784 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 == 0) {\n      return 0;\n    }\n    pbVar17 = &DAT_00080780 + iVar11;\n    uVar10 = DAT_000887a8;\n    pbVar18 = &DAT_00080780;\n  }" { (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (expression_statement "pbVar18 = &DAT_00080780;" (assignment_expression "pbVar18 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;) }) (else_clause "else {\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }" else (compound_statement "{\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }" { (expression_statement "pbVar17 = DAT_00088784 + DAT_00088780;" (assignment_expression "pbVar17 = DAT_00088784 + DAT_00088780" identifier = (binary_expression "DAT_00088784 + DAT_00088780" identifier + identifier)) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (expression_statement "pbVar18 = DAT_00088784;" (assignment_expression "pbVar18 = DAT_00088784" identifier = identifier) ;) }))) (labeled_statement "LAB_0001649b:\n  pbVar19 = pbVar18;" statement_identifier : (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;)) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) (switch_statement "switch(uVar10) {\n  default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;\n  case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;\n  case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;\n  case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );\n  case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;\n  }" switch (parenthesized_expression "(uVar10)" ( identifier )) (compound_statement "{\n  default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;\n  case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;\n  case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;\n  case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );\n  case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;\n  }" { (case_statement "default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;" default : (labeled_statement "LAB_00016b40:\n    pbVar8 = &DAT_00080780;" statement_identifier : (expression_statement "pbVar8 = &DAT_00080780;" (assignment_expression "pbVar8 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;)) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;) (labeled_statement "code_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" statement_identifier : (if_statement "if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" if (parenthesized_expression "(pbVar19 < pbVar17)" ( (binary_expression "pbVar19 < pbVar17" identifier < identifier) )) (compound_statement "{\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }" { (expression_statement "pbVar18 = pbVar19 + 1;" (assignment_expression "pbVar18 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) }) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" else (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (if_statement "if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }" { (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (if_statement "if (DAT_000887a8 == 0) goto LAB_00016992;" if (parenthesized_expression "(DAT_000887a8 == 0)" ( (binary_expression "DAT_000887a8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00016992;" goto statement_identifier ;)) (expression_statement "uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5)" identifier = (call_expression "dcgettext(0,"end of file not at end of a line; newline inserted",5)" identifier (argument_list "(0,"end of file not at end of a line; newline inserted",5)" ( number_literal , (string_literal ""end of file not at end of a line; newline inserted"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" identifier = number_literal) ;) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) (expression_statement "*local_30 = 10;" (assignment_expression "*local_30 = 10" (pointer_expression "*local_30" * identifier) = number_literal) ;) (if_statement "if (pbVar5 < pbVar4) goto LAB_00016992;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto LAB_00016992;" goto statement_identifier ;)) (goto_statement "goto LAB_000169c8;" goto statement_identifier ;) })) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) })))) (expression_statement "local_2c = (uint)bVar3;" (assignment_expression "local_2c = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];" (assignment_expression "uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c]" identifier = (subscript_expression "(uint)(byte)(&DAT_000887c0)[local_2c]" (call_expression "(uint)(byte)(&DAT_000887c0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) ))) [ identifier ])) ;) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (labeled_statement "code_r0x00016b78:\n    pbVar16 = pbVar5;" statement_identifier : (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;)) (if_statement "if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }" if (parenthesized_expression "((byte)uVar10 < 0xf)" ( (binary_expression "(byte)uVar10 < 0xf" (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }" { (labeled_statement "code_r0x00016b84:\n      bVar3 = (byte)local_2c;" statement_identifier : (expression_statement "bVar3 = (byte)local_2c;" (assignment_expression "bVar3 = (byte)local_2c" identifier = (cast_expression "(byte)local_2c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;)) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;) (switch_statement "switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }" switch (parenthesized_expression "(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000)" ( (binary_expression "*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000" (pointer_expression "*(int *)(&DAT_0005b1a4 + uVar10 * 4)" * (cast_expression "(int *)(&DAT_0005b1a4 + uVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005b1a4 + uVar10 * 4)" ( (binary_expression "&DAT_0005b1a4 + uVar10 * 4" (pointer_expression "&DAT_0005b1a4" & identifier) + (binary_expression "uVar10 * 4" identifier * number_literal)) )))) + number_literal) )) (compound_statement "{\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }" { (case_statement "case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;" case number_literal : (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (if_statement "if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }" if (parenthesized_expression "(DAT_000887a8 != 10)" ( (binary_expression "DAT_000887a8 != 10" identifier != number_literal) )) (compound_statement "{\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }" { (if_statement "if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }" { (expression_statement "pbVar19 = pbVar18 + 1;" (assignment_expression "pbVar19 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (labeled_statement "code_r0x0001663b:\n            uVar10 = (uint)bVar3;" statement_identifier : (expression_statement "uVar10 = (uint)bVar3;" (assignment_expression "uVar10 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (if_statement "if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }" if (parenthesized_expression "(uVar10 == 0x5c)" ( (binary_expression "uVar10 == 0x5c" identifier == number_literal) )) (compound_statement "{\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }" { (if_statement "if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }" if (parenthesized_expression "(pbVar19 < pbVar17)" ( (binary_expression "pbVar19 < pbVar17" identifier < identifier) )) (compound_statement "{\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }" { (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }" else (compound_statement "{\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }" { (expression_statement "uVar12 = dcgettext(0,"end of file in escape character",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in escape character",5)" identifier = (call_expression "dcgettext(0,"end of file in escape character",5)" identifier (argument_list "(0,"end of file in escape character",5)" ( number_literal , (string_literal ""end of file in escape character"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "uVar12 = 0x5c;" (assignment_expression "uVar12 = 0x5c" identifier = number_literal) ;) (goto_statement "goto code_r0x000173ae;" goto statement_identifier ;) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) }))) (expression_statement "uVar10 = (uint)bVar3;" (assignment_expression "uVar10 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" if (parenthesized_expression "(uVar10 == 0x66)" ( (binary_expression "uVar10 == 0x66" identifier == number_literal) )) (compound_statement "{\n                uVar10 = 0xc;\n              }" { (expression_statement "uVar10 = 0xc;" (assignment_expression "uVar10 = 0xc" identifier = number_literal) ;) }) (else_clause "else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" else (if_statement "if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" if (parenthesized_expression "(uVar10 < 0x67)" ( (binary_expression "uVar10 < 0x67" identifier < number_literal) )) (compound_statement "{\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }" { (if_statement "if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }" if (parenthesized_expression "((uVar10 != 0x27) && (uVar10 == 0x62))" ( (binary_expression "(uVar10 != 0x27) && (uVar10 == 0x62)" (parenthesized_expression "(uVar10 != 0x27)" ( (binary_expression "uVar10 != 0x27" identifier != number_literal) )) && (parenthesized_expression "(uVar10 == 0x62)" ( (binary_expression "uVar10 == 0x62" identifier == number_literal) ))) )) (compound_statement "{\n                  uVar10 = 8;\n                }" { (expression_statement "uVar10 = 8;" (assignment_expression "uVar10 = 8" identifier = number_literal) ;) })) }) (else_clause "else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" else (if_statement "if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" if (parenthesized_expression "(uVar10 == 0x72)" ( (binary_expression "uVar10 == 0x72" identifier == number_literal) )) (compound_statement "{\n                uVar10 = 0xd;\n              }" { (expression_statement "uVar10 = 0xd;" (assignment_expression "uVar10 = 0xd" identifier = number_literal) ;) }) (else_clause "else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" else (if_statement "if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" if (parenthesized_expression "(uVar10 == 0x74)" ( (binary_expression "uVar10 == 0x74" identifier == number_literal) )) (compound_statement "{\n                uVar10 = 9;\n              }" { (expression_statement "uVar10 = 9;" (assignment_expression "uVar10 = 9" identifier = number_literal) ;) }) (else_clause "else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" else (if_statement "if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" if (parenthesized_expression "(uVar10 == 0x6e)" ( (binary_expression "uVar10 == 0x6e" identifier == number_literal) )) (compound_statement "{\n                uVar10 = 10;\n              }" { (expression_statement "uVar10 = 10;" (assignment_expression "uVar10 = 10" identifier = number_literal) ;) })))))))))) })) (expression_statement "sprintf((char *)&DAT_0008878c,"%d",uVar10);" (call_expression "sprintf((char *)&DAT_0008878c,"%d",uVar10)" identifier (argument_list "((char *)&DAT_0008878c,"%d",uVar10)" ( (cast_expression "(char *)&DAT_0008878c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0008878c" & identifier)) , (string_literal ""%d"" " string_content ") , identifier ))) ;) (if_statement "if (pbVar17 <= pbVar19) goto code_r0x000173d4;" if (parenthesized_expression "(pbVar17 <= pbVar19)" ( (binary_expression "pbVar17 <= pbVar19" identifier <= identifier) )) (goto_statement "goto code_r0x000173d4;" goto statement_identifier ;)) (expression_statement "pbVar18 = pbVar19 + 1;" (assignment_expression "pbVar18 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) (labeled_statement "code_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }" statement_identifier : (if_statement "if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }" if (parenthesized_expression "(bVar3 != 0x27)" ( (binary_expression "bVar3 != 0x27" identifier != number_literal) )) (compound_statement "{\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }" { (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) }))) }) (else_clause "else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }" else (compound_statement "{\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }" { (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) (goto_statement "goto code_r0x0001663b;" goto statement_identifier ;) })) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);" (assignment_expression "uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)" identifier = (call_expression "dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)" identifier (argument_list "(0,"end of file after a one-character quote; \\0 inserted",5)" ( number_literal , (string_literal ""end of file after a one-character quote; \\0 inserted"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar14);" (call_expression "FUN_0002bc80(uVar14)" identifier (argument_list "(uVar14)" ( identifier ))) ;) (labeled_statement "code_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);" statement_identifier : (expression_statement "sprintf((char *)&DAT_0008878c,"%d",uVar12);" (call_expression "sprintf((char *)&DAT_0008878c,"%d",uVar12)" identifier (argument_list "((char *)&DAT_0008878c,"%d",uVar12)" ( (cast_expression "(char *)&DAT_0008878c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0008878c" & identifier)) , (string_literal ""%d"" " string_content ") , identifier ))) ;)) (labeled_statement "code_r0x000173d4:\n            pbVar18 = &DAT_00080780;" statement_identifier : (expression_statement "pbVar18 = &DAT_00080780;" (assignment_expression "pbVar18 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;)) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (if_statement "if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }" { (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) (goto_statement "goto code_r0x000166af;" goto statement_identifier ;) })) }))) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (expression_statement "local_38 = &DAT_0008878c;" (assignment_expression "local_38 = &DAT_0008878c" identifier = (pointer_expression "&DAT_0008878c" & identifier)) ;) (do_statement "do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);" do (compound_statement "{\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          }" { (expression_statement "puVar15 = local_38;" (assignment_expression "puVar15 = local_38" identifier = identifier) ;) (expression_statement "uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;" (assignment_expression "uVar6 = *puVar15 + 0xfefefeff & ~*puVar15" identifier = (binary_expression "*puVar15 + 0xfefefeff & ~*puVar15" (binary_expression "*puVar15 + 0xfefefeff" (pointer_expression "*puVar15" * identifier) + number_literal) & (unary_expression "~*puVar15" ~ (pointer_expression "*puVar15" * identifier)))) ;) (expression_statement "uVar7 = uVar6 & 0x80808080;" (assignment_expression "uVar7 = uVar6 & 0x80808080" identifier = (binary_expression "uVar6 & 0x80808080" identifier & number_literal)) ;) (expression_statement "local_38 = puVar15 + 1;" (assignment_expression "local_38 = puVar15 + 1" identifier = (binary_expression "puVar15 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) ;) (expression_statement "bVar22 = (uVar6 & 0x8080) == 0;" (assignment_expression "bVar22 = (uVar6 & 0x8080) == 0" identifier = (binary_expression "(uVar6 & 0x8080) == 0" (parenthesized_expression "(uVar6 & 0x8080)" ( (binary_expression "uVar6 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }" if (parenthesized_expression "(bVar22)" ( identifier )) (compound_statement "{\n            uVar7 = uVar7 >> 0x10;\n          }" { (expression_statement "uVar7 = uVar7 >> 0x10;" (assignment_expression "uVar7 = uVar7 >> 0x10" identifier = (binary_expression "uVar7 >> 0x10" identifier >> number_literal)) ;) })) (expression_statement "puVar21 = (uint *)((int)puVar15 + 6);" (assignment_expression "puVar21 = (uint *)((int)puVar15 + 6)" identifier = (cast_expression "(uint *)((int)puVar15 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + 6)" ( (binary_expression "(int)puVar15 + 6" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }" if (parenthesized_expression "(!bVar22)" ( (unary_expression "!bVar22" ! identifier) )) (compound_statement "{\n            puVar21 = puVar15 + 1;\n          }" { (expression_statement "puVar21 = puVar15 + 1;" (assignment_expression "puVar21 = puVar15 + 1" identifier = (binary_expression "puVar15 + 1" identifier + number_literal)) ;) })) (if_statement "if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }" if (parenthesized_expression "((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d)" ( (binary_expression "(int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d" (binary_expression "(int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7))" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar7,(byte)uVar7)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar7,(byte)uVar7)" identifier (argument_list "((byte)uVar7,(byte)uVar7)" ( (cast_expression "(byte)uVar7" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar7" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) == number_literal) )) (compound_statement "{\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }" { (expression_statement "*pbVar16 = (byte)DAT_0008878c;" (assignment_expression "*pbVar16 = (byte)DAT_0008878c" (pointer_expression "*pbVar16" * identifier) = (cast_expression "(byte)DAT_0008878c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (goto_statement "goto joined_r0x00016e98;" goto statement_identifier ;) })) (expression_statement "DAT_000887a8 = 0xffffffff;" (assignment_expression "DAT_000887a8 = 0xffffffff" identifier = number_literal) ;) (if_statement "if (uVar10 == 9) {\n            uVar10 = 3;\n          }" if (parenthesized_expression "(uVar10 == 9)" ( (binary_expression "uVar10 == 9" identifier == number_literal) )) (compound_statement "{\n            uVar10 = 3;\n          }" { (expression_statement "uVar10 = 3;" (assignment_expression "uVar10 = 3" identifier = number_literal) ;) })) (expression_statement "DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);" (assignment_expression "DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1)" identifier = (cast_expression "(byte *)((int)&DAT_0008878c + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_0008878c + 1)" ( (binary_expression "(int)&DAT_0008878c + 1" (cast_expression "(int)&DAT_0008878c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_0008878c" & identifier)) + number_literal) )))) ;) (expression_statement "DAT_000887a4 = uVar10;" (assignment_expression "DAT_000887a4 = uVar10" identifier = identifier) ;) (expression_statement "*pbVar16 = (byte)DAT_0008878c;" (assignment_expression "*pbVar16 = (byte)DAT_0008878c" (pointer_expression "*pbVar16" * identifier) = (cast_expression "(byte)DAT_0008878c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (if_statement "if (pbVar5 < pbVar4) goto code_r0x00016750;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto code_r0x00016750;" goto statement_identifier ;)) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;)) (case_statement "case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;" case number_literal : (expression_statement "local_30 = pbVar16 + 1;" (assignment_expression "local_30 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (goto_statement "goto code_r0x00016d70;" goto statement_identifier ;)) (case_statement "case 0x16dd8:\n        break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;" case number_literal : (expression_statement "DAT_000887a8 = 1;" (assignment_expression "DAT_000887a8 = 1" identifier = number_literal) ;) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (goto_statement "goto joined_r0x00016e2c;" goto statement_identifier ;)) (case_statement "case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;" case number_literal : (if_statement "if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }" if (parenthesized_expression "(DAT_00088788 != 0)" ( (binary_expression "DAT_00088788 != 0" identifier != number_literal) )) (compound_statement "{\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }" { (expression_statement "DAT_00088788 = DAT_00088788 + -1;" (assignment_expression "DAT_00088788 = DAT_00088788 + -1" identifier = (binary_expression "DAT_00088788 + -1" identifier + number_literal)) ;) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;" case number_literal : (if_statement "if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }" if (parenthesized_expression "(DAT_000887a8 - 9 < 2)" ( (binary_expression "DAT_000887a8 - 9 < 2" (binary_expression "DAT_000887a8 - 9" identifier - number_literal) < number_literal) )) (compound_statement "{\n          DAT_000887a8 = 3;\n        }" { (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;) }) (else_clause "else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }" else (if_statement "if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }" if (parenthesized_expression "(DAT_000887a8 != 3)" ( (binary_expression "DAT_000887a8 != 3" identifier != number_literal) )) (compound_statement "{\n          DAT_000887a8 = 1;\n        }" { (expression_statement "DAT_000887a8 = 1;" (assignment_expression "DAT_000887a8 = 1" identifier = number_literal) ;) })))) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (goto_statement "goto joined_r0x00016e98;" goto statement_identifier ;)) (case_statement "case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;" case number_literal : (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "bRam00080761 = bVar3;" (assignment_expression "bRam00080761 = bVar3" identifier = identifier) ;) (if_statement "if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }" if (parenthesized_expression "(DAT_000887a8 == 10)" ( (binary_expression "DAT_000887a8 == 10" identifier == number_literal) )) (compound_statement "{\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }" { (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (if_statement "if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }" if (parenthesized_expression "(pbVar18 + -1 < pbVar17)" ( (binary_expression "pbVar18 + -1 < pbVar17" (binary_expression "pbVar18 + -1" identifier + number_literal) < identifier) )) (compound_statement "{\n            local_2c = (uint)pbVar18[-1];\n          }" { (expression_statement "local_2c = (uint)pbVar18[-1];" (assignment_expression "local_2c = (uint)pbVar18[-1]" identifier = (cast_expression "(uint)pbVar18[-1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar18[-1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }" else (compound_statement "{\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }" { (expression_statement "pbVar18 = &DAT_00080780;" (assignment_expression "pbVar18 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "local_2c = 0xffffffff;" (assignment_expression "local_2c = 0xffffffff" identifier = number_literal) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (if_statement "if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }" { (expression_statement "local_2c = (uint)DAT_00080780;" (assignment_expression "local_2c = (uint)DAT_00080780" identifier = (cast_expression "(uint)DAT_00080780" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) })) }))) (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" identifier = number_literal) ;) (expression_statement "pbVar19 = pbVar16 + 2;" (assignment_expression "pbVar19 = pbVar16 + 2" identifier = (binary_expression "pbVar16 + 2" identifier + number_literal)) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) }) (else_clause "else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }" else (compound_statement "{\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }" { (expression_statement "pbVar19 = pbVar5;" (assignment_expression "pbVar19 = pbVar5" identifier = identifier) ;) (if_statement "if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }" if (parenthesized_expression "(DAT_000887a8 == 9)" ( (binary_expression "DAT_000887a8 == 9" identifier == number_literal) )) (compound_statement "{\n            DAT_000887a4 = 3;\n          }" { (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" identifier = number_literal) ;) }) (else_clause "else {\n            DAT_000887a4 = DAT_000887a8;\n          }" else (compound_statement "{\n            DAT_000887a4 = DAT_000887a8;\n          }" { (expression_statement "DAT_000887a4 = DAT_000887a8;" (assignment_expression "DAT_000887a4 = DAT_000887a8" identifier = identifier) ;) }))) }))) (expression_statement "DAT_000887a8 = 5;" (assignment_expression "DAT_000887a8 = 5" identifier = number_literal) ;) (expression_statement "*pbVar16 = (byte)local_2c;" (assignment_expression "*pbVar16 = (byte)local_2c" (pointer_expression "*pbVar16" * identifier) = (cast_expression "(byte)local_2c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pbVar5 = pbVar19;" (assignment_expression "pbVar5 = pbVar19" identifier = identifier) ;) (goto_statement "goto joined_r0x0001680c;" goto statement_identifier ;)) (case_statement "case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;" case number_literal : (do_statement "do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);" do (compound_statement "{\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        }" { (if_statement "if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) }) (else_clause "else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }" else (compound_statement "{\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) goto LAB_00016992;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00016992;" goto statement_identifier ;)) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) }))) (expression_statement "local_2c = (uint)bVar3;" (assignment_expression "local_2c = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "bVar1 = (&DAT_000887c0)[local_2c];" (assignment_expression "bVar1 = (&DAT_000887c0)[local_2c]" identifier = (subscript_expression "(&DAT_000887c0)[local_2c]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ])) ;) (expression_statement "uVar10 = (uint)bVar1;" (assignment_expression "uVar10 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;) }) while (parenthesized_expression "(bVar1 == 2)" ( (binary_expression "bVar1 == 2" identifier == number_literal) )) ;) (if_statement "if (DAT_000887a8 != 0) goto code_r0x000171ad;" if (parenthesized_expression "(DAT_000887a8 != 0)" ( (binary_expression "DAT_000887a8 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x000171ad;" goto statement_identifier ;)) (expression_statement "DAT_000887a8 = 1;" (assignment_expression "DAT_000887a8 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x00017227;" goto statement_identifier ;)) (case_statement "case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;" case number_literal : (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (if_statement "if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }" if (parenthesized_expression "(DAT_000887a8 == 10)" ( (binary_expression "DAT_000887a8 == 10" identifier == number_literal) )) (compound_statement "{\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }" { (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;) })) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;) (if_statement "if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;" if (parenthesized_expression "(DAT_000887a8 == 3)" ( (binary_expression "DAT_000887a8 == 3" identifier == number_literal) )) (compound_statement "{\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }" { (expression_statement "DAT_000887a8 = 9;" (assignment_expression "DAT_000887a8 = 9" identifier = number_literal) ;) (if_statement "if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (compound_statement "{\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }" { (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) }) (else_clause "else if (pbVar4 <= pbVar5) goto LAB_00016fab;" else (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016fab;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016fab;" goto statement_identifier ;)))) (if_statement "if (DAT_00080764 != 0) goto LAB_00016fab;" if (parenthesized_expression "(DAT_00080764 != 0)" ( (binary_expression "DAT_00080764 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00016fab;" goto statement_identifier ;)) (if_statement "if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;" if (parenthesized_expression "((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))" ( (binary_expression "(pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2)" (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) && (parenthesized_expression "(pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2)" ( (comma_expression "pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) , (binary_expression "(byte)(&DAT_000887c0)[*pbVar18] < 2" (subscript_expression "(byte)(&DAT_000887c0)[*pbVar18]" (call_expression "(byte)(&DAT_000887c0)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) ))) [ (pointer_expression "*pbVar18" * identifier) ]) < number_literal)) ))) )) (goto_statement "goto code_r0x0001787c;" goto statement_identifier ;)) (expression_statement "iVar11 = (int)pbVar4 - (int)pbVar16;" (assignment_expression "iVar11 = (int)pbVar4 - (int)pbVar16" identifier = (binary_expression "(int)pbVar4 - (int)pbVar16" (cast_expression "(int)pbVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar16" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar11 < 1) goto code_r0x000178a1;" if (parenthesized_expression "(iVar11 < 1)" ( (binary_expression "iVar11 < 1" identifier < number_literal) )) (goto_statement "goto code_r0x000178a1;" goto statement_identifier ;)) (goto_statement "goto LAB_00016fab;" goto statement_identifier ;)) (case_statement "case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;" case number_literal : (if_statement "if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }" { (expression_statement "pbVar5 = pbVar18 + 1;" (assignment_expression "pbVar5 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar18;" (assignment_expression "bVar1 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (labeled_statement "code_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;" statement_identifier : (if_statement "if (bVar1 == 0x2a) goto code_r0x00017025;" if (parenthesized_expression "(bVar1 == 0x2a)" ( (binary_expression "bVar1 == 0x2a" identifier == number_literal) )) (goto_statement "goto code_r0x00017025;" goto statement_identifier ;))) (expression_statement "pbVar8 = pbVar5 + -1;" (assignment_expression "pbVar8 = pbVar5 + -1" identifier = (binary_expression "pbVar5 + -1" identifier + number_literal)) ;) (expression_statement "pbVar5[-1] = bVar1;" (assignment_expression "pbVar5[-1] = bVar1" (subscript_expression "pbVar5[-1]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }" else (compound_statement "{\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar5 = &DAT_00080781;" (assignment_expression "pbVar5 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar1 = DAT_00080780;" (assignment_expression "bVar1 = DAT_00080780" identifier = identifier) ;) (if_statement "if (iVar11 != 0) goto code_r0x00016ff8;" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00016ff8;" goto statement_identifier ;)) }))) (if_statement "if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }" if (parenthesized_expression "(DAT_000887a8 - 9 < 2)" ( (binary_expression "DAT_000887a8 - 9 < 2" (binary_expression "DAT_000887a8 - 9" identifier - number_literal) < number_literal) )) (compound_statement "{\n          DAT_000887a8 = 3;\n        }" { (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;) })) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "pbVar18 = pbVar8;" (assignment_expression "pbVar18 = pbVar8" identifier = identifier) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (goto_statement "goto joined_r0x00016e98;" goto statement_identifier ;)) (case_statement "case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;" case number_literal : (if_statement "if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }" if (parenthesized_expression "(local_2c == 0x2f)" ( (binary_expression "local_2c == 0x2f" identifier == number_literal) )) (compound_statement "{\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }" { (if_statement "if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" else (compound_statement "{\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = pbVar8;" (assignment_expression "pbVar18 = pbVar8" identifier = identifier) ;) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;) (if_statement "if (iVar11 == 0) goto code_r0x0001708b;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x0001708b;" goto statement_identifier ;)) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) }))) (if_statement "if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }" if (parenthesized_expression "(bVar3 == 0x2a)" ( (binary_expression "bVar3 == 0x2a" identifier == number_literal) )) (compound_statement "{\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }" { (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" identifier = number_literal) ;) (expression_statement "DAT_000887a8 = 0xfffffffe;" (assignment_expression "DAT_000887a8 = 0xfffffffe" identifier = number_literal) ;) (goto_statement "goto code_r0x00016560;" goto statement_identifier ;) })) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;) })) (labeled_statement "code_r0x0001708b:\n        uVar10 = DAT_000887a8;" statement_identifier : (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;)) (if_statement "if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }" if (parenthesized_expression "(1 < DAT_000887a8)" ( (binary_expression "1 < DAT_000887a8" number_literal < identifier) )) (compound_statement "{\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }" { (expression_statement "pcVar13 = strchr(PTR_DAT_00080718,local_2c);" (assignment_expression "pcVar13 = strchr(PTR_DAT_00080718,local_2c)" identifier = (call_expression "strchr(PTR_DAT_00080718,local_2c)" identifier (argument_list "(PTR_DAT_00080718,local_2c)" ( identifier , identifier )))) ;) (expression_statement "local_30 = pbVar5 + 1;" (assignment_expression "local_30 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar13 != (char *)0x0) goto code_r0x00016d70;" 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 code_r0x00016d70;" goto statement_identifier ;)) (goto_statement "goto code_r0x0001741d;" goto statement_identifier ;) })) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;) (goto_statement "goto code_r0x0001751e;" goto statement_identifier ;)) (case_statement "case 0x170df:\n        goto LAB_000170e3;" case number_literal : (goto_statement "goto LAB_000170e3;" goto statement_identifier ;)) })) (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" identifier = number_literal) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;) })) (labeled_statement "LAB_000170e3:\n    local_30 = pbVar16 + 1;" statement_identifier : (expression_statement "local_30 = pbVar16 + 1;" (assignment_expression "local_30 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;)) (goto_statement "goto LAB_00016fab;" goto statement_identifier ;)) (case_statement "case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;" case number_literal : (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }" else (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }" { (labeled_statement "LAB_00016992:\n        return (int)pbVar5 - (int)param_2;" statement_identifier : (return_statement "return (int)pbVar5 - (int)param_2;" return (binary_expression "(int)pbVar5 - (int)param_2" (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) }))) (expression_statement "uVar10 = (uint)bVar3;" (assignment_expression "uVar10 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (if_statement "if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }" if (parenthesized_expression "(uVar10 - 0x30 < 10)" ( (binary_expression "uVar10 - 0x30 < 10" (binary_expression "uVar10 - 0x30" identifier - number_literal) < number_literal) )) (compound_statement "{\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }" { (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "pbVar19 = &DAT_00080780;" (assignment_expression "pbVar19 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;) (while_statement "while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }" while (parenthesized_expression "((&DAT_000887c0)[uVar10] == '\x02')" ( (binary_expression "(&DAT_000887c0)[uVar10] == '\x02'" (subscript_expression "(&DAT_000887c0)[uVar10]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ]) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }" { (while_statement "while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }" while (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }" { (expression_statement "uVar10 = (uint)*pbVar18;" (assignment_expression "uVar10 = (uint)*pbVar18" identifier = (binary_expression "(uint)*pbVar18" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;" if (parenthesized_expression "((&DAT_000887c0)[uVar10] != '\x02')" ( (binary_expression "(&DAT_000887c0)[uVar10] != '\x02'" (subscript_expression "(&DAT_000887c0)[uVar10]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ]) != (char_literal "'\x02'" ' escape_sequence ')) )) (goto_statement "goto code_r0x000167d8;" goto statement_identifier ;)) })) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (if_statement "if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }" { (expression_statement "uVar10 = 0xffffffff;" (assignment_expression "uVar10 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto code_r0x00016b1d;" goto statement_identifier ;) })) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "uVar10 = (uint)DAT_00080780;" (assignment_expression "uVar10 = (uint)DAT_00080780" identifier = (cast_expression "(uint)DAT_00080780" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) })) (labeled_statement "code_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }" statement_identifier : (if_statement "if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }" if (parenthesized_expression "(uVar10 == 0x22)" ( (binary_expression "uVar10 == 0x22" identifier == number_literal) )) (compound_statement "{\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }" { (expression_statement "bRam00080761 = 0x22;" (assignment_expression "bRam00080761 = 0x22" identifier = number_literal) ;) (expression_statement "DAT_000887a8 = 5;" (assignment_expression "DAT_000887a8 = 5" identifier = number_literal) ;) (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" identifier = number_literal) ;) (expression_statement "*pbVar16 = 0x22;" (assignment_expression "*pbVar16 = 0x22" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (labeled_statement "joined_r0x0001680c:\n      pbVar19 = pbVar18;" statement_identifier : (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;)) (if_statement "if (pbVar5 < pbVar4) goto code_r0x00016818;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto code_r0x00016818;" goto statement_identifier ;)) }) (else_clause "else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }" else (compound_statement "{\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }" { (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (while_statement "while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }" while (parenthesized_expression "(uVar10 != 0xffffffff)" ( (binary_expression "uVar10 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }" { (while_statement "while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }" { (if_statement "if (uVar10 == 10) goto code_r0x00016b1d;" if (parenthesized_expression "(uVar10 == 10)" ( (binary_expression "uVar10 == 10" identifier == number_literal) )) (goto_statement "goto code_r0x00016b1d;" goto statement_identifier ;)) (if_statement "if (pbVar17 <= pbVar19) break;" if (parenthesized_expression "(pbVar17 <= pbVar19)" ( (binary_expression "pbVar17 <= pbVar19" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = (uint)*pbVar19;" (assignment_expression "uVar10 = (uint)*pbVar19" identifier = (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (if_statement "if (uVar10 == 0xffffffff) goto code_r0x00016b1d;" if (parenthesized_expression "(uVar10 == 0xffffffff)" ( (binary_expression "uVar10 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto code_r0x00016b1d;" goto statement_identifier ;)) })) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (if_statement "if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }" { (expression_statement "uVar10 = 0xffffffff;" (assignment_expression "uVar10 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pbVar19 = &DAT_00080780;" (assignment_expression "pbVar19 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;) }) (else_clause "else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }" else (compound_statement "{\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }" { (expression_statement "uVar10 = (uint)DAT_00080780;" (assignment_expression "uVar10 = (uint)DAT_00080780" identifier = (cast_expression "(uint)DAT_00080780" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) }))) })) (labeled_statement "code_r0x00016b1d:\n      DAT_000887a8 = 0;" statement_identifier : (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" identifier = number_literal) ;)) (expression_statement "*pbVar16 = (byte)uVar10;" (assignment_expression "*pbVar16 = (byte)uVar10" (pointer_expression "*pbVar16" * identifier) = (cast_expression "(byte)uVar10" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (pbVar5 < pbVar4) goto LAB_00016b40;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto LAB_00016b40;" goto statement_identifier ;)) })))) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (case_statement "case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;" case number_literal : (labeled_statement "code_r0x00016818:\n    pbVar16 = pbVar5;" statement_identifier : (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;)) (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (if_statement "if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }" if (parenthesized_expression "(((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10))" ( (binary_expression "((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)" (parenthesized_expression "((bVar3 != 0x5c) && (bVar3 != bRam00080761))" ( (binary_expression "(bVar3 != 0x5c) && (bVar3 != bRam00080761)" (parenthesized_expression "(bVar3 != 0x5c)" ( (binary_expression "bVar3 != 0x5c" identifier != number_literal) )) && (parenthesized_expression "(bVar3 != bRam00080761)" ( (binary_expression "bVar3 != bRam00080761" identifier != identifier) ))) )) && (parenthesized_expression "(pbVar8 = pbVar18, bVar3 != 10)" ( (comma_expression "pbVar8 = pbVar18, bVar3 != 10" (assignment_expression "pbVar8 = pbVar18" identifier = identifier) , (binary_expression "bVar3 != 10" identifier != number_literal)) ))) )) (compound_statement "{\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }" { (while_statement "while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }" while (parenthesized_expression "((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)))" ( (parenthesized_expression "(pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))" ( (comma_expression "pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) , (comma_expression "pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)" (assignment_expression "pbVar9 = pbVar17" identifier = identifier) , (binary_expression "pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)" (binary_expression "pbVar8 != pbVar17" identifier != identifier) && (parenthesized_expression "(bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)" ( (comma_expression "bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c" (assignment_expression "bVar3 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) , (comma_expression "pbVar9 = pbVar8, bVar3 != 0x5c" (assignment_expression "pbVar9 = pbVar8" identifier = identifier) , (binary_expression "bVar3 != 0x5c" identifier != number_literal))) ))))) )) )) (compound_statement "{\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }" { (if_statement "if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;" if (parenthesized_expression "((bVar3 == bRam00080761) || (bVar3 == 10))" ( (binary_expression "(bVar3 == bRam00080761) || (bVar3 == 10)" (parenthesized_expression "(bVar3 == bRam00080761)" ( (binary_expression "bVar3 == bRam00080761" identifier == identifier) )) || (parenthesized_expression "(bVar3 == 10)" ( (binary_expression "bVar3 == 10" identifier == number_literal) ))) )) (break_statement "break;" break ;)) })) (expression_statement "sVar20 = (int)pbVar4 - (int)pbVar5;" (assignment_expression "sVar20 = (int)pbVar4 - (int)pbVar5" identifier = (binary_expression "(int)pbVar4 - (int)pbVar5" (cast_expression "(int)pbVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }" if (parenthesized_expression "((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5)" ( (binary_expression "(int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5" (binary_expression "(int)pbVar9 - (int)pbVar18" (cast_expression "(int)pbVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) <= (binary_expression "(int)pbVar4 - (int)pbVar5" (cast_expression "(int)pbVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }" { (expression_statement "sVar20 = (int)pbVar9 - (int)pbVar18;" (assignment_expression "sVar20 = (int)pbVar9 - (int)pbVar18" identifier = (binary_expression "(int)pbVar9 - (int)pbVar18" (cast_expression "(int)pbVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (if_statement "if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }" if (parenthesized_expression "(0 < (int)sVar20)" ( (binary_expression "0 < (int)sVar20" number_literal < (cast_expression "(int)sVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }" { (expression_statement "pbVar19 = pbVar18 + sVar20;" (assignment_expression "pbVar19 = pbVar18 + sVar20" identifier = (binary_expression "pbVar18 + sVar20" identifier + identifier)) ;) (expression_statement "memcpy(pbVar5,pbVar18,sVar20);" (call_expression "memcpy(pbVar5,pbVar18,sVar20)" identifier (argument_list "(pbVar5,pbVar18,sVar20)" ( identifier , identifier , identifier ))) ;) (expression_statement "pbVar5 = pbVar5 + sVar20;" (assignment_expression "pbVar5 = pbVar5 + sVar20" identifier = (binary_expression "pbVar5 + sVar20" identifier + identifier)) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) (if_statement "if (pbVar17 <= pbVar19) goto code_r0x00016a7d;" if (parenthesized_expression "(pbVar17 <= pbVar19)" ( (binary_expression "pbVar17 <= pbVar19" identifier <= identifier) )) (goto_statement "goto code_r0x00016a7d;" goto statement_identifier ;)) })) })) (expression_statement "pbVar18 = pbVar19 + 1;" (assignment_expression "pbVar18 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) }) (else_clause "else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" else (compound_statement "{\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" { (labeled_statement "code_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;" statement_identifier : (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (if_statement "if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }" { (expression_statement "iVar11 = (int)(char)bRam00080761;" (assignment_expression "iVar11 = (int)(char)bRam00080761" identifier = (cast_expression "(int)(char)bRam00080761" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bRam00080761" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5)" identifier = (call_expression "dcgettext(0,"end of file in string; \'%c\' inserted",5)" identifier (argument_list "(0,"end of file in string; \'%c\' inserted",5)" ( number_literal , (string_literal ""end of file in string; \'%c\' inserted"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar12,iVar11);" (call_expression "FUN_0002bc80(uVar12,iVar11)" identifier (argument_list "(uVar12,iVar11)" ( identifier , identifier ))) ;) (expression_statement "uVar10 = DAT_000887a4;" (assignment_expression "uVar10 = DAT_000887a4" identifier = identifier) ;) (expression_statement "uRam00080760 = 10;" (assignment_expression "uRam00080760 = 10" identifier = number_literal) ;) (expression_statement "DAT_000887a8 = DAT_000887a4;" (assignment_expression "DAT_000887a8 = DAT_000887a4" identifier = identifier) ;) (expression_statement "*pbVar16 = bRam00080761;" (assignment_expression "*pbVar16 = bRam00080761" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (if_statement "if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (compound_statement "{\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }" { (expression_statement "DAT_00088780 = 1;" (assignment_expression "DAT_00088780 = 1" identifier = number_literal) ;) (expression_statement "DAT_00088784 = (byte *)0x80760;" (assignment_expression "DAT_00088784 = (byte *)0x80760" identifier = (cast_expression "(byte *)0x80760" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00016538;" goto statement_identifier ;) })) (expression_statement "pbVar17 = (byte *)0x80761;" (assignment_expression "pbVar17 = (byte *)0x80761" identifier = (cast_expression "(byte *)0x80761" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar18 = (byte *)0x80760;" (assignment_expression "pbVar18 = (byte *)0x80760" identifier = (cast_expression "(byte *)0x80760" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0001649b;" goto statement_identifier ;) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) }))) (expression_statement "uVar10 = DAT_000887a4;" (assignment_expression "uVar10 = DAT_000887a4" identifier = identifier) ;) (if_statement "if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }" if (parenthesized_expression "((int)(char)bRam00080761 == (uint)bVar3)" ( (binary_expression "(int)(char)bRam00080761 == (uint)bVar3" (cast_expression "(int)(char)bRam00080761" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bRam00080761" ( (type_descriptor "char" primitive_type) ) identifier)) == (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (compound_statement "{\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }" { (expression_statement "DAT_000887a8 = DAT_000887a4;" (assignment_expression "DAT_000887a8 = DAT_000887a4" identifier = identifier) ;) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) }) (else_clause "else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }" else (compound_statement "{\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }" { (if_statement "if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }" if (parenthesized_expression "(bVar3 == 0x5c)" ( (binary_expression "bVar3 == 0x5c" identifier == number_literal) )) (compound_statement "{\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }" { (expression_statement "DAT_000887a8 = 6;" (assignment_expression "DAT_000887a8 = 6" identifier = number_literal) ;) (expression_statement "*pbVar16 = 0x5c;" (assignment_expression "*pbVar16 = 0x5c" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (goto_statement "goto code_r0x000168d0;" goto statement_identifier ;) })) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;" case number_literal : (labeled_statement "code_r0x000168d0:\n    DAT_000887a8 = 5;" statement_identifier : (expression_statement "DAT_000887a8 = 5;" (assignment_expression "DAT_000887a8 = 5" identifier = number_literal) ;)) (expression_statement "pbVar19 = pbVar5 + 1;" (assignment_expression "pbVar19 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (labeled_statement "joined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" statement_identifier : (if_statement "if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" if (parenthesized_expression "(bVar3 == 10)" ( (binary_expression "bVar3 == 10" identifier == number_literal) )) (compound_statement "{\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" { (expression_statement "pbVar18[-1] = 0x6e;" (assignment_expression "pbVar18[-1] = 0x6e" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (expression_statement "DAT_00088788 = DAT_00088788 + 1;" (assignment_expression "DAT_00088788 = DAT_00088788 + 1" identifier = (binary_expression "DAT_00088788 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar5 = 0x5c;" (assignment_expression "*pbVar5 = 0x5c" (pointer_expression "*pbVar5" * identifier) = number_literal) ;) (expression_statement "pbVar5 = pbVar19;" (assignment_expression "pbVar5 = pbVar19" identifier = identifier) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) }) (else_clause "else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" else (compound_statement "{\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" { (expression_statement "*pbVar5 = bVar3;" (assignment_expression "*pbVar5 = bVar3" (pointer_expression "*pbVar5" * identifier) = identifier) ;) (expression_statement "pbVar5 = pbVar19;" (assignment_expression "pbVar5 = pbVar19" identifier = identifier) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) })))) (break_statement "break;" break ;) })) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }" { (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) (goto_statement "goto joined_r0x00016a19;" goto statement_identifier ;) })) (expression_statement "iVar11 = (int)(char)bRam00080761;" (assignment_expression "iVar11 = (int)(char)bRam00080761" identifier = (cast_expression "(int)(char)bRam00080761" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bRam00080761" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5)" identifier = (call_expression "dcgettext(0,"end of file in string; \'%c\' inserted",5)" identifier (argument_list "(0,"end of file in string; \'%c\' inserted",5)" ( number_literal , (string_literal ""end of file in string; \'%c\' inserted"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar12,iVar11);" (call_expression "FUN_0002bc80(uVar12,iVar11)" identifier (argument_list "(uVar12,iVar11)" ( identifier , identifier ))) ;) (expression_statement "*pbVar5 = bRam00080761;" (assignment_expression "*pbVar5 = bRam00080761" (pointer_expression "*pbVar5" * identifier) = identifier) ;) (expression_statement "pbVar5 = pbVar19;" (assignment_expression "pbVar5 = pbVar19" identifier = identifier) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (labeled_statement "joined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;" statement_identifier : (expression_statement "pbVar17 = &DAT_00080780;" (assignment_expression "pbVar17 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;)) (expression_statement "pbVar18 = pbVar17;" (assignment_expression "pbVar18 = pbVar17" identifier = identifier) ;) (expression_statement "DAT_000887a8 = uVar10;" (assignment_expression "DAT_000887a8 = uVar10" identifier = identifier) ;) (if_statement "if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (compound_statement "{\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }" { (labeled_statement "LAB_000169c8:\n      DAT_00088784 = (byte *)0x0;" statement_identifier : (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_00016538:\n      return (int)pbVar5 - (int)param_2;" statement_identifier : (return_statement "return (int)pbVar5 - (int)param_2;" return (binary_expression "(int)pbVar5 - (int)param_2" (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) })) (goto_statement "goto LAB_0001649b;" goto statement_identifier ;)) (case_statement "case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );" case number_literal : (labeled_statement "code_r0x00016560:\n    pbVar5 = pbVar16;" statement_identifier : (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;)) (labeled_statement "code_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;" statement_identifier : (if_statement "if (pbVar17 <= pbVar18) goto code_r0x000165c0;" if (parenthesized_expression "(pbVar17 <= pbVar18)" ( (binary_expression "pbVar17 <= pbVar18" identifier <= identifier) )) (goto_statement "goto code_r0x000165c0;" goto statement_identifier ;))) (do_statement "do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );" do (compound_statement "{\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    }" { (expression_statement "pbVar19 = pbVar18 + 1;" (assignment_expression "pbVar19 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (while_statement "while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }" { (expression_statement "pbVar18 = pbVar19;" (assignment_expression "pbVar18 = pbVar19" identifier = identifier) ;) (if_statement "if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }" if (parenthesized_expression "(bVar3 == 10)" ( (binary_expression "bVar3 == 10" identifier == number_literal) )) (compound_statement "{\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }" { (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar16 = 10;" (assignment_expression "*pbVar16 = 10" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (if_statement "if (pbVar5 < pbVar4) goto code_r0x00016570;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto code_r0x00016570;" goto statement_identifier ;)) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;) (if_statement "if (bVar3 != 0x2a) goto code_r0x00016570;" if (parenthesized_expression "(bVar3 != 0x2a)" ( (binary_expression "bVar3 != 0x2a" identifier != number_literal) )) (goto_statement "goto code_r0x00016570;" goto statement_identifier ;)) (do_statement "do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);" do (compound_statement "{\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        }" { (if_statement "if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" if (parenthesized_expression "(pbVar19 < pbVar17)" ( (binary_expression "pbVar19 < pbVar17" identifier < identifier) )) (compound_statement "{\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }" { (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" else (compound_statement "{\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) goto code_r0x00016974;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00016974;" goto statement_identifier ;)) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) }))) (expression_statement "uVar10 = DAT_000887a4;" (assignment_expression "uVar10 = DAT_000887a4" identifier = identifier) ;) }) while (parenthesized_expression "(bVar3 == 0x2a)" ( (binary_expression "bVar3 == 0x2a" identifier == number_literal) )) ;) (expression_statement "pbVar18 = pbVar19 + -1;" (assignment_expression "pbVar18 = pbVar19 + -1" identifier = (binary_expression "pbVar19 + -1" identifier + number_literal)) ;) (if_statement "if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }" if (parenthesized_expression "(bVar3 == 0x2f)" ( (binary_expression "bVar3 == 0x2f" identifier == number_literal) )) (compound_statement "{\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }" { (expression_statement "DAT_000887a8 = DAT_000887a4;" (assignment_expression "DAT_000887a8 = DAT_000887a4" identifier = identifier) ;) (expression_statement "pbVar19[-1] = 0x20;" (assignment_expression "pbVar19[-1] = 0x20" (subscript_expression "pbVar19[-1]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001649b;" goto statement_identifier ;) })) (expression_statement "pbVar19[-1] = bVar3;" (assignment_expression "pbVar19[-1] = bVar3" (subscript_expression "pbVar19[-1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pbVar18 < pbVar17) break;" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;" statement_identifier : (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }" { (labeled_statement "code_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);" statement_identifier : (expression_statement "uVar12 = dcgettext(0,"end of file in comment",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in comment",5)" identifier = (call_expression "dcgettext(0,"end of file in comment",5)" identifier (argument_list "(0,"end of file in comment",5)" ( number_literal , (string_literal ""end of file in comment"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (goto_statement "goto LAB_00016992;" goto statement_identifier ;) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;)) (case_statement "case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;" case number_literal : (labeled_statement "code_r0x00016750:\n    uVar10 = DAT_000887a4;" statement_identifier : (expression_statement "uVar10 = DAT_000887a4;" (assignment_expression "uVar10 = DAT_000887a4" identifier = identifier) ;)) (expression_statement "pbVar19 = DAT_000887a0 + 1;" (assignment_expression "pbVar19 = DAT_000887a0 + 1" identifier = (binary_expression "DAT_000887a0 + 1" identifier + number_literal)) ;) (expression_statement "pbVar16 = DAT_000887a0 + 1;" (assignment_expression "pbVar16 = DAT_000887a0 + 1" identifier = (binary_expression "DAT_000887a0 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *DAT_000887a0;" (assignment_expression "bVar3 = *DAT_000887a0" identifier = (pointer_expression "*DAT_000887a0" * identifier)) ;) (expression_statement "DAT_000887a0 = pbVar19;" (assignment_expression "DAT_000887a0 = pbVar19" identifier = identifier) ;) (if_statement "if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }" if (parenthesized_expression "(*pbVar16 == 0)" ( (binary_expression "*pbVar16 == 0" (pointer_expression "*pbVar16" * identifier) == number_literal) )) (compound_statement "{\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }" { (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" identifier = number_literal) ;) (expression_statement "DAT_000887a8 = uVar10;" (assignment_expression "DAT_000887a8 = uVar10" identifier = identifier) ;) })) (labeled_statement "code_r0x0001677e:\n    *pbVar5 = bVar3;" statement_identifier : (expression_statement "*pbVar5 = bVar3;" (assignment_expression "*pbVar5 = bVar3" (pointer_expression "*pbVar5" * identifier) = identifier) ;)) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;)) })) (labeled_statement "joined_r0x00016e98:\n  pbVar19 = pbVar18;" statement_identifier : (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;)) (if_statement "if (pbVar5 < pbVar4) goto LAB_0001649b;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto LAB_0001649b;" goto statement_identifier ;)) (labeled_statement "LAB_00016520:\n  if (pbVar19 < pbVar17) {\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }" statement_identifier : (if_statement "if (pbVar19 < pbVar17) {\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }" if (parenthesized_expression "(pbVar19 < pbVar17)" ( (binary_expression "pbVar19 < pbVar17" identifier < identifier) )) (compound_statement "{\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }" { (expression_statement "DAT_00088780 = (int)pbVar17 - (int)pbVar19;" (assignment_expression "DAT_00088780 = (int)pbVar17 - (int)pbVar19" identifier = (binary_expression "(int)pbVar17 - (int)pbVar19" (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar19" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "DAT_00088784 = pbVar19;" (assignment_expression "DAT_00088784 = pbVar19" identifier = identifier) ;) (goto_statement "goto LAB_00016538;" goto statement_identifier ;) }))) (goto_statement "goto LAB_000169c8;" goto statement_identifier ;) (labeled_statement "code_r0x00017025:\n  if (pbVar5 < pbVar17) {\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }" statement_identifier : (if_statement "if (pbVar5 < pbVar17) {\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }" if (parenthesized_expression "(pbVar5 < pbVar17)" ( (binary_expression "pbVar5 < pbVar17" identifier < identifier) )) (compound_statement "{\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }" { (expression_statement "uVar10 = (uint)*pbVar5;" (assignment_expression "uVar10 = (uint)*pbVar5" identifier = (binary_expression "(uint)*pbVar5" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "cVar2 = (&DAT_000887c0)[uVar10];" (assignment_expression "cVar2 = (&DAT_000887c0)[uVar10]" identifier = (subscript_expression "(&DAT_000887c0)[uVar10]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ])) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }" else (compound_statement "{\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (if_statement "if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }" { (labeled_statement "code_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);" statement_identifier : (expression_statement "uVar12 = dcgettext(0,"end of file in multiline comment",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in multiline comment",5)" identifier = (call_expression "dcgettext(0,"end of file in multiline comment",5)" identifier (argument_list "(0,"end of file in multiline comment",5)" ( number_literal , (string_literal ""end of file in multiline comment"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "pbVar18 = pbVar8;" (assignment_expression "pbVar18 = pbVar8" identifier = identifier) ;) (labeled_statement "code_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;" statement_identifier : (expression_statement "uVar10 = (uint)DAT_000887e0;" (assignment_expression "uVar10 = (uint)DAT_000887e0" identifier = (cast_expression "(uint)DAT_000887e0" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (expression_statement "local_2c = 0x20;" (assignment_expression "local_2c = 0x20" identifier = number_literal) ;) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;) (goto_statement "goto code_r0x00016b78;" goto statement_identifier ;) })) (expression_statement "uVar10 = (uint)DAT_00080780;" (assignment_expression "uVar10 = (uint)DAT_00080780" identifier = (cast_expression "(uint)DAT_00080780" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "cVar2 = (&DAT_000887c0)[uVar10];" (assignment_expression "cVar2 = (&DAT_000887c0)[uVar10]" identifier = (subscript_expression "(&DAT_000887c0)[uVar10]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ])) ;) (expression_statement "pbVar5 = &DAT_00080781;" (assignment_expression "pbVar5 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) })))) (if_statement "if (cVar2 == '\n') {\n    DAT_00088788 = DAT_00088788 + 1;\n  }" if (parenthesized_expression "(cVar2 == '\n')" ( (binary_expression "cVar2 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n    DAT_00088788 = DAT_00088788 + 1;\n  }" { (expression_statement "DAT_00088788 = DAT_00088788 + 1;" (assignment_expression "DAT_00088788 = DAT_00088788 + 1" identifier = (binary_expression "DAT_00088788 + 1" identifier + number_literal)) ;) })) (if_statement "if (uVar10 == 0x2a) {\n    do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto code_r0x0001706e;\n    pbVar5 = pbVar18 + -1;\n    pbVar18[-1] = bVar3;\n  }" if (parenthesized_expression "(uVar10 == 0x2a)" ( (binary_expression "uVar10 == 0x2a" identifier == number_literal) )) (compound_statement "{\n    do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto code_r0x0001706e;\n    pbVar5 = pbVar18 + -1;\n    pbVar18[-1] = bVar3;\n  }" { (do_statement "do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);" do (compound_statement "{\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    }" { (if_statement "if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }" if (parenthesized_expression "(pbVar5 < pbVar17)" ( (binary_expression "pbVar5 < pbVar17" identifier < identifier) )) (compound_statement "{\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }" { (expression_statement "pbVar18 = pbVar5 + 1;" (assignment_expression "pbVar18 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar5;" (assignment_expression "bVar3 = *pbVar5" identifier = (pointer_expression "*pbVar5" * identifier)) ;) }) (else_clause "else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }" else (compound_statement "{\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) (if_statement "if (iVar11 == 0) goto code_r0x0001704e;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x0001704e;" goto statement_identifier ;)) }))) (expression_statement "pbVar5 = pbVar18;" (assignment_expression "pbVar5 = pbVar18" identifier = identifier) ;) }) while (parenthesized_expression "(bVar3 == 0x2a)" ( (binary_expression "bVar3 == 0x2a" identifier == number_literal) )) ;) (if_statement "if (bVar3 == 0x2f) goto code_r0x0001706e;" if (parenthesized_expression "(bVar3 == 0x2f)" ( (binary_expression "bVar3 == 0x2f" identifier == number_literal) )) (goto_statement "goto code_r0x0001706e;" goto statement_identifier ;)) (expression_statement "pbVar5 = pbVar18 + -1;" (assignment_expression "pbVar5 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) })) (goto_statement "goto code_r0x00017025;" goto statement_identifier ;) (labeled_statement "code_r0x0001751e:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  } while (cVar2 == '\x02');" statement_identifier : (do_statement "do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  } while (cVar2 == '\x02');" do (compound_statement "{\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }" { (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" else (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }" { (expression_statement "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5)" identifier = (call_expression "dcgettext(0,"end of file in comment; newline inserted",5)" identifier (argument_list "(0,"end of file in comment; newline inserted",5)" ( number_literal , (string_literal ""end of file in comment; newline inserted"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) (expression_statement "*local_30 = 10;" (assignment_expression "*local_30 = 10" (pointer_expression "*local_30" * identifier) = number_literal) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (goto_statement "goto joined_r0x00016c7b;" goto statement_identifier ;) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) }))) (expression_statement "cVar2 = (&DAT_000887c0)[bVar3];" (assignment_expression "cVar2 = (&DAT_000887c0)[bVar3]" identifier = (subscript_expression "(&DAT_000887c0)[bVar3]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ])) ;) }) while (parenthesized_expression "(cVar2 == '\x02')" ( (binary_expression "cVar2 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) ;)) (if_statement "if (((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)) {\n    pbVar18[-1] = bVar3;\n    pbVar18 = pbVar18 + -1;\n    DAT_000887a4 = 4;\n    DAT_000887a8 = 0xffffffff;\n    pbVar5 = local_30 + 1;\n    DAT_000887a0 = (byte *)0x5b030;\n    *local_30 = 9;\n    pbVar19 = pbVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    DAT_000887a0 = (byte *)0x5b031;\n    bVar3 = s__linefile_0005b02f[1];\n    goto code_r0x0001677e;\n  }" if (parenthesized_expression "(((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23))" ( (binary_expression "((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)" (parenthesized_expression "((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0))" ( (binary_expression "(bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)" (parenthesized_expression "(bVar3 - 0x30 < 10)" ( (binary_expression "bVar3 - 0x30 < 10" (binary_expression "bVar3 - 0x30" identifier - number_literal) < number_literal) )) && (parenthesized_expression "(DAT_000887a8 == 0)" ( (binary_expression "DAT_000887a8 == 0" identifier == number_literal) ))) )) && (parenthesized_expression "(local_2c == 0x23)" ( (binary_expression "local_2c == 0x23" identifier == number_literal) ))) )) (compound_statement "{\n    pbVar18[-1] = bVar3;\n    pbVar18 = pbVar18 + -1;\n    DAT_000887a4 = 4;\n    DAT_000887a8 = 0xffffffff;\n    pbVar5 = local_30 + 1;\n    DAT_000887a0 = (byte *)0x5b030;\n    *local_30 = 9;\n    pbVar19 = pbVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    DAT_000887a0 = (byte *)0x5b031;\n    bVar3 = s__linefile_0005b02f[1];\n    goto code_r0x0001677e;\n  }" { (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (expression_statement "DAT_000887a4 = 4;" (assignment_expression "DAT_000887a4 = 4" identifier = number_literal) ;) (expression_statement "DAT_000887a8 = 0xffffffff;" (assignment_expression "DAT_000887a8 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) (expression_statement "DAT_000887a0 = (byte *)0x5b030;" (assignment_expression "DAT_000887a0 = (byte *)0x5b030" identifier = (cast_expression "(byte *)0x5b030" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*local_30 = 9;" (assignment_expression "*local_30 = 9" (pointer_expression "*local_30" * identifier) = number_literal) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (expression_statement "DAT_000887a0 = (byte *)0x5b031;" (assignment_expression "DAT_000887a0 = (byte *)0x5b031" identifier = (cast_expression "(byte *)0x5b031" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar3 = s__linefile_0005b02f[1];" (assignment_expression "bVar3 = s__linefile_0005b02f[1]" identifier = (subscript_expression "s__linefile_0005b02f[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x0001677e;" goto statement_identifier ;) })) (while_statement "while (cVar2 != '\n') {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }" while (parenthesized_expression "(cVar2 != '\n')" ( (binary_expression "cVar2 != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }" { (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" else (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }" { (expression_statement "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5)" identifier = (call_expression "dcgettext(0,"end of file in comment; newline inserted",5)" identifier (argument_list "(0,"end of file in comment; newline inserted",5)" ( number_literal , (string_literal ""end of file in comment; newline inserted"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) (expression_statement "*local_30 = 10;" (assignment_expression "*local_30 = 10" (pointer_expression "*local_30" * identifier) = number_literal) ;) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" identifier = identifier) ;) (expression_statement "pbVar17 = pbVar8;" (assignment_expression "pbVar17 = pbVar8" identifier = identifier) ;) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;) (if_statement "if (pbVar5 < pbVar4) goto code_r0x00017782;" if (parenthesized_expression "(pbVar5 < pbVar4)" ( (binary_expression "pbVar5 < pbVar4" identifier < identifier) )) (goto_statement "goto code_r0x00017782;" goto statement_identifier ;)) (goto_statement "goto LAB_000169c8;" goto statement_identifier ;) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) }))) (expression_statement "cVar2 = (&DAT_000887c0)[bVar3];" (assignment_expression "cVar2 = (&DAT_000887c0)[bVar3]" identifier = (subscript_expression "(&DAT_000887c0)[bVar3]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ])) ;) })) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (labeled_statement "code_r0x00017782:\n  DAT_000887a8 = 0;" statement_identifier : (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" identifier = number_literal) ;)) (goto_statement "goto code_r0x00016b4e;" goto statement_identifier ;) (labeled_statement "code_r0x00016d70:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  } while ((&DAT_000887c0)[bVar3] != '\n');" statement_identifier : (do_statement "do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  } while ((&DAT_000887c0)[bVar3] != '\n');" do (compound_statement "{\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  }" { (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" if (parenthesized_expression "(pbVar18 < pbVar17)" ( (binary_expression "pbVar18 < pbVar17" identifier < identifier) )) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }" { (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" else (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" { (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }" { (expression_statement "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5)" identifier = (call_expression "dcgettext(0,"end of file in comment; newline inserted",5)" identifier (argument_list "(0,"end of file in comment; newline inserted",5)" ( number_literal , (string_literal ""end of file in comment; newline inserted"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "pbVar18 = pbVar8;" (assignment_expression "pbVar18 = pbVar8" identifier = identifier) ;) (expression_statement "pbVar17 = pbVar8;" (assignment_expression "pbVar17 = pbVar8" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" identifier = identifier) ;) }))) }) while (parenthesized_expression "((&DAT_000887c0)[bVar3] != '\n')" ( (binary_expression "(&DAT_000887c0)[bVar3] != '\n'" (subscript_expression "(&DAT_000887c0)[bVar3]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ]) != (char_literal "'\n'" ' escape_sequence ')) )) ;)) (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" identifier = number_literal) ;) (expression_statement "*pbVar5 = 10;" (assignment_expression "*pbVar5 = 10" (pointer_expression "*pbVar5" * identifier) = number_literal) ;) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (labeled_statement "joined_r0x000172dc:\n  local_30 = pbVar5;" statement_identifier : (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" identifier = identifier) ;)) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (goto_statement "goto code_r0x00016b4e;" goto statement_identifier ;) (labeled_statement "code_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;" statement_identifier : (if_statement "if (bVar1 != 4) goto code_r0x000171b5;" if (parenthesized_expression "(bVar1 != 4)" ( (binary_expression "bVar1 != 4" identifier != number_literal) )) (goto_statement "goto code_r0x000171b5;" goto statement_identifier ;))) (goto_statement "goto code_r0x00016b84;" goto statement_identifier ;) (labeled_statement "code_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }" statement_identifier : (if_statement "if (local_2c == 0x2f) {\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }" if (parenthesized_expression "(local_2c == 0x2f)" ( (binary_expression "local_2c == 0x2f" identifier == number_literal) )) (compound_statement "{\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }" { (expression_statement "uVar10 = (uint)DAT_000887ef;" (assignment_expression "uVar10 = (uint)DAT_000887ef" identifier = (cast_expression "(uint)DAT_000887ef" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto code_r0x00016b78;" goto statement_identifier ;) }))) (if_statement "if ((bVar1 == 0xe) || (bVar1 == 3)) goto code_r0x00016b78;" if (parenthesized_expression "((bVar1 == 0xe) || (bVar1 == 3))" ( (binary_expression "(bVar1 == 0xe) || (bVar1 == 3)" (parenthesized_expression "(bVar1 == 0xe)" ( (binary_expression "bVar1 == 0xe" identifier == number_literal) )) || (parenthesized_expression "(bVar1 == 3)" ( (binary_expression "bVar1 == 3" identifier == number_literal) ))) )) (goto_statement "goto code_r0x00016b78;" goto statement_identifier ;)) (if_statement "if ((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)) {\n    DAT_000887a8 = 1;\n    *pbVar16 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;\n    pbVar19 = pbVar18;\n    goto joined_r0x000172dc;\n  }" if (parenthesized_expression "((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9))" ( (binary_expression "(DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)" (parenthesized_expression "(DAT_000887a8 == 2 || DAT_000887a8 == 0xb)" ( (binary_expression "DAT_000887a8 == 2 || DAT_000887a8 == 0xb" (binary_expression "DAT_000887a8 == 2" identifier == number_literal) || (binary_expression "DAT_000887a8 == 0xb" identifier == number_literal)) )) && (parenthesized_expression "(bVar1 == 9)" ( (binary_expression "bVar1 == 9" identifier == number_literal) ))) )) (compound_statement "{\n    DAT_000887a8 = 1;\n    *pbVar16 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;\n    pbVar19 = pbVar18;\n    goto joined_r0x000172dc;\n  }" { (expression_statement "DAT_000887a8 = 1;" (assignment_expression "DAT_000887a8 = 1" identifier = number_literal) ;) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (labeled_statement "joined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;" statement_identifier : (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;)) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;) })) (switch_statement "switch(DAT_000887a8) {\n  default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    \n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto code_r0x00016b78;\n  case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;\n  case 9:\n  case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;\n  case 0xb:\n    break;\n  }" switch (parenthesized_expression "(DAT_000887a8)" ( identifier )) (compound_statement "{\n  default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    \n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto code_r0x00016b78;\n  case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;\n  case 9:\n  case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;\n  case 0xb:\n    break;\n  }" { (case_statement "default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    \n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");" default : (expression_statement "uVar7 = DAT_000887a8;" (assignment_expression "uVar7 = DAT_000887a8" identifier = identifier) ;) (expression_statement "uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);" (assignment_expression "uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8)" identifier = (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8)" ( number_literal , (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal , identifier , identifier )))) ;) (expression_statement "FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");" (call_expression "FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c")" identifier (argument_list "(uVar12,uVar7,0x3cd,"../../gas/app.c")" ( identifier , identifier , number_literal , (string_literal ""../../gas/app.c"" " string_content ") ))) ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 3:\n    goto code_r0x00016b78;" case number_literal : (goto_statement "goto code_r0x00016b78;" goto statement_identifier ;)) (case_statement "case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;" case number_literal : (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (compound_statement "{\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }" { (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (expression_statement "uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];" (assignment_expression "uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c]" identifier = (subscript_expression "(uint)(byte)(&DAT_000887c0)[local_2c]" (call_expression "(uint)(byte)(&DAT_000887c0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) ))) [ identifier ])) ;) (goto_statement "goto code_r0x00016b78;" goto statement_identifier ;)) (case_statement "case 9:" case number_literal :) (case_statement "case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;" case number_literal : (expression_statement "DAT_000887a8 = 10;" (assignment_expression "DAT_000887a8 = 10" identifier = number_literal) ;) (goto_statement "goto code_r0x00016b78;" goto statement_identifier ;)) (case_statement "case 0xb:\n    break;" case number_literal : (break_statement "break;" break ;)) })) (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;) (labeled_statement "code_r0x00017227:\n  pbVar18[-1] = bVar3;" statement_identifier : (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" * identifier) = number_literal) ;) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (goto_statement "goto joined_r0x000172dc;" goto statement_identifier ;) (while_statement "while ((byte)(&DAT_000887c0)[pbVar8[1]] < 2) {\ncode_r0x0001787c:\n    pbVar8 = pbVar19;\n    pbVar19 = pbVar8 + 1;\n    if (pbVar17 == pbVar19) break;\n  }" while (parenthesized_expression "((byte)(&DAT_000887c0)[pbVar8[1]] < 2)" ( (binary_expression "(byte)(&DAT_000887c0)[pbVar8[1]] < 2" (subscript_expression "(byte)(&DAT_000887c0)[pbVar8[1]]" (call_expression "(byte)(&DAT_000887c0)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) ))) [ (subscript_expression "pbVar8[1]" identifier [ number_literal ]) ]) < number_literal) )) (compound_statement "{\ncode_r0x0001787c:\n    pbVar8 = pbVar19;\n    pbVar19 = pbVar8 + 1;\n    if (pbVar17 == pbVar19) break;\n  }" { (labeled_statement "code_r0x0001787c:\n    pbVar8 = pbVar19;" statement_identifier : (expression_statement "pbVar8 = pbVar19;" (assignment_expression "pbVar8 = pbVar19" identifier = identifier) ;)) (expression_statement "pbVar19 = pbVar8 + 1;" (assignment_expression "pbVar19 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar17 == pbVar19) break;" if (parenthesized_expression "(pbVar17 == pbVar19)" ( (binary_expression "pbVar17 == pbVar19" identifier == identifier) )) (break_statement "break;" break ;)) })) (if_statement "if (pbVar19 <= pbVar18) {\n    pbVar8 = pbVar19;\n  }" if (parenthesized_expression "(pbVar19 <= pbVar18)" ( (binary_expression "pbVar19 <= pbVar18" identifier <= identifier) )) (compound_statement "{\n    pbVar8 = pbVar19;\n  }" { (expression_statement "pbVar8 = pbVar19;" (assignment_expression "pbVar8 = pbVar19" identifier = identifier) ;) })) (expression_statement "iVar11 = (int)pbVar4 - (int)pbVar16;" (assignment_expression "iVar11 = (int)pbVar4 - (int)pbVar16" identifier = (binary_expression "(int)pbVar4 - (int)pbVar16" (cast_expression "(int)pbVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar16" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "sVar20 = (int)pbVar8 - (int)pbVar18;" (assignment_expression "sVar20 = (int)pbVar8 - (int)pbVar18" identifier = (binary_expression "(int)pbVar8 - (int)pbVar18" (cast_expression "(int)pbVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar11 <= (int)sVar20) {\ncode_r0x000178a1:\n    sVar20 = iVar11 - 1;\n  }" if (parenthesized_expression "(iVar11 <= (int)sVar20)" ( (binary_expression "iVar11 <= (int)sVar20" identifier <= (cast_expression "(int)sVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\ncode_r0x000178a1:\n    sVar20 = iVar11 - 1;\n  }" { (labeled_statement "code_r0x000178a1:\n    sVar20 = iVar11 - 1;" statement_identifier : (expression_statement "sVar20 = iVar11 - 1;" (assignment_expression "sVar20 = iVar11 - 1" identifier = (binary_expression "iVar11 - 1" identifier - number_literal)) ;)) })) (if_statement "if (0 < (int)sVar20) {\n    *pbVar16 = bVar3;\n    memcpy(pbVar5,pbVar18,sVar20);\n    pbVar5 = pbVar5 + sVar20;\n    pbVar19 = pbVar18 + sVar20;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }\n  }" if (parenthesized_expression "(0 < (int)sVar20)" ( (binary_expression "0 < (int)sVar20" number_literal < (cast_expression "(int)sVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    *pbVar16 = bVar3;\n    memcpy(pbVar5,pbVar18,sVar20);\n    pbVar5 = pbVar5 + sVar20;\n    pbVar19 = pbVar18 + sVar20;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }\n  }" { (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" * identifier) = identifier) ;) (expression_statement "memcpy(pbVar5,pbVar18,sVar20);" (call_expression "memcpy(pbVar5,pbVar18,sVar20)" identifier (argument_list "(pbVar5,pbVar18,sVar20)" ( identifier , identifier , identifier ))) ;) (expression_statement "pbVar5 = pbVar5 + sVar20;" (assignment_expression "pbVar5 = pbVar5 + sVar20" identifier = (binary_expression "pbVar5 + sVar20" identifier + identifier)) ;) (expression_statement "pbVar19 = pbVar18 + sVar20;" (assignment_expression "pbVar19 = pbVar18 + sVar20" identifier = (binary_expression "pbVar18 + sVar20" identifier + identifier)) ;) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" if (parenthesized_expression "(pbVar4 <= pbVar5)" ( (binary_expression "pbVar4 <= pbVar5" identifier <= identifier) )) (goto_statement "goto LAB_00016520;" goto statement_identifier ;)) (expression_statement "local_30 = pbVar5 + 1;" (assignment_expression "local_30 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }" if (parenthesized_expression "(pbVar19 < pbVar17)" ( (binary_expression "pbVar19 < pbVar17" identifier < identifier) )) (compound_statement "{\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }" { (expression_statement "local_2c = (uint)*pbVar19;" (assignment_expression "local_2c = (uint)*pbVar19" identifier = (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pbVar18 = pbVar19 + 1;" (assignment_expression "pbVar18 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) }) (else_clause "else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }" else (compound_statement "{\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }" { (expression_statement "pbVar18 = &DAT_00080780;" (assignment_expression "pbVar18 = &DAT_00080780" identifier = (pointer_expression "&DAT_00080780" & identifier)) ;) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5)" identifier = (call_expression "(*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(&DAT_00080780,0x8000,pbVar5,pbVar5)" ( (pointer_expression "&DAT_00080780" & identifier) , number_literal , identifier , identifier )))) ;) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" identifier = (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" & identifier) + identifier)) ;) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" identifier = identifier) ;) (if_statement "if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }" { (expression_statement "local_2c = 0xffffffff;" (assignment_expression "local_2c = 0xffffffff" identifier = number_literal) ;) (expression_statement "pbVar17 = pbVar18;" (assignment_expression "pbVar17 = pbVar18" identifier = identifier) ;) }) (else_clause "else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }" else (compound_statement "{\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }" { (expression_statement "local_2c = (uint)DAT_00080780;" (assignment_expression "local_2c = (uint)DAT_00080780" identifier = (cast_expression "(uint)DAT_00080780" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" identifier = (pointer_expression "&DAT_00080781" & identifier)) ;) }))) }))) })) (labeled_statement "LAB_00016fab:\n  pbVar5 = pbVar16;" statement_identifier : (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" identifier = identifier) ;)) (if_statement "if (DAT_000887a8 == 0) {\n    DAT_000887a8 = 0xb;\n  }\n  else {\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }" if (parenthesized_expression "(DAT_000887a8 == 0)" ( (binary_expression "DAT_000887a8 == 0" identifier == number_literal) )) (compound_statement "{\n    DAT_000887a8 = 0xb;\n  }" { (expression_statement "DAT_000887a8 = 0xb;" (assignment_expression "DAT_000887a8 = 0xb" identifier = number_literal) ;) }) (else_clause "else {\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }" else (compound_statement "{\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }" { (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (if_statement "if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }" if (parenthesized_expression "(DAT_000887a8 == 1)" ( (binary_expression "DAT_000887a8 == 1" identifier == number_literal) )) (compound_statement "{\n      DAT_000887a8 = 2;\n    }" { (expression_statement "DAT_000887a8 = 2;" (assignment_expression "DAT_000887a8 = 2" identifier = number_literal) ;) }) (else_clause "else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }" else (compound_statement "{\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }" { (labeled_statement "code_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" statement_identifier : (if_statement "if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" if (parenthesized_expression "(uVar10 == 9)" ( (binary_expression "uVar10 == 9" identifier == number_literal) )) (compound_statement "{\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }" { (if_statement "if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;" if (parenthesized_expression "((&DAT_000887c0)[local_2c] != '\x01')" ( (binary_expression "(&DAT_000887c0)[local_2c] != '\x01'" (subscript_expression "(&DAT_000887c0)[local_2c]" (parenthesized_expression "(&DAT_000887c0)" ( (pointer_expression "&DAT_000887c0" & identifier) )) [ identifier ]) != (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001743a;" goto statement_identifier ;)) }) (else_clause "else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" else (if_statement "if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" if (parenthesized_expression "(uVar10 == 10)" ( (binary_expression "uVar10 == 10" identifier == number_literal) )) (compound_statement "{\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" { (if_statement "if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }" if (parenthesized_expression "(local_2c == 0x5c)" ( (binary_expression "local_2c == 0x5c" identifier == number_literal) )) (compound_statement "{\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }" { (if_statement "if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }" if (parenthesized_expression "(pbVar4 <= local_30)" ( (binary_expression "pbVar4 <= local_30" identifier <= identifier) )) (compound_statement "{\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }" { (expression_statement "pbVar18[-1] = 0x5c;" (assignment_expression "pbVar18[-1] = 0x5c" (subscript_expression "pbVar18[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" identifier = (binary_expression "pbVar18 + -1" identifier + number_literal)) ;) (goto_statement "goto LAB_00016520;" goto statement_identifier ;) })) (expression_statement "*pbVar5 = 0x20;" (assignment_expression "*pbVar5 = 0x20" (pointer_expression "*pbVar5" * identifier) = number_literal) ;) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (expression_statement "local_30 = local_30 + 1;" (assignment_expression "local_30 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_0001743a:\n        DAT_000887a8 = 3;" statement_identifier : (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" identifier = number_literal) ;)) }))))) }))) }))) (expression_statement "*pbVar5 = (byte)local_2c;" (assignment_expression "*pbVar5 = (byte)local_2c" (pointer_expression "*pbVar5" * identifier) = (cast_expression "(byte)local_2c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" identifier = identifier) ;) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" identifier = identifier) ;) (goto_statement "goto joined_r0x00016e98;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (switch_statement switch (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) + LIT) )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })))))))))) })) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , (string_literal " string_content ") , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , (string_literal " string_content ") , IDENT ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })))) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression & IDENT) ))) [ (pointer_expression * IDENT) ]) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (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 ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_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)) ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (return_statement return (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (while_statement while (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) })))) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT != IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) ))))) )) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (break_statement break ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) <= (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) == (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (break_statement break ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })))) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (labeled_statement statement_identifier : (return_statement return (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;))) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) while (parenthesized_expression ( BOOL )) ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) }))) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) }) while (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (while_statement while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) while (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) != (char_literal ' escape_sequence ')) )) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (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 = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT)) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") , LIT , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , (string_literal " string_content ") ))) ;)) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ IDENT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (break_statement break ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( (binary_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression & IDENT) ))) [ (subscript_expression IDENT [ LIT ]) ]) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (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 = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }))) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))))) }))) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "int FUN_00016450(code *param_1,byte *param_2,int param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  undefined4 uVar14;\n  uint *puVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  size_t sVar20;\n  uint *puVar21;\n  bool bVar22;\n  uint *local_38;\n  byte *local_30;\n  uint local_2c;\n  \n  pbVar4 = param_2 + param_3;\n  pbVar5 = param_2;\n  if (DAT_00088784 == (byte *)0x0) {\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 == 0) {\n      return 0;\n    }\n    pbVar17 = &DAT_00080780 + iVar11;\n    uVar10 = DAT_000887a8;\n    pbVar18 = &DAT_00080780;\n  }\n  else {\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }\nLAB_0001649b:\n  pbVar19 = pbVar18;\n  pbVar16 = pbVar5;\n  switch(uVar10) {\n  default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;\n  case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;\n  case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;\n  case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );\n  case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;\n  }\njoined_r0x00016e98:\n  pbVar19 = pbVar18;\n  if (pbVar5 < pbVar4) goto LAB_0001649b;\nLAB_00016520:\n  if (pbVar19 < pbVar17) {\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }\n  goto LAB_000169c8;\ncode_r0x00017025:\n  if (pbVar5 < pbVar17) {\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }\n  if (cVar2 == '\n') {\n    DAT_00088788 = DAT_00088788 + 1;\n  }\n  if (uVar10 == 0x2a) {\n    do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto code_r0x0001706e;\n    pbVar5 = pbVar18 + -1;\n    pbVar18[-1] = bVar3;\n  }\n  goto code_r0x00017025;\ncode_r0x0001751e:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  } while (cVar2 == '\x02');\n  if (((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)) {\n    pbVar18[-1] = bVar3;\n    pbVar18 = pbVar18 + -1;\n    DAT_000887a4 = 4;\n    DAT_000887a8 = 0xffffffff;\n    pbVar5 = local_30 + 1;\n    DAT_000887a0 = (byte *)0x5b030;\n    *local_30 = 9;\n    pbVar19 = pbVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    DAT_000887a0 = (byte *)0x5b031;\n    bVar3 = s__linefile_0005b02f[1];\n    goto code_r0x0001677e;\n  }\n  while (cVar2 != '\n') {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }\n  pbVar18[-1] = bVar3;\n  pbVar19 = pbVar18 + -1;\ncode_r0x00017782:\n  DAT_000887a8 = 0;\n  goto code_r0x00016b4e;\ncode_r0x00016d70:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  } while ((&DAT_000887c0)[bVar3] != '\n');\n  DAT_000887a8 = 0;\n  *pbVar5 = 10;\n  pbVar5 = local_30;\n  pbVar19 = pbVar18;\njoined_r0x000172dc:\n  local_30 = pbVar5;\n  if (pbVar4 <= pbVar5) goto LAB_00016520;\n  goto code_r0x00016b4e;\ncode_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;\n  goto code_r0x00016b84;\ncode_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }\n  if ((bVar1 == 0xe) || (bVar1 == 3)) goto code_r0x00016b78;\n  if ((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)) {\n    DAT_000887a8 = 1;\n    *pbVar16 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;\n    pbVar19 = pbVar18;\n    goto joined_r0x000172dc;\n  }\n  switch(DAT_000887a8) {\n  default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    \n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto code_r0x00016b78;\n  case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;\n  case 9:\n  case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;\n  case 0xb:\n    break;\n  }\n  DAT_000887a8 = 3;\ncode_r0x00017227:\n  pbVar18[-1] = bVar3;\n  *pbVar16 = 0x20;\n  pbVar5 = pbVar16 + 1;\n  pbVar19 = pbVar18 + -1;\n  goto joined_r0x000172dc;\n  while ((byte)(&DAT_000887c0)[pbVar8[1]] < 2) {\ncode_r0x0001787c:\n    pbVar8 = pbVar19;\n    pbVar19 = pbVar8 + 1;\n    if (pbVar17 == pbVar19) break;\n  }\n  if (pbVar19 <= pbVar18) {\n    pbVar8 = pbVar19;\n  }\n  iVar11 = (int)pbVar4 - (int)pbVar16;\n  sVar20 = (int)pbVar8 - (int)pbVar18;\n  if (iVar11 <= (int)sVar20) {\ncode_r0x000178a1:\n    sVar20 = iVar11 - 1;\n  }\n  if (0 < (int)sVar20) {\n    *pbVar16 = bVar3;\n    memcpy(pbVar5,pbVar18,sVar20);\n    pbVar5 = pbVar5 + sVar20;\n    pbVar19 = pbVar18 + sVar20;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }\n  }\nLAB_00016fab:\n  pbVar5 = pbVar16;\n  if (DAT_000887a8 == 0) {\n    DAT_000887a8 = 0xb;\n  }\n  else {\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }\n  *pbVar5 = (byte)local_2c;\n  pbVar5 = local_30;\n  uVar10 = DAT_000887a8;\n  goto joined_r0x00016e98;\n}" (primitive_type "int") (function_declarator "FUN_00016450(code *param_1,byte *param_2,int param_3)" (identifier "FUN_00016450") (parameter_list "(code *param_1,byte *param_2,int param_3)" (( "(") (parameter_declaration "code *param_1" (type_identifier "code") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "byte *param_2" (type_identifier "byte") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  byte bVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  undefined4 uVar14;\n  uint *puVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  size_t sVar20;\n  uint *puVar21;\n  bool bVar22;\n  uint *local_38;\n  byte *local_30;\n  uint local_2c;\n  \n  pbVar4 = param_2 + param_3;\n  pbVar5 = param_2;\n  if (DAT_00088784 == (byte *)0x0) {\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 == 0) {\n      return 0;\n    }\n    pbVar17 = &DAT_00080780 + iVar11;\n    uVar10 = DAT_000887a8;\n    pbVar18 = &DAT_00080780;\n  }\n  else {\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }\nLAB_0001649b:\n  pbVar19 = pbVar18;\n  pbVar16 = pbVar5;\n  switch(uVar10) {\n  default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;\n  case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;\n  case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;\n  case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );\n  case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;\n  }\njoined_r0x00016e98:\n  pbVar19 = pbVar18;\n  if (pbVar5 < pbVar4) goto LAB_0001649b;\nLAB_00016520:\n  if (pbVar19 < pbVar17) {\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }\n  goto LAB_000169c8;\ncode_r0x00017025:\n  if (pbVar5 < pbVar17) {\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }\n  if (cVar2 == '\n') {\n    DAT_00088788 = DAT_00088788 + 1;\n  }\n  if (uVar10 == 0x2a) {\n    do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto code_r0x0001706e;\n    pbVar5 = pbVar18 + -1;\n    pbVar18[-1] = bVar3;\n  }\n  goto code_r0x00017025;\ncode_r0x0001751e:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  } while (cVar2 == '\x02');\n  if (((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)) {\n    pbVar18[-1] = bVar3;\n    pbVar18 = pbVar18 + -1;\n    DAT_000887a4 = 4;\n    DAT_000887a8 = 0xffffffff;\n    pbVar5 = local_30 + 1;\n    DAT_000887a0 = (byte *)0x5b030;\n    *local_30 = 9;\n    pbVar19 = pbVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    DAT_000887a0 = (byte *)0x5b031;\n    bVar3 = s__linefile_0005b02f[1];\n    goto code_r0x0001677e;\n  }\n  while (cVar2 != '\n') {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }\n  pbVar18[-1] = bVar3;\n  pbVar19 = pbVar18 + -1;\ncode_r0x00017782:\n  DAT_000887a8 = 0;\n  goto code_r0x00016b4e;\ncode_r0x00016d70:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  } while ((&DAT_000887c0)[bVar3] != '\n');\n  DAT_000887a8 = 0;\n  *pbVar5 = 10;\n  pbVar5 = local_30;\n  pbVar19 = pbVar18;\njoined_r0x000172dc:\n  local_30 = pbVar5;\n  if (pbVar4 <= pbVar5) goto LAB_00016520;\n  goto code_r0x00016b4e;\ncode_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;\n  goto code_r0x00016b84;\ncode_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }\n  if ((bVar1 == 0xe) || (bVar1 == 3)) goto code_r0x00016b78;\n  if ((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)) {\n    DAT_000887a8 = 1;\n    *pbVar16 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;\n    pbVar19 = pbVar18;\n    goto joined_r0x000172dc;\n  }\n  switch(DAT_000887a8) {\n  default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    \n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto code_r0x00016b78;\n  case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;\n  case 9:\n  case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;\n  case 0xb:\n    break;\n  }\n  DAT_000887a8 = 3;\ncode_r0x00017227:\n  pbVar18[-1] = bVar3;\n  *pbVar16 = 0x20;\n  pbVar5 = pbVar16 + 1;\n  pbVar19 = pbVar18 + -1;\n  goto joined_r0x000172dc;\n  while ((byte)(&DAT_000887c0)[pbVar8[1]] < 2) {\ncode_r0x0001787c:\n    pbVar8 = pbVar19;\n    pbVar19 = pbVar8 + 1;\n    if (pbVar17 == pbVar19) break;\n  }\n  if (pbVar19 <= pbVar18) {\n    pbVar8 = pbVar19;\n  }\n  iVar11 = (int)pbVar4 - (int)pbVar16;\n  sVar20 = (int)pbVar8 - (int)pbVar18;\n  if (iVar11 <= (int)sVar20) {\ncode_r0x000178a1:\n    sVar20 = iVar11 - 1;\n  }\n  if (0 < (int)sVar20) {\n    *pbVar16 = bVar3;\n    memcpy(pbVar5,pbVar18,sVar20);\n    pbVar5 = pbVar5 + sVar20;\n    pbVar19 = pbVar18 + sVar20;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }\n  }\nLAB_00016fab:\n  pbVar5 = pbVar16;\n  if (DAT_000887a8 == 0) {\n    DAT_000887a8 = 0xb;\n  }\n  else {\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }\n  *pbVar5 = (byte)local_2c;\n  pbVar5 = local_30;\n  uVar10 = DAT_000887a8;\n  goto joined_r0x00016e98;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "byte *pbVar4;" (type_identifier "byte") (pointer_declarator "*pbVar4" (* "*") (identifier "pbVar4")) (; ";")) (declaration "byte *pbVar5;" (type_identifier "byte") (pointer_declarator "*pbVar5" (* "*") (identifier "pbVar5")) (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "undefined4 uVar14;" (type_identifier "undefined4") (identifier "uVar14") (; ";")) (declaration "uint *puVar15;" (type_identifier "uint") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "byte *pbVar16;" (type_identifier "byte") (pointer_declarator "*pbVar16" (* "*") (identifier "pbVar16")) (; ";")) (declaration "byte *pbVar17;" (type_identifier "byte") (pointer_declarator "*pbVar17" (* "*") (identifier "pbVar17")) (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "byte *pbVar19;" (type_identifier "byte") (pointer_declarator "*pbVar19" (* "*") (identifier "pbVar19")) (; ";")) (declaration "size_t sVar20;" (primitive_type "size_t") (identifier "sVar20") (; ";")) (declaration "uint *puVar21;" (type_identifier "uint") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "bool bVar22;" (primitive_type "bool") (identifier "bVar22") (; ";")) (declaration "uint *local_38;" (type_identifier "uint") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "byte *local_30;" (type_identifier "byte") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "uint local_2c;" (type_identifier "uint") (identifier "local_2c") (; ";")) (expression_statement "pbVar4 = param_2 + param_3;" (assignment_expression "pbVar4 = param_2 + param_3" (identifier "pbVar4") (= "=") (binary_expression "param_2 + param_3" (identifier "param_2") (+ "+") (identifier "param_3"))) (; ";")) (expression_statement "pbVar5 = param_2;" (assignment_expression "pbVar5 = param_2" (identifier "pbVar5") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (DAT_00088784 == (byte *)0x0) {\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 == 0) {\n      return 0;\n    }\n    pbVar17 = &DAT_00080780 + iVar11;\n    uVar10 = DAT_000887a8;\n    pbVar18 = &DAT_00080780;\n  }\n  else {\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }" (if "if") (parenthesized_expression "(DAT_00088784 == (byte *)0x0)" (( "(") (binary_expression "DAT_00088784 == (byte *)0x0" (identifier "DAT_00088784") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 == 0) {\n      return 0;\n    }\n    pbVar17 = &DAT_00080780 + iVar11;\n    uVar10 = DAT_000887a8;\n    pbVar18 = &DAT_00080780;\n  }" ({ "{") (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";")) (expression_statement "pbVar18 = &DAT_00080780;" (assignment_expression "pbVar18 = &DAT_00080780" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780"))) (; ";")) (} "}")) (else_clause "else {\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }" (else "else") (compound_statement "{\n    pbVar17 = DAT_00088784 + DAT_00088780;\n    uVar10 = DAT_000887a8;\n    pbVar18 = DAT_00088784;\n  }" ({ "{") (expression_statement "pbVar17 = DAT_00088784 + DAT_00088780;" (assignment_expression "pbVar17 = DAT_00088784 + DAT_00088780" (identifier "pbVar17") (= "=") (binary_expression "DAT_00088784 + DAT_00088780" (identifier "DAT_00088784") (+ "+") (identifier "DAT_00088780"))) (; ";")) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";")) (expression_statement "pbVar18 = DAT_00088784;" (assignment_expression "pbVar18 = DAT_00088784" (identifier "pbVar18") (= "=") (identifier "DAT_00088784")) (; ";")) (} "}")))) (labeled_statement "LAB_0001649b:\n  pbVar19 = pbVar18;" (statement_identifier "LAB_0001649b") (: ":") (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";"))) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" (identifier "pbVar16") (= "=") (identifier "pbVar5")) (; ";")) (switch_statement "switch(uVar10) {\n  default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;\n  case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;\n  case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;\n  case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );\n  case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;\n  }" (switch "switch") (parenthesized_expression "(uVar10)" (( "(") (identifier "uVar10") () ")")) (compound_statement "{\n  default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;\n  case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;\n  case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;\n  case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;\n  case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );\n  case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;\n  }" ({ "{") (case_statement "default:\nLAB_00016b40:\n    pbVar8 = &DAT_00080780;\n    local_30 = pbVar5;\ncode_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    local_2c = (uint)bVar3;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    pbVar5 = local_30;\ncode_r0x00016b78:\n    pbVar16 = pbVar5;\n    if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }\nLAB_000170e3:\n    local_30 = pbVar16 + 1;\n    goto LAB_00016fab;" (default "default") (: ":") (labeled_statement "LAB_00016b40:\n    pbVar8 = &DAT_00080780;" (statement_identifier "LAB_00016b40") (: ":") (expression_statement "pbVar8 = &DAT_00080780;" (assignment_expression "pbVar8 = &DAT_00080780" (identifier "pbVar8") (= "=") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780"))) (; ";"))) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" (identifier "local_30") (= "=") (identifier "pbVar5")) (; ";")) (labeled_statement "code_r0x00016b4e:\n    if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" (statement_identifier "code_r0x00016b4e") (: ":") (if_statement "if (pbVar19 < pbVar17) {\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" (if "if") (parenthesized_expression "(pbVar19 < pbVar17)" (( "(") (binary_expression "pbVar19 < pbVar17" (identifier "pbVar19") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n      pbVar18 = pbVar19 + 1;\n      bVar3 = *pbVar19;\n    }" ({ "{") (expression_statement "pbVar18 = pbVar19 + 1;" (assignment_expression "pbVar18 = pbVar19 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" (identifier "bVar3") (= "=") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19"))) (; ";")) (} "}")) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" (else "else") (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" ({ "{") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (if_statement "if (iVar11 == 0) {\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pbVar5 = local_30;\n        if (DAT_000887a8 == 0) goto LAB_00016992;\n        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        DAT_000887a8 = 0;\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        if (pbVar5 < pbVar4) goto LAB_00016992;\n        goto LAB_000169c8;\n      }" ({ "{") (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" (identifier "pbVar5") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (DAT_000887a8 == 0) goto LAB_00016992;" (if "if") (parenthesized_expression "(DAT_000887a8 == 0)" (( "(") (binary_expression "DAT_000887a8 == 0" (identifier "DAT_000887a8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00016992;" (goto "goto") (statement_identifier "LAB_00016992") (; ";"))) (expression_statement "uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"end of file not at end of a line; newline inserted",5)" (identifier "dcgettext") (argument_list "(0,"end of file not at end of a line; newline inserted",5)" (( "(") (number_literal "0") (, ",") (string_literal ""end of file not at end of a line; newline inserted"" (" """) (string_content "end of file not at end of a line; newline inserted") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" (identifier "FUN_0002bc80") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" (identifier "DAT_000887a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" (identifier "pbVar5") (= "=") (binary_expression "local_30 + 1" (identifier "local_30") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*local_30 = 10;" (assignment_expression "*local_30 = 10" (pointer_expression "*local_30" (* "*") (identifier "local_30")) (= "=") (number_literal "10")) (; ";")) (if_statement "if (pbVar5 < pbVar4) goto LAB_00016992;" (if "if") (parenthesized_expression "(pbVar5 < pbVar4)" (( "(") (binary_expression "pbVar5 < pbVar4" (identifier "pbVar5") (< "<") (identifier "pbVar4")) () ")")) (goto_statement "goto LAB_00016992;" (goto "goto") (statement_identifier "LAB_00016992") (; ";"))) (goto_statement "goto LAB_000169c8;" (goto "goto") (statement_identifier "LAB_000169c8") (; ";")) (} "}"))) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (} "}"))))) (expression_statement "local_2c = (uint)bVar3;" (assignment_expression "local_2c = (uint)bVar3" (identifier "local_2c") (= "=") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3"))) (; ";")) (expression_statement "uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];" (assignment_expression "uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c]" (identifier "uVar10") (= "=") (subscript_expression "(uint)(byte)(&DAT_000887c0)[local_2c]" (call_expression "(uint)(byte)(&DAT_000887c0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_000887c0)" (( "(") (pointer_expression "&DAT_000887c0" (& "&") (identifier "DAT_000887c0")) () ")"))) ([ "[") (identifier "local_2c") (] "]"))) (; ";")) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" (identifier "pbVar5") (= "=") (identifier "local_30")) (; ";")) (labeled_statement "code_r0x00016b78:\n    pbVar16 = pbVar5;" (statement_identifier "code_r0x00016b78") (: ":") (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" (identifier "pbVar16") (= "=") (identifier "pbVar5")) (; ";"))) (if_statement "if ((byte)uVar10 < 0xf) {\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }" (if "if") (parenthesized_expression "((byte)uVar10 < 0xf)" (( "(") (binary_expression "(byte)uVar10 < 0xf" (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10")) (< "<") (number_literal "0xf")) () ")")) (compound_statement "{\ncode_r0x00016b84:\n      bVar3 = (byte)local_2c;\n      pbVar5 = pbVar16;\n      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }\n      DAT_000887a8 = 0;\n      pbVar5 = pbVar16 + 1;\n      *pbVar16 = bVar3;\n      pbVar19 = pbVar18;\n      goto joined_r0x000172dc;\n    }" ({ "{") (labeled_statement "code_r0x00016b84:\n      bVar3 = (byte)local_2c;" (statement_identifier "code_r0x00016b84") (: ":") (expression_statement "bVar3 = (byte)local_2c;" (assignment_expression "bVar3 = (byte)local_2c" (identifier "bVar3") (= "=") (cast_expression "(byte)local_2c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_2c"))) (; ";"))) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" (identifier "pbVar5") (= "=") (identifier "pbVar16")) (; ";")) (switch_statement "switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }" (switch "switch") (parenthesized_expression "(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000)" (( "(") (binary_expression "*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000" (pointer_expression "*(int *)(&DAT_0005b1a4 + uVar10 * 4)" (* "*") (cast_expression "(int *)(&DAT_0005b1a4 + uVar10 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0005b1a4 + uVar10 * 4)" (( "(") (binary_expression "&DAT_0005b1a4 + uVar10 * 4" (pointer_expression "&DAT_0005b1a4" (& "&") (identifier "DAT_0005b1a4")) (+ "+") (binary_expression "uVar10 * 4" (identifier "uVar10") (* "*") (number_literal "4"))) () ")")))) (+ "+") (number_literal "0x80000")) () ")")) (compound_statement "{\n      case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;\n      case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;\n      case 0x16dd8:\n        break;\n      case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;\n      case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;\n      case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;\n      case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;\n      case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;\n      case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;\n      case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;\n      case 0x170df:\n        goto LAB_000170e3;\n      }" ({ "{") (case_statement "case 0x16612:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }\n        pbVar18[-1] = bVar3;\n        DAT_000887a8 = 3;\n        *pbVar16 = 0x20;\n        pbVar19 = pbVar18 + -1;\n        goto joined_r0x000172dc;" (case "case") (number_literal "0x16612") (: ":") (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (DAT_000887a8 != 10) {\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }" (if "if") (parenthesized_expression "(DAT_000887a8 != 10)" (( "(") (binary_expression "DAT_000887a8 != 10" (identifier "DAT_000887a8") (!= "!=") (number_literal "10")) () ")")) (compound_statement "{\n          if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }\n          uVar10 = DAT_000887a8;\n          local_38 = &DAT_0008878c;\n          do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);\n          bVar22 = (uVar6 & 0x8080) == 0;\n          if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }\n          puVar21 = (uint *)((int)puVar15 + 6);\n          if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }\n          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }\n          DAT_000887a8 = 0xffffffff;\n          if (uVar10 == 9) {\n            uVar10 = 3;\n          }\n          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);\n          DAT_000887a4 = uVar10;\n          *pbVar16 = (byte)DAT_0008878c;\n          pbVar19 = pbVar18;\n          if (pbVar5 < pbVar4) goto code_r0x00016750;\n          goto LAB_00016520;\n        }" ({ "{") (if_statement "if (pbVar18 < pbVar17) {\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }" (if "if") (parenthesized_expression "(pbVar18 < pbVar17)" (( "(") (binary_expression "pbVar18 < pbVar17" (identifier "pbVar18") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n            pbVar19 = pbVar18 + 1;\n            bVar3 = *pbVar18;\ncode_r0x0001663b:\n            uVar10 = (uint)bVar3;\n            if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }\n            sprintf((char *)&DAT_0008878c,"%d",uVar10);\n            if (pbVar17 <= pbVar19) goto code_r0x000173d4;\n            pbVar18 = pbVar19 + 1;\n            bVar3 = *pbVar19;\ncode_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }\n          }" ({ "{") (expression_statement "pbVar19 = pbVar18 + 1;" (assignment_expression "pbVar19 = pbVar18 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" (identifier "bVar3") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (; ";")) (labeled_statement "code_r0x0001663b:\n            uVar10 = (uint)bVar3;" (statement_identifier "code_r0x0001663b") (: ":") (expression_statement "uVar10 = (uint)bVar3;" (assignment_expression "uVar10 = (uint)bVar3" (identifier "uVar10") (= "=") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3"))) (; ";"))) (if_statement "if (uVar10 == 0x5c) {\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }" (if "if") (parenthesized_expression "(uVar10 == 0x5c)" (( "(") (binary_expression "uVar10 == 0x5c" (identifier "uVar10") (== "==") (number_literal "0x5c")) () ")")) (compound_statement "{\n              if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }\n              uVar10 = (uint)bVar3;\n              if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }\n            }" ({ "{") (if_statement "if (pbVar19 < pbVar17) {\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }\n              else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }" (if "if") (parenthesized_expression "(pbVar19 < pbVar17)" (( "(") (binary_expression "pbVar19 < pbVar17" (identifier "pbVar19") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n                bVar3 = *pbVar19;\n                pbVar19 = pbVar19 + 1;\n              }" ({ "{") (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" (identifier "bVar3") (= "=") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }" (else "else") (compound_statement "{\n                DAT_00088784 = (byte *)0x0;\n                iVar11 = (*param_1)(&DAT_00080780,0x8000);\n                if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }\n                pbVar17 = &DAT_00080780 + iVar11;\n                pbVar19 = &DAT_00080781;\n                bVar3 = DAT_00080780;\n              }" ({ "{") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar12 = dcgettext(0,"end of file in escape character",5);\n                  FUN_0002bc80(uVar12);\n                  uVar12 = 0x5c;\n                  goto code_r0x000173ae;\n                }" ({ "{") (expression_statement "uVar12 = dcgettext(0,"end of file in escape character",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in escape character",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"end of file in escape character",5)" (identifier "dcgettext") (argument_list "(0,"end of file in escape character",5)" (( "(") (number_literal "0") (, ",") (string_literal ""end of file in escape character"" (" """) (string_content "end of file in escape character") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" (identifier "FUN_0002bc80") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "uVar12 = 0x5c;" (assignment_expression "uVar12 = 0x5c" (identifier "uVar12") (= "=") (number_literal "0x5c")) (; ";")) (goto_statement "goto code_r0x000173ae;" (goto "goto") (statement_identifier "code_r0x000173ae") (; ";")) (} "}"))) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" (identifier "pbVar19") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (} "}")))) (expression_statement "uVar10 = (uint)bVar3;" (assignment_expression "uVar10 = (uint)bVar3" (identifier "uVar10") (= "=") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3"))) (; ";")) (if_statement "if (uVar10 == 0x66) {\n                uVar10 = 0xc;\n              }\n              else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" (if "if") (parenthesized_expression "(uVar10 == 0x66)" (( "(") (binary_expression "uVar10 == 0x66" (identifier "uVar10") (== "==") (number_literal "0x66")) () ")")) (compound_statement "{\n                uVar10 = 0xc;\n              }" ({ "{") (expression_statement "uVar10 = 0xc;" (assignment_expression "uVar10 = 0xc" (identifier "uVar10") (= "=") (number_literal "0xc")) (; ";")) (} "}")) (else_clause "else if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" (else "else") (if_statement "if (uVar10 < 0x67) {\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }\n              else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" (if "if") (parenthesized_expression "(uVar10 < 0x67)" (( "(") (binary_expression "uVar10 < 0x67" (identifier "uVar10") (< "<") (number_literal "0x67")) () ")")) (compound_statement "{\n                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }\n              }" ({ "{") (if_statement "if ((uVar10 != 0x27) && (uVar10 == 0x62)) {\n                  uVar10 = 8;\n                }" (if "if") (parenthesized_expression "((uVar10 != 0x27) && (uVar10 == 0x62))" (( "(") (binary_expression "(uVar10 != 0x27) && (uVar10 == 0x62)" (parenthesized_expression "(uVar10 != 0x27)" (( "(") (binary_expression "uVar10 != 0x27" (identifier "uVar10") (!= "!=") (number_literal "0x27")) () ")")) (&& "&&") (parenthesized_expression "(uVar10 == 0x62)" (( "(") (binary_expression "uVar10 == 0x62" (identifier "uVar10") (== "==") (number_literal "0x62")) () ")"))) () ")")) (compound_statement "{\n                  uVar10 = 8;\n                }" ({ "{") (expression_statement "uVar10 = 8;" (assignment_expression "uVar10 = 8" (identifier "uVar10") (= "=") (number_literal "8")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" (else "else") (if_statement "if (uVar10 == 0x72) {\n                uVar10 = 0xd;\n              }\n              else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" (if "if") (parenthesized_expression "(uVar10 == 0x72)" (( "(") (binary_expression "uVar10 == 0x72" (identifier "uVar10") (== "==") (number_literal "0x72")) () ")")) (compound_statement "{\n                uVar10 = 0xd;\n              }" ({ "{") (expression_statement "uVar10 = 0xd;" (assignment_expression "uVar10 = 0xd" (identifier "uVar10") (= "=") (number_literal "0xd")) (; ";")) (} "}")) (else_clause "else if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" (else "else") (if_statement "if (uVar10 == 0x74) {\n                uVar10 = 9;\n              }\n              else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" (if "if") (parenthesized_expression "(uVar10 == 0x74)" (( "(") (binary_expression "uVar10 == 0x74" (identifier "uVar10") (== "==") (number_literal "0x74")) () ")")) (compound_statement "{\n                uVar10 = 9;\n              }" ({ "{") (expression_statement "uVar10 = 9;" (assignment_expression "uVar10 = 9" (identifier "uVar10") (= "=") (number_literal "9")) (; ";")) (} "}")) (else_clause "else if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" (else "else") (if_statement "if (uVar10 == 0x6e) {\n                uVar10 = 10;\n              }" (if "if") (parenthesized_expression "(uVar10 == 0x6e)" (( "(") (binary_expression "uVar10 == 0x6e" (identifier "uVar10") (== "==") (number_literal "0x6e")) () ")")) (compound_statement "{\n                uVar10 = 10;\n              }" ({ "{") (expression_statement "uVar10 = 10;" (assignment_expression "uVar10 = 10" (identifier "uVar10") (= "=") (number_literal "10")) (; ";")) (} "}"))))))))))) (} "}"))) (expression_statement "sprintf((char *)&DAT_0008878c,"%d",uVar10);" (call_expression "sprintf((char *)&DAT_0008878c,"%d",uVar10)" (identifier "sprintf") (argument_list "((char *)&DAT_0008878c,"%d",uVar10)" (( "(") (cast_expression "(char *)&DAT_0008878c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0008878c" (& "&") (identifier "DAT_0008878c"))) (, ",") (string_literal ""%d"" (" """) (string_content "%d") (" """)) (, ",") (identifier "uVar10") () ")"))) (; ";")) (if_statement "if (pbVar17 <= pbVar19) goto code_r0x000173d4;" (if "if") (parenthesized_expression "(pbVar17 <= pbVar19)" (( "(") (binary_expression "pbVar17 <= pbVar19" (identifier "pbVar17") (<= "<=") (identifier "pbVar19")) () ")")) (goto_statement "goto code_r0x000173d4;" (goto "goto") (statement_identifier "code_r0x000173d4") (; ";"))) (expression_statement "pbVar18 = pbVar19 + 1;" (assignment_expression "pbVar18 = pbVar19 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" (identifier "bVar3") (= "=") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19"))) (; ";")) (labeled_statement "code_r0x000166af:\n            if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }" (statement_identifier "code_r0x000166af") (: ":") (if_statement "if (bVar3 != 0x27) {\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }" (if "if") (parenthesized_expression "(bVar3 != 0x27)" (( "(") (binary_expression "bVar3 != 0x27" (identifier "bVar3") (!= "!=") (number_literal "0x27")) () ")")) (compound_statement "{\n              pbVar18[-1] = bVar3;\n              pbVar18 = pbVar18 + -1;\n            }" ({ "{") (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" (identifier "pbVar18") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }" (else "else") (compound_statement "{\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }\n            uVar12 = 0;\n            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);\n            FUN_0002bc80(uVar14);\ncode_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);\ncode_r0x000173d4:\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }\n          }" ({ "{") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (if_statement "if (iVar11 != 0) {\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pbVar17 = &DAT_00080780 + iVar11;\n              pbVar19 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x0001663b;\n            }" ({ "{") (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" (identifier "pbVar19") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (goto_statement "goto code_r0x0001663b;" (goto "goto") (statement_identifier "code_r0x0001663b") (; ";")) (} "}"))) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);" (assignment_expression "uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"end of file after a one-character quote; \\0 inserted",5)" (identifier "dcgettext") (argument_list "(0,"end of file after a one-character quote; \\0 inserted",5)" (( "(") (number_literal "0") (, ",") (string_literal ""end of file after a one-character quote; \\0 inserted"" (" """) (string_content "end of file after a one-character quote; ") (escape_sequence "\\") (string_content "0 inserted") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc80(uVar14);" (call_expression "FUN_0002bc80(uVar14)" (identifier "FUN_0002bc80") (argument_list "(uVar14)" (( "(") (identifier "uVar14") () ")"))) (; ";")) (labeled_statement "code_r0x000173ae:\n            sprintf((char *)&DAT_0008878c,"%d",uVar12);" (statement_identifier "code_r0x000173ae") (: ":") (expression_statement "sprintf((char *)&DAT_0008878c,"%d",uVar12);" (call_expression "sprintf((char *)&DAT_0008878c,"%d",uVar12)" (identifier "sprintf") (argument_list "((char *)&DAT_0008878c,"%d",uVar12)" (( "(") (cast_expression "(char *)&DAT_0008878c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0008878c" (& "&") (identifier "DAT_0008878c"))) (, ",") (string_literal ""%d"" (" """) (string_content "%d") (" """)) (, ",") (identifier "uVar12") () ")"))) (; ";"))) (labeled_statement "code_r0x000173d4:\n            pbVar18 = &DAT_00080780;" (statement_identifier "code_r0x000173d4") (: ":") (expression_statement "pbVar18 = &DAT_00080780;" (assignment_expression "pbVar18 = &DAT_00080780" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780"))) (; ";"))) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (if_statement "if (iVar11 != 0) {\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pbVar18 = &DAT_00080781;\n              bVar3 = DAT_00080780;\n              goto code_r0x000166af;\n            }" ({ "{") (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (goto_statement "goto code_r0x000166af;" (goto "goto") (statement_identifier "code_r0x000166af") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";")) (expression_statement "local_38 = &DAT_0008878c;" (assignment_expression "local_38 = &DAT_0008878c" (identifier "local_38") (= "=") (pointer_expression "&DAT_0008878c" (& "&") (identifier "DAT_0008878c"))) (; ";")) (do_statement "do {\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          } while (uVar7 == 0);" (do "do") (compound_statement "{\n            puVar15 = local_38;\n            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;\n            uVar7 = uVar6 & 0x80808080;\n            local_38 = puVar15 + 1;\n          }" ({ "{") (expression_statement "puVar15 = local_38;" (assignment_expression "puVar15 = local_38" (identifier "puVar15") (= "=") (identifier "local_38")) (; ";")) (expression_statement "uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;" (assignment_expression "uVar6 = *puVar15 + 0xfefefeff & ~*puVar15" (identifier "uVar6") (= "=") (binary_expression "*puVar15 + 0xfefefeff & ~*puVar15" (binary_expression "*puVar15 + 0xfefefeff" (pointer_expression "*puVar15" (* "*") (identifier "puVar15")) (+ "+") (number_literal "0xfefefeff")) (& "&") (unary_expression "~*puVar15" (~ "~") (pointer_expression "*puVar15" (* "*") (identifier "puVar15"))))) (; ";")) (expression_statement "uVar7 = uVar6 & 0x80808080;" (assignment_expression "uVar7 = uVar6 & 0x80808080" (identifier "uVar7") (= "=") (binary_expression "uVar6 & 0x80808080" (identifier "uVar6") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "local_38 = puVar15 + 1;" (assignment_expression "local_38 = puVar15 + 1" (identifier "local_38") (= "=") (binary_expression "puVar15 + 1" (identifier "puVar15") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar22 = (uVar6 & 0x8080) == 0;" (assignment_expression "bVar22 = (uVar6 & 0x8080) == 0" (identifier "bVar22") (= "=") (binary_expression "(uVar6 & 0x8080) == 0" (parenthesized_expression "(uVar6 & 0x8080)" (( "(") (binary_expression "uVar6 & 0x8080" (identifier "uVar6") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar22) {\n            uVar7 = uVar7 >> 0x10;\n          }" (if "if") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (compound_statement "{\n            uVar7 = uVar7 >> 0x10;\n          }" ({ "{") (expression_statement "uVar7 = uVar7 >> 0x10;" (assignment_expression "uVar7 = uVar7 >> 0x10" (identifier "uVar7") (= "=") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (expression_statement "puVar21 = (uint *)((int)puVar15 + 6);" (assignment_expression "puVar21 = (uint *)((int)puVar15 + 6)" (identifier "puVar21") (= "=") (cast_expression "(uint *)((int)puVar15 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar15 + 6)" (( "(") (binary_expression "(int)puVar15 + 6" (cast_expression "(int)puVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar15")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (if_statement "if (!bVar22) {\n            puVar21 = puVar15 + 1;\n          }" (if "if") (parenthesized_expression "(!bVar22)" (( "(") (unary_expression "!bVar22" (! "!") (identifier "bVar22")) () ")")) (compound_statement "{\n            puVar21 = puVar15 + 1;\n          }" ({ "{") (expression_statement "puVar21 = puVar15 + 1;" (assignment_expression "puVar21 = puVar15 + 1" (identifier "puVar21") (= "=") (binary_expression "puVar15 + 1" (identifier "puVar15") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }" (if "if") (parenthesized_expression "((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d)" (( "(") (binary_expression "(int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d" (binary_expression "(int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7))" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (+ "+") (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7))" (( "(") (binary_expression "-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)" (number_literal "-3") (- "-") (cast_expression "(uint)CARRY1((byte)uVar7,(byte)uVar7)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY1((byte)uVar7,(byte)uVar7)" (identifier "CARRY1") (argument_list "((byte)uVar7,(byte)uVar7)" (( "(") (cast_expression "(byte)uVar7" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar7")) (, ",") (cast_expression "(byte)uVar7" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar7")) () ")"))))) () ")"))) (== "==") (number_literal "0x8878d")) () ")")) (compound_statement "{\n            *pbVar16 = (byte)DAT_0008878c;\n            uVar10 = DAT_000887a8;\n            goto joined_r0x00016e98;\n          }" ({ "{") (expression_statement "*pbVar16 = (byte)DAT_0008878c;" (assignment_expression "*pbVar16 = (byte)DAT_0008878c" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (cast_expression "(byte)DAT_0008878c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0008878c"))) (; ";")) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";")) (goto_statement "goto joined_r0x00016e98;" (goto "goto") (statement_identifier "joined_r0x00016e98") (; ";")) (} "}"))) (expression_statement "DAT_000887a8 = 0xffffffff;" (assignment_expression "DAT_000887a8 = 0xffffffff" (identifier "DAT_000887a8") (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if (uVar10 == 9) {\n            uVar10 = 3;\n          }" (if "if") (parenthesized_expression "(uVar10 == 9)" (( "(") (binary_expression "uVar10 == 9" (identifier "uVar10") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n            uVar10 = 3;\n          }" ({ "{") (expression_statement "uVar10 = 3;" (assignment_expression "uVar10 = 3" (identifier "uVar10") (= "=") (number_literal "3")) (; ";")) (} "}"))) (expression_statement "DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);" (assignment_expression "DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1)" (identifier "DAT_000887a0") (= "=") (cast_expression "(byte *)((int)&DAT_0008878c + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_0008878c + 1)" (( "(") (binary_expression "(int)&DAT_0008878c + 1" (cast_expression "(int)&DAT_0008878c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_0008878c" (& "&") (identifier "DAT_0008878c"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "DAT_000887a4 = uVar10;" (assignment_expression "DAT_000887a4 = uVar10" (identifier "DAT_000887a4") (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*pbVar16 = (byte)DAT_0008878c;" (assignment_expression "*pbVar16 = (byte)DAT_0008878c" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (cast_expression "(byte)DAT_0008878c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0008878c"))) (; ";")) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";")) (if_statement "if (pbVar5 < pbVar4) goto code_r0x00016750;" (if "if") (parenthesized_expression "(pbVar5 < pbVar4)" (( "(") (binary_expression "pbVar5 < pbVar4" (identifier "pbVar5") (< "<") (identifier "pbVar4")) () ")")) (goto_statement "goto code_r0x00016750;" (goto "goto") (statement_identifier "code_r0x00016750") (; ";"))) (goto_statement "goto LAB_00016520;" (goto "goto") (statement_identifier "LAB_00016520") (; ";")) (} "}"))) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" (identifier "pbVar18") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" (identifier "DAT_000887a8") (= "=") (number_literal "3")) (; ";")) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" (identifier "pbVar19") (= "=") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1"))) (; ";")) (goto_statement "goto joined_r0x000172dc;" (goto "goto") (statement_identifier "joined_r0x000172dc") (; ";"))) (case_statement "case 0x16d47:\n        local_30 = pbVar16 + 1;\n        goto code_r0x00016d70;" (case "case") (number_literal "0x16d47") (: ":") (expression_statement "local_30 = pbVar16 + 1;" (assignment_expression "local_30 = pbVar16 + 1" (identifier "local_30") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto code_r0x00016d70;" (goto "goto") (statement_identifier "code_r0x00016d70") (; ";"))) (case_statement "case 0x16dd8:\n        break;" (case "case") (number_literal "0x16dd8") (: ":") (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x16e10:\n        DAT_000887a8 = 1;\n        *pbVar16 = bVar3;\n        goto joined_r0x00016e2c;" (case "case") (number_literal "0x16e10") (: ":") (expression_statement "DAT_000887a8 = 1;" (assignment_expression "DAT_000887a8 = 1" (identifier "DAT_000887a8") (= "=") (number_literal "1")) (; ";")) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (identifier "bVar3")) (; ";")) (goto_statement "goto joined_r0x00016e2c;" (goto "goto") (statement_identifier "joined_r0x00016e2c") (; ";"))) (case_statement "case 0x16e3c:\n        if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }\n        break;" (case "case") (number_literal "0x16e3c") (: ":") (if_statement "if (DAT_00088788 != 0) {\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }" (if "if") (parenthesized_expression "(DAT_00088788 != 0)" (( "(") (binary_expression "DAT_00088788 != 0" (identifier "DAT_00088788") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          DAT_00088788 = DAT_00088788 + -1;\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n        }" ({ "{") (expression_statement "DAT_00088788 = DAT_00088788 + -1;" (assignment_expression "DAT_00088788 = DAT_00088788 + -1" (identifier "DAT_00088788") (= "=") (binary_expression "DAT_00088788 + -1" (identifier "DAT_00088788") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" (identifier "pbVar18") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x16e62:\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;" (case "case") (number_literal "0x16e62") (: ":") (if_statement "if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }" (if "if") (parenthesized_expression "(DAT_000887a8 - 9 < 2)" (( "(") (binary_expression "DAT_000887a8 - 9 < 2" (binary_expression "DAT_000887a8 - 9" (identifier "DAT_000887a8") (- "-") (number_literal "9")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n          DAT_000887a8 = 3;\n        }" ({ "{") (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" (identifier "DAT_000887a8") (= "=") (number_literal "3")) (; ";")) (} "}")) (else_clause "else if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }" (else "else") (if_statement "if (DAT_000887a8 != 3) {\n          DAT_000887a8 = 1;\n        }" (if "if") (parenthesized_expression "(DAT_000887a8 != 3)" (( "(") (binary_expression "DAT_000887a8 != 3" (identifier "DAT_000887a8") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n          DAT_000887a8 = 1;\n        }" ({ "{") (expression_statement "DAT_000887a8 = 1;" (assignment_expression "DAT_000887a8 = 1" (identifier "DAT_000887a8") (= "=") (number_literal "1")) (; ";")) (} "}"))))) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";")) (goto_statement "goto joined_r0x00016e98;" (goto "goto") (statement_identifier "joined_r0x00016e98") (; ";"))) (case_statement "case 0x16eae:\n        pbVar5 = pbVar16 + 1;\n        bRam00080761 = bVar3;\n        if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }\n        DAT_000887a8 = 5;\n        *pbVar16 = (byte)local_2c;\n        pbVar5 = pbVar19;\n        goto joined_r0x0001680c;" (case "case") (number_literal "0x16eae") (: ":") (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bRam00080761 = bVar3;" (assignment_expression "bRam00080761 = bVar3" (identifier "bRam00080761") (= "=") (identifier "bVar3")) (; ";")) (if_statement "if (DAT_000887a8 == 10) {\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }\n        else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }" (if "if") (parenthesized_expression "(DAT_000887a8 == 10)" (( "(") (binary_expression "DAT_000887a8 == 10" (identifier "DAT_000887a8") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n          DAT_000887a8 = 3;\n          pbVar18[-1] = bVar3;\n          *pbVar16 = 0x20;\n          pbVar19 = pbVar18 + -1;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }\n          DAT_000887a4 = 3;\n          pbVar19 = pbVar16 + 2;\n          pbVar16 = pbVar5;\n        }" ({ "{") (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" (identifier "DAT_000887a8") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" (identifier "pbVar18") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" (identifier "pbVar19") (= "=") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" (if "if") (parenthesized_expression "(pbVar4 <= pbVar5)" (( "(") (binary_expression "pbVar4 <= pbVar5" (identifier "pbVar4") (<= "<=") (identifier "pbVar5")) () ")")) (goto_statement "goto LAB_00016520;" (goto "goto") (statement_identifier "LAB_00016520") (; ";"))) (if_statement "if (pbVar18 + -1 < pbVar17) {\n            local_2c = (uint)pbVar18[-1];\n          }\n          else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }" (if "if") (parenthesized_expression "(pbVar18 + -1 < pbVar17)" (( "(") (binary_expression "pbVar18 + -1 < pbVar17" (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1")) (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n            local_2c = (uint)pbVar18[-1];\n          }" ({ "{") (expression_statement "local_2c = (uint)pbVar18[-1];" (assignment_expression "local_2c = (uint)pbVar18[-1]" (identifier "local_2c") (= "=") (cast_expression "(uint)pbVar18[-1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar18[-1]" (identifier "pbVar18") ([ "[") (number_literal "-1") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }" (else "else") (compound_statement "{\n            pbVar18 = &DAT_00080780;\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            local_2c = 0xffffffff;\n            pbVar17 = &DAT_00080780 + iVar11;\n            if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }\n          }" ({ "{") (expression_statement "pbVar18 = &DAT_00080780;" (assignment_expression "pbVar18 = &DAT_00080780" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780"))) (; ";")) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (expression_statement "local_2c = 0xffffffff;" (assignment_expression "local_2c = 0xffffffff" (identifier "local_2c") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (if_statement "if (iVar11 != 0) {\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              local_2c = (uint)DAT_00080780;\n              pbVar18 = &DAT_00080781;\n            }" ({ "{") (expression_statement "local_2c = (uint)DAT_00080780;" (assignment_expression "local_2c = (uint)DAT_00080780" (identifier "local_2c") (= "=") (cast_expression "(uint)DAT_00080780" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "DAT_00080780"))) (; ";")) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" (identifier "DAT_000887a4") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar19 = pbVar16 + 2;" (assignment_expression "pbVar19 = pbVar16 + 2" (identifier "pbVar19") (= "=") (binary_expression "pbVar16 + 2" (identifier "pbVar16") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" (identifier "pbVar16") (= "=") (identifier "pbVar5")) (; ";")) (} "}")) (else_clause "else {\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }" (else "else") (compound_statement "{\n          pbVar19 = pbVar5;\n          if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }\n        }" ({ "{") (expression_statement "pbVar19 = pbVar5;" (assignment_expression "pbVar19 = pbVar5" (identifier "pbVar19") (= "=") (identifier "pbVar5")) (; ";")) (if_statement "if (DAT_000887a8 == 9) {\n            DAT_000887a4 = 3;\n          }\n          else {\n            DAT_000887a4 = DAT_000887a8;\n          }" (if "if") (parenthesized_expression "(DAT_000887a8 == 9)" (( "(") (binary_expression "DAT_000887a8 == 9" (identifier "DAT_000887a8") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n            DAT_000887a4 = 3;\n          }" ({ "{") (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" (identifier "DAT_000887a4") (= "=") (number_literal "3")) (; ";")) (} "}")) (else_clause "else {\n            DAT_000887a4 = DAT_000887a8;\n          }" (else "else") (compound_statement "{\n            DAT_000887a4 = DAT_000887a8;\n          }" ({ "{") (expression_statement "DAT_000887a4 = DAT_000887a8;" (assignment_expression "DAT_000887a4 = DAT_000887a8" (identifier "DAT_000887a4") (= "=") (identifier "DAT_000887a8")) (; ";")) (} "}")))) (} "}")))) (expression_statement "DAT_000887a8 = 5;" (assignment_expression "DAT_000887a8 = 5" (identifier "DAT_000887a8") (= "=") (number_literal "5")) (; ";")) (expression_statement "*pbVar16 = (byte)local_2c;" (assignment_expression "*pbVar16 = (byte)local_2c" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (cast_expression "(byte)local_2c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_2c"))) (; ";")) (expression_statement "pbVar5 = pbVar19;" (assignment_expression "pbVar5 = pbVar19" (identifier "pbVar5") (= "=") (identifier "pbVar19")) (; ";")) (goto_statement "goto joined_r0x0001680c;" (goto "goto") (statement_identifier "joined_r0x0001680c") (; ";"))) (case_statement "case 0x16f07:\n        do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);\n        if (DAT_000887a8 != 0) goto code_r0x000171ad;\n        DAT_000887a8 = 1;\n        goto code_r0x00017227;" (case "case") (number_literal "0x16f07") (: ":") (do_statement "do {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        } while (bVar1 == 2);" (do "do") (compound_statement "{\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }\n          local_2c = (uint)bVar3;\n          bVar1 = (&DAT_000887c0)[local_2c];\n          uVar10 = (uint)bVar1;\n          pbVar5 = pbVar16;\n        }" ({ "{") (if_statement "if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }" (if "if") (parenthesized_expression "(pbVar18 < pbVar17)" (( "(") (binary_expression "pbVar18 < pbVar17" (identifier "pbVar18") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n            pbVar16 = pbVar5;\n          }" ({ "{") (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" (identifier "bVar3") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" (identifier "pbVar16") (= "=") (identifier "pbVar5")) (; ";")) (} "}")) (else_clause "else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }" (else "else") (compound_statement "{\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto LAB_00016992;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n            pbVar16 = pbVar5;\n          }" ({ "{") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) goto LAB_00016992;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00016992;" (goto "goto") (statement_identifier "LAB_00016992") (; ";"))) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" (identifier "pbVar16") (= "=") (identifier "pbVar5")) (; ";")) (} "}")))) (expression_statement "local_2c = (uint)bVar3;" (assignment_expression "local_2c = (uint)bVar3" (identifier "local_2c") (= "=") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3"))) (; ";")) (expression_statement "bVar1 = (&DAT_000887c0)[local_2c];" (assignment_expression "bVar1 = (&DAT_000887c0)[local_2c]" (identifier "bVar1") (= "=") (subscript_expression "(&DAT_000887c0)[local_2c]" (parenthesized_expression "(&DAT_000887c0)" (( "(") (pointer_expression "&DAT_000887c0" (& "&") (identifier "DAT_000887c0")) () ")")) ([ "[") (identifier "local_2c") (] "]"))) (; ";")) (expression_statement "uVar10 = (uint)bVar1;" (assignment_expression "uVar10 = (uint)bVar1" (identifier "uVar10") (= "=") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1"))) (; ";")) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" (identifier "pbVar5") (= "=") (identifier "pbVar16")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar1 == 2)" (( "(") (binary_expression "bVar1 == 2" (identifier "bVar1") (== "==") (number_literal "2")) () ")")) (; ";")) (if_statement "if (DAT_000887a8 != 0) goto code_r0x000171ad;" (if "if") (parenthesized_expression "(DAT_000887a8 != 0)" (( "(") (binary_expression "DAT_000887a8 != 0" (identifier "DAT_000887a8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x000171ad;" (goto "goto") (statement_identifier "code_r0x000171ad") (; ";"))) (expression_statement "DAT_000887a8 = 1;" (assignment_expression "DAT_000887a8 = 1" (identifier "DAT_000887a8") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x00017227;" (goto "goto") (statement_identifier "code_r0x00017227") (; ";"))) (case_statement "case 0x16f61:\n        pbVar5 = pbVar16 + 1;\n        if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }\n        local_30 = pbVar5;\n        if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;\n        if (DAT_00080764 != 0) goto LAB_00016fab;\n        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;\n        iVar11 = (int)pbVar4 - (int)pbVar16;\n        if (iVar11 < 1) goto code_r0x000178a1;\n        goto LAB_00016fab;" (case "case") (number_literal "0x16f61") (: ":") (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (DAT_000887a8 == 10) {\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }" (if "if") (parenthesized_expression "(DAT_000887a8 == 10)" (( "(") (binary_expression "DAT_000887a8 == 10" (identifier "DAT_000887a8") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n          pbVar18[-1] = bVar3;\n          pbVar19 = pbVar18 + -1;\n          DAT_000887a8 = 3;\n          *pbVar16 = 0x20;\n          goto joined_r0x000172dc;\n        }" ({ "{") (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" (identifier "pbVar18") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" (identifier "pbVar19") (= "=") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" (identifier "DAT_000887a8") (= "=") (number_literal "3")) (; ";")) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (number_literal "0x20")) (; ";")) (goto_statement "goto joined_r0x000172dc;" (goto "goto") (statement_identifier "joined_r0x000172dc") (; ";")) (} "}"))) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" (identifier "local_30") (= "=") (identifier "pbVar5")) (; ";")) (if_statement "if (DAT_000887a8 == 3) {\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }\n        else if (pbVar4 <= pbVar5) goto LAB_00016fab;" (if "if") (parenthesized_expression "(DAT_000887a8 == 3)" (( "(") (binary_expression "DAT_000887a8 == 3" (identifier "DAT_000887a8") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n          DAT_000887a8 = 9;\n          if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }\n        }" ({ "{") (expression_statement "DAT_000887a8 = 9;" (assignment_expression "DAT_000887a8 = 9" (identifier "DAT_000887a8") (= "=") (number_literal "9")) (; ";")) (if_statement "if (pbVar4 <= pbVar5) {\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }" (if "if") (parenthesized_expression "(pbVar4 <= pbVar5)" (( "(") (binary_expression "pbVar4 <= pbVar5" (identifier "pbVar4") (<= "<=") (identifier "pbVar5")) () ")")) (compound_statement "{\n            *pbVar16 = bVar3;\n            pbVar19 = pbVar18;\n            goto LAB_00016520;\n          }" ({ "{") (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";")) (goto_statement "goto LAB_00016520;" (goto "goto") (statement_identifier "LAB_00016520") (; ";")) (} "}"))) (} "}")) (else_clause "else if (pbVar4 <= pbVar5) goto LAB_00016fab;" (else "else") (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016fab;" (if "if") (parenthesized_expression "(pbVar4 <= pbVar5)" (( "(") (binary_expression "pbVar4 <= pbVar5" (identifier "pbVar4") (<= "<=") (identifier "pbVar5")) () ")")) (goto_statement "goto LAB_00016fab;" (goto "goto") (statement_identifier "LAB_00016fab") (; ";"))))) (if_statement "if (DAT_00080764 != 0) goto LAB_00016fab;" (if "if") (parenthesized_expression "(DAT_00080764 != 0)" (( "(") (binary_expression "DAT_00080764 != 0" (identifier "DAT_00080764") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00016fab;" (goto "goto") (statement_identifier "LAB_00016fab") (; ";"))) (if_statement "if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))\n        goto code_r0x0001787c;" (if "if") (parenthesized_expression "((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))" (( "(") (binary_expression "(pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2)" (parenthesized_expression "(pbVar18 < pbVar17)" (( "(") (binary_expression "pbVar18 < pbVar17" (identifier "pbVar18") (< "<") (identifier "pbVar17")) () ")")) (&& "&&") (parenthesized_expression "(pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2)" (( "(") (comma_expression "pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (, ",") (binary_expression "(byte)(&DAT_000887c0)[*pbVar18] < 2" (subscript_expression "(byte)(&DAT_000887c0)[*pbVar18]" (call_expression "(byte)(&DAT_000887c0)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(&DAT_000887c0)" (( "(") (pointer_expression "&DAT_000887c0" (& "&") (identifier "DAT_000887c0")) () ")"))) ([ "[") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (] "]")) (< "<") (number_literal "2"))) () ")"))) () ")")) (goto_statement "goto code_r0x0001787c;" (goto "goto") (statement_identifier "code_r0x0001787c") (; ";"))) (expression_statement "iVar11 = (int)pbVar4 - (int)pbVar16;" (assignment_expression "iVar11 = (int)pbVar4 - (int)pbVar16" (identifier "iVar11") (= "=") (binary_expression "(int)pbVar4 - (int)pbVar16" (cast_expression "(int)pbVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar4")) (- "-") (cast_expression "(int)pbVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar16")))) (; ";")) (if_statement "if (iVar11 < 1) goto code_r0x000178a1;" (if "if") (parenthesized_expression "(iVar11 < 1)" (( "(") (binary_expression "iVar11 < 1" (identifier "iVar11") (< "<") (number_literal "1")) () ")")) (goto_statement "goto code_r0x000178a1;" (goto "goto") (statement_identifier "code_r0x000178a1") (; ";"))) (goto_statement "goto LAB_00016fab;" (goto "goto") (statement_identifier "LAB_00016fab") (; ";"))) (case_statement "case 0x16fe6:\n        if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }\n        if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }\n        *pbVar16 = bVar3;\n        pbVar5 = pbVar16 + 1;\n        pbVar18 = pbVar8;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016e98;" (case "case") (number_literal "0x16fe6") (: ":") (if_statement "if (pbVar18 < pbVar17) {\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }\n        else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }" (if "if") (parenthesized_expression "(pbVar18 < pbVar17)" (( "(") (binary_expression "pbVar18 < pbVar17" (identifier "pbVar18") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n          pbVar5 = pbVar18 + 1;\n          bVar1 = *pbVar18;\ncode_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;\n          pbVar8 = pbVar5 + -1;\n          pbVar5[-1] = bVar1;\n        }" ({ "{") (expression_statement "pbVar5 = pbVar18 + 1;" (assignment_expression "pbVar5 = pbVar18 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar1 = *pbVar18;" (assignment_expression "bVar1 = *pbVar18" (identifier "bVar1") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (; ";")) (labeled_statement "code_r0x00016ff8:\n          if (bVar1 == 0x2a) goto code_r0x00017025;" (statement_identifier "code_r0x00016ff8") (: ":") (if_statement "if (bVar1 == 0x2a) goto code_r0x00017025;" (if "if") (parenthesized_expression "(bVar1 == 0x2a)" (( "(") (binary_expression "bVar1 == 0x2a" (identifier "bVar1") (== "==") (number_literal "0x2a")) () ")")) (goto_statement "goto code_r0x00017025;" (goto "goto") (statement_identifier "code_r0x00017025") (; ";")))) (expression_statement "pbVar8 = pbVar5 + -1;" (assignment_expression "pbVar8 = pbVar5 + -1" (identifier "pbVar8") (= "=") (binary_expression "pbVar5 + -1" (identifier "pbVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pbVar5[-1] = bVar1;" (assignment_expression "pbVar5[-1] = bVar1" (subscript_expression "pbVar5[-1]" (identifier "pbVar5") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar1")) (; ";")) (} "}")) (else_clause "else {\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }" (else "else") (compound_statement "{\n          DAT_00088784 = (byte *)0x0;\n          iVar11 = (*param_1)(&DAT_00080780,0x8000);\n          pbVar17 = &DAT_00080780 + iVar11;\n          pbVar5 = &DAT_00080781;\n          bVar1 = DAT_00080780;\n          if (iVar11 != 0) goto code_r0x00016ff8;\n        }" ({ "{") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar5 = &DAT_00080781;" (assignment_expression "pbVar5 = &DAT_00080781" (identifier "pbVar5") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar1 = DAT_00080780;" (assignment_expression "bVar1 = DAT_00080780" (identifier "bVar1") (= "=") (identifier "DAT_00080780")) (; ";")) (if_statement "if (iVar11 != 0) goto code_r0x00016ff8;" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00016ff8;" (goto "goto") (statement_identifier "code_r0x00016ff8") (; ";"))) (} "}")))) (if_statement "if (DAT_000887a8 - 9 < 2) {\n          DAT_000887a8 = 3;\n        }" (if "if") (parenthesized_expression "(DAT_000887a8 - 9 < 2)" (( "(") (binary_expression "DAT_000887a8 - 9 < 2" (binary_expression "DAT_000887a8 - 9" (identifier "DAT_000887a8") (- "-") (number_literal "9")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n          DAT_000887a8 = 3;\n        }" ({ "{") (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" (identifier "DAT_000887a8") (= "=") (number_literal "3")) (; ";")) (} "}"))) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar8;" (assignment_expression "pbVar18 = pbVar8" (identifier "pbVar18") (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";")) (goto_statement "goto joined_r0x00016e98;" (goto "goto") (statement_identifier "joined_r0x00016e98") (; ";"))) (case_statement "case 0x17082:\n        if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }\ncode_r0x0001708b:\n        uVar10 = DAT_000887a8;\n        if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }\n        local_30 = pbVar5;\n        goto code_r0x0001751e;" (case "case") (number_literal "0x17082") (: ":") (if_statement "if (local_2c == 0x2f) {\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }" (if "if") (parenthesized_expression "(local_2c == 0x2f)" (( "(") (binary_expression "local_2c == 0x2f" (identifier "local_2c") (== "==") (number_literal "0x2f")) () ")")) (compound_statement "{\n          if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }\n          pbVar18[-1] = bVar3;\n          pbVar18 = pbVar18 + -1;\n          pbVar5 = pbVar16;\n        }" ({ "{") (if_statement "if (pbVar18 < pbVar17) {\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" (if "if") (parenthesized_expression "(pbVar18 < pbVar17)" (( "(") (binary_expression "pbVar18 < pbVar17" (identifier "pbVar18") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n            bVar3 = *pbVar18;\n            pbVar18 = pbVar18 + 1;\n          }" ({ "{") (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" (identifier "bVar3") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" (else "else") (compound_statement "{\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar18 = pbVar8;\n            pbVar5 = pbVar16;\n            if (iVar11 == 0) goto code_r0x0001708b;\n            pbVar18 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" ({ "{") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar18 = pbVar8;" (assignment_expression "pbVar18 = pbVar8" (identifier "pbVar18") (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" (identifier "pbVar5") (= "=") (identifier "pbVar16")) (; ";")) (if_statement "if (iVar11 == 0) goto code_r0x0001708b;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x0001708b;" (goto "goto") (statement_identifier "code_r0x0001708b") (; ";"))) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (} "}")))) (if_statement "if (bVar3 == 0x2a) {\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }" (if "if") (parenthesized_expression "(bVar3 == 0x2a)" (( "(") (binary_expression "bVar3 == 0x2a" (identifier "bVar3") (== "==") (number_literal "0x2a")) () ")")) (compound_statement "{\n            DAT_000887a4 = 3;\n            DAT_000887a8 = 0xfffffffe;\n            goto code_r0x00016560;\n          }" ({ "{") (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" (identifier "DAT_000887a4") (= "=") (number_literal "3")) (; ";")) (expression_statement "DAT_000887a8 = 0xfffffffe;" (assignment_expression "DAT_000887a8 = 0xfffffffe" (identifier "DAT_000887a8") (= "=") (number_literal "0xfffffffe")) (; ";")) (goto_statement "goto code_r0x00016560;" (goto "goto") (statement_identifier "code_r0x00016560") (; ";")) (} "}"))) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" (identifier "pbVar18") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" (identifier "pbVar5") (= "=") (identifier "pbVar16")) (; ";")) (} "}"))) (labeled_statement "code_r0x0001708b:\n        uVar10 = DAT_000887a8;" (statement_identifier "code_r0x0001708b") (: ":") (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";"))) (if_statement "if (1 < DAT_000887a8) {\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }" (if "if") (parenthesized_expression "(1 < DAT_000887a8)" (( "(") (binary_expression "1 < DAT_000887a8" (number_literal "1") (< "<") (identifier "DAT_000887a8")) () ")")) (compound_statement "{\n          pcVar13 = strchr(PTR_DAT_00080718,local_2c);\n          local_30 = pbVar5 + 1;\n          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;\n          goto code_r0x0001741d;\n        }" ({ "{") (expression_statement "pcVar13 = strchr(PTR_DAT_00080718,local_2c);" (assignment_expression "pcVar13 = strchr(PTR_DAT_00080718,local_2c)" (identifier "pcVar13") (= "=") (call_expression "strchr(PTR_DAT_00080718,local_2c)" (identifier "strchr") (argument_list "(PTR_DAT_00080718,local_2c)" (( "(") (identifier "PTR_DAT_00080718") (, ",") (identifier "local_2c") () ")")))) (; ";")) (expression_statement "local_30 = pbVar5 + 1;" (assignment_expression "local_30 = pbVar5 + 1" (identifier "local_30") (= "=") (binary_expression "pbVar5 + 1" (identifier "pbVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pcVar13 != (char *)0x0) goto code_r0x00016d70;" (if "if") (parenthesized_expression "(pcVar13 != (char *)0x0)" (( "(") (binary_expression "pcVar13 != (char *)0x0" (identifier "pcVar13") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto code_r0x00016d70;" (goto "goto") (statement_identifier "code_r0x00016d70") (; ";"))) (goto_statement "goto code_r0x0001741d;" (goto "goto") (statement_identifier "code_r0x0001741d") (; ";")) (} "}"))) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" (identifier "local_30") (= "=") (identifier "pbVar5")) (; ";")) (goto_statement "goto code_r0x0001751e;" (goto "goto") (statement_identifier "code_r0x0001751e") (; ";"))) (case_statement "case 0x170df:\n        goto LAB_000170e3;" (case "case") (number_literal "0x170df") (: ":") (goto_statement "goto LAB_000170e3;" (goto "goto") (statement_identifier "LAB_000170e3") (; ";"))) (} "}"))) (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" (identifier "DAT_000887a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";")) (goto_statement "goto joined_r0x000172dc;" (goto "goto") (statement_identifier "joined_r0x000172dc") (; ";")) (} "}"))) (labeled_statement "LAB_000170e3:\n    local_30 = pbVar16 + 1;" (statement_identifier "LAB_000170e3") (: ":") (expression_statement "local_30 = pbVar16 + 1;" (assignment_expression "local_30 = pbVar16 + 1" (identifier "local_30") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";"))) (goto_statement "goto LAB_00016fab;" (goto "goto") (statement_identifier "LAB_00016fab") (; ";"))) (case_statement "case 4:\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }\n    uVar10 = (uint)bVar3;\n    pbVar5 = pbVar16 + 1;\n    if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }\n    pbVar19 = &DAT_00080780;\n    while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }\ncode_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }\n    goto LAB_00016520;" (case "case") (number_literal "4") (: ":") (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }" (if "if") (parenthesized_expression "(pbVar18 < pbVar17)" (( "(") (binary_expression "pbVar18 < pbVar17" (identifier "pbVar18") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }" ({ "{") (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" (identifier "bVar3") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }" (else "else") (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      pbVar16 = pbVar5;\n    }" ({ "{") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00016992:\n        return (int)pbVar5 - (int)param_2;\n      }" ({ "{") (labeled_statement "LAB_00016992:\n        return (int)pbVar5 - (int)param_2;" (statement_identifier "LAB_00016992") (: ":") (return_statement "return (int)pbVar5 - (int)param_2;" (return "return") (binary_expression "(int)pbVar5 - (int)param_2" (cast_expression "(int)pbVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar5")) (- "-") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) (; ";"))) (} "}"))) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" (identifier "pbVar16") (= "=") (identifier "pbVar5")) (; ";")) (} "}")))) (expression_statement "uVar10 = (uint)bVar3;" (assignment_expression "uVar10 = (uint)bVar3" (identifier "uVar10") (= "=") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3"))) (; ";")) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar10 - 0x30 < 10) {\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }" (if "if") (parenthesized_expression "(uVar10 - 0x30 < 10)" (( "(") (binary_expression "uVar10 - 0x30 < 10" (binary_expression "uVar10 - 0x30" (identifier "uVar10") (- "-") (number_literal "0x30")) (< "<") (number_literal "10")) () ")")) (compound_statement "{\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n      break;\n    }" ({ "{") (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "pbVar19 = &DAT_00080780;" (assignment_expression "pbVar19 = &DAT_00080780" (identifier "pbVar19") (= "=") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780"))) (; ";")) (while_statement "while ((&DAT_000887c0)[uVar10] == '\x02') {\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }" (while "while") (parenthesized_expression "((&DAT_000887c0)[uVar10] == '\x02')" (( "(") (binary_expression "(&DAT_000887c0)[uVar10] == '\x02'" (subscript_expression "(&DAT_000887c0)[uVar10]" (parenthesized_expression "(&DAT_000887c0)" (( "(") (pointer_expression "&DAT_000887c0" (& "&") (identifier "DAT_000887c0")) () ")")) ([ "[") (identifier "uVar10") (] "]")) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n      while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar17 = &DAT_00080780 + iVar11;\n      if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }\n      pbVar18 = &DAT_00080781;\n      uVar10 = (uint)DAT_00080780;\n    }" ({ "{") (while_statement "while (pbVar18 < pbVar17) {\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }" (while "while") (parenthesized_expression "(pbVar18 < pbVar17)" (( "(") (binary_expression "pbVar18 < pbVar17" (identifier "pbVar18") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n        uVar10 = (uint)*pbVar18;\n        pbVar18 = pbVar18 + 1;\n        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;\n      }" ({ "{") (expression_statement "uVar10 = (uint)*pbVar18;" (assignment_expression "uVar10 = (uint)*pbVar18" (identifier "uVar10") (= "=") (binary_expression "(uint)*pbVar18" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar18"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;" (if "if") (parenthesized_expression "((&DAT_000887c0)[uVar10] != '\x02')" (( "(") (binary_expression "(&DAT_000887c0)[uVar10] != '\x02'" (subscript_expression "(&DAT_000887c0)[uVar10]" (parenthesized_expression "(&DAT_000887c0)" (( "(") (pointer_expression "&DAT_000887c0" (& "&") (identifier "DAT_000887c0")) () ")")) ([ "[") (identifier "uVar10") (] "]")) (!= "!=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (goto_statement "goto code_r0x000167d8;" (goto "goto") (statement_identifier "code_r0x000167d8") (; ";"))) (} "}"))) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (if_statement "if (iVar11 == 0) {\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar10 = 0xffffffff;\n        goto code_r0x00016b1d;\n      }" ({ "{") (expression_statement "uVar10 = 0xffffffff;" (assignment_expression "uVar10 = 0xffffffff" (identifier "uVar10") (= "=") (number_literal "0xffffffff")) (; ";")) (goto_statement "goto code_r0x00016b1d;" (goto "goto") (statement_identifier "code_r0x00016b1d") (; ";")) (} "}"))) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "uVar10 = (uint)DAT_00080780;" (assignment_expression "uVar10 = (uint)DAT_00080780" (identifier "uVar10") (= "=") (cast_expression "(uint)DAT_00080780" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "DAT_00080780"))) (; ";")) (} "}"))) (labeled_statement "code_r0x000167d8:\n    if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }" (statement_identifier "code_r0x000167d8") (: ":") (if_statement "if (uVar10 == 0x22) {\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }\n    else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }" (if "if") (parenthesized_expression "(uVar10 == 0x22)" (( "(") (binary_expression "uVar10 == 0x22" (identifier "uVar10") (== "==") (number_literal "0x22")) () ")")) (compound_statement "{\n      bRam00080761 = 0x22;\n      DAT_000887a8 = 5;\n      DAT_000887a4 = 3;\n      *pbVar16 = 0x22;\njoined_r0x0001680c:\n      pbVar19 = pbVar18;\n      if (pbVar5 < pbVar4) goto code_r0x00016818;\n    }" ({ "{") (expression_statement "bRam00080761 = 0x22;" (assignment_expression "bRam00080761 = 0x22" (identifier "bRam00080761") (= "=") (number_literal "0x22")) (; ";")) (expression_statement "DAT_000887a8 = 5;" (assignment_expression "DAT_000887a8 = 5" (identifier "DAT_000887a8") (= "=") (number_literal "5")) (; ";")) (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" (identifier "DAT_000887a4") (= "=") (number_literal "3")) (; ";")) (expression_statement "*pbVar16 = 0x22;" (assignment_expression "*pbVar16 = 0x22" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (number_literal "0x22")) (; ";")) (labeled_statement "joined_r0x0001680c:\n      pbVar19 = pbVar18;" (statement_identifier "joined_r0x0001680c") (: ":") (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";"))) (if_statement "if (pbVar5 < pbVar4) goto code_r0x00016818;" (if "if") (parenthesized_expression "(pbVar5 < pbVar4)" (( "(") (binary_expression "pbVar5 < pbVar4" (identifier "pbVar5") (< "<") (identifier "pbVar4")) () ")")) (goto_statement "goto code_r0x00016818;" (goto "goto") (statement_identifier "code_r0x00016818") (; ";"))) (} "}")) (else_clause "else {\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }" (else "else") (compound_statement "{\n      pbVar19 = pbVar18;\n      while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }\ncode_r0x00016b1d:\n      DAT_000887a8 = 0;\n      *pbVar16 = (byte)uVar10;\n      if (pbVar5 < pbVar4) goto LAB_00016b40;\n    }" ({ "{") (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";")) (while_statement "while (uVar10 != 0xffffffff) {\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }" (while "while") (parenthesized_expression "(uVar10 != 0xffffffff)" (( "(") (binary_expression "uVar10 != 0xffffffff" (identifier "uVar10") (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }\n      }" ({ "{") (while_statement "while( true ) {\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          if (uVar10 == 10) goto code_r0x00016b1d;\n          if (pbVar17 <= pbVar19) break;\n          uVar10 = (uint)*pbVar19;\n          pbVar19 = pbVar19 + 1;\n          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;\n        }" ({ "{") (if_statement "if (uVar10 == 10) goto code_r0x00016b1d;" (if "if") (parenthesized_expression "(uVar10 == 10)" (( "(") (binary_expression "uVar10 == 10" (identifier "uVar10") (== "==") (number_literal "10")) () ")")) (goto_statement "goto code_r0x00016b1d;" (goto "goto") (statement_identifier "code_r0x00016b1d") (; ";"))) (if_statement "if (pbVar17 <= pbVar19) break;" (if "if") (parenthesized_expression "(pbVar17 <= pbVar19)" (( "(") (binary_expression "pbVar17 <= pbVar19" (identifier "pbVar17") (<= "<=") (identifier "pbVar19")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar10 = (uint)*pbVar19;" (assignment_expression "uVar10 = (uint)*pbVar19" (identifier "uVar10") (= "=") (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar19"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar10 == 0xffffffff) goto code_r0x00016b1d;" (if "if") (parenthesized_expression "(uVar10 == 0xffffffff)" (( "(") (binary_expression "uVar10 == 0xffffffff" (identifier "uVar10") (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto code_r0x00016b1d;" (goto "goto") (statement_identifier "code_r0x00016b1d") (; ";"))) (} "}"))) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (if_statement "if (iVar11 == 0) {\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }\n        else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar10 = 0xffffffff;\n          pbVar19 = &DAT_00080780;\n        }" ({ "{") (expression_statement "uVar10 = 0xffffffff;" (assignment_expression "uVar10 = 0xffffffff" (identifier "uVar10") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "pbVar19 = &DAT_00080780;" (assignment_expression "pbVar19 = &DAT_00080780" (identifier "pbVar19") (= "=") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780"))) (; ";")) (} "}")) (else_clause "else {\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }" (else "else") (compound_statement "{\n          uVar10 = (uint)DAT_00080780;\n          pbVar19 = &DAT_00080781;\n        }" ({ "{") (expression_statement "uVar10 = (uint)DAT_00080780;" (assignment_expression "uVar10 = (uint)DAT_00080780" (identifier "uVar10") (= "=") (cast_expression "(uint)DAT_00080780" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "DAT_00080780"))) (; ";")) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" (identifier "pbVar19") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (} "}")))) (} "}"))) (labeled_statement "code_r0x00016b1d:\n      DAT_000887a8 = 0;" (statement_identifier "code_r0x00016b1d") (: ":") (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" (identifier "DAT_000887a8") (= "=") (number_literal "0")) (; ";"))) (expression_statement "*pbVar16 = (byte)uVar10;" (assignment_expression "*pbVar16 = (byte)uVar10" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (cast_expression "(byte)uVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar10"))) (; ";")) (if_statement "if (pbVar5 < pbVar4) goto LAB_00016b40;" (if "if") (parenthesized_expression "(pbVar5 < pbVar4)" (( "(") (binary_expression "pbVar5 < pbVar4" (identifier "pbVar5") (< "<") (identifier "pbVar4")) () ")")) (goto_statement "goto LAB_00016b40;" (goto "goto") (statement_identifier "LAB_00016b40") (; ";"))) (} "}"))))) (goto_statement "goto LAB_00016520;" (goto "goto") (statement_identifier "LAB_00016520") (; ";"))) (case_statement "case 5:\ncode_r0x00016818:\n    pbVar16 = pbVar5;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    uVar10 = DAT_000887a4;\n    if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }\n    break;" (case "case") (number_literal "5") (: ":") (labeled_statement "code_r0x00016818:\n    pbVar16 = pbVar5;" (statement_identifier "code_r0x00016818") (: ":") (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" (identifier "pbVar16") (= "=") (identifier "pbVar5")) (; ";"))) (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }\n    else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" (if "if") (parenthesized_expression "(pbVar18 < pbVar17)" (( "(") (binary_expression "pbVar18 < pbVar17" (identifier "pbVar18") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar19 = pbVar18;\n      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }\n      pbVar18 = pbVar19 + 1;\n      pbVar5 = pbVar16 + 1;\n      bVar3 = *pbVar19;\n    }" ({ "{") (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" (identifier "bVar3") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (; ";")) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";")) (if_statement "if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }" (if "if") (parenthesized_expression "(((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10))" (( "(") (binary_expression "((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)" (parenthesized_expression "((bVar3 != 0x5c) && (bVar3 != bRam00080761))" (( "(") (binary_expression "(bVar3 != 0x5c) && (bVar3 != bRam00080761)" (parenthesized_expression "(bVar3 != 0x5c)" (( "(") (binary_expression "bVar3 != 0x5c" (identifier "bVar3") (!= "!=") (number_literal "0x5c")) () ")")) (&& "&&") (parenthesized_expression "(bVar3 != bRam00080761)" (( "(") (binary_expression "bVar3 != bRam00080761" (identifier "bVar3") (!= "!=") (identifier "bRam00080761")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pbVar8 = pbVar18, bVar3 != 10)" (( "(") (comma_expression "pbVar8 = pbVar18, bVar3 != 10" (assignment_expression "pbVar8 = pbVar18" (identifier "pbVar8") (= "=") (identifier "pbVar18")) (, ",") (binary_expression "bVar3 != 10" (identifier "bVar3") (!= "!=") (number_literal "10"))) () ")"))) () ")")) (compound_statement "{\n        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }\n        sVar20 = (int)pbVar4 - (int)pbVar5;\n        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }\n        if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }\n      }" ({ "{") (while_statement "while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }" (while "while") (parenthesized_expression "((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)))" (( "(") (parenthesized_expression "(pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))" (( "(") (comma_expression "pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (, ",") (comma_expression "pbVar9 = pbVar17, pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)" (assignment_expression "pbVar9 = pbVar17" (identifier "pbVar9") (= "=") (identifier "pbVar17")) (, ",") (binary_expression "pbVar8 != pbVar17 &&\n               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)" (binary_expression "pbVar8 != pbVar17" (identifier "pbVar8") (!= "!=") (identifier "pbVar17")) (&& "&&") (parenthesized_expression "(bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c)" (( "(") (comma_expression "bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c" (assignment_expression "bVar3 = *pbVar8" (identifier "bVar3") (= "=") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8"))) (, ",") (comma_expression "pbVar9 = pbVar8, bVar3 != 0x5c" (assignment_expression "pbVar9 = pbVar8" (identifier "pbVar9") (= "=") (identifier "pbVar8")) (, ",") (binary_expression "bVar3 != 0x5c" (identifier "bVar3") (!= "!=") (number_literal "0x5c")))) () ")"))))) () ")")) () ")")) (compound_statement "{\n          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;\n        }" ({ "{") (if_statement "if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;" (if "if") (parenthesized_expression "((bVar3 == bRam00080761) || (bVar3 == 10))" (( "(") (binary_expression "(bVar3 == bRam00080761) || (bVar3 == 10)" (parenthesized_expression "(bVar3 == bRam00080761)" (( "(") (binary_expression "bVar3 == bRam00080761" (identifier "bVar3") (== "==") (identifier "bRam00080761")) () ")")) (|| "||") (parenthesized_expression "(bVar3 == 10)" (( "(") (binary_expression "bVar3 == 10" (identifier "bVar3") (== "==") (number_literal "10")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (expression_statement "sVar20 = (int)pbVar4 - (int)pbVar5;" (assignment_expression "sVar20 = (int)pbVar4 - (int)pbVar5" (identifier "sVar20") (= "=") (binary_expression "(int)pbVar4 - (int)pbVar5" (cast_expression "(int)pbVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar4")) (- "-") (cast_expression "(int)pbVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar5")))) (; ";")) (if_statement "if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }" (if "if") (parenthesized_expression "((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5)" (( "(") (binary_expression "(int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5" (binary_expression "(int)pbVar9 - (int)pbVar18" (cast_expression "(int)pbVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar9")) (- "-") (cast_expression "(int)pbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar18"))) (<= "<=") (binary_expression "(int)pbVar4 - (int)pbVar5" (cast_expression "(int)pbVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar4")) (- "-") (cast_expression "(int)pbVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar5")))) () ")")) (compound_statement "{\n          sVar20 = (int)pbVar9 - (int)pbVar18;\n        }" ({ "{") (expression_statement "sVar20 = (int)pbVar9 - (int)pbVar18;" (assignment_expression "sVar20 = (int)pbVar9 - (int)pbVar18" (identifier "sVar20") (= "=") (binary_expression "(int)pbVar9 - (int)pbVar18" (cast_expression "(int)pbVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar9")) (- "-") (cast_expression "(int)pbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar18")))) (; ";")) (} "}"))) (if_statement "if (0 < (int)sVar20) {\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }" (if "if") (parenthesized_expression "(0 < (int)sVar20)" (( "(") (binary_expression "0 < (int)sVar20" (number_literal "0") (< "<") (cast_expression "(int)sVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar20"))) () ")")) (compound_statement "{\n          pbVar19 = pbVar18 + sVar20;\n          memcpy(pbVar5,pbVar18,sVar20);\n          pbVar5 = pbVar5 + sVar20;\n          if (pbVar4 <= pbVar5) goto LAB_00016520;\n          pbVar16 = pbVar5;\n          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;\n        }" ({ "{") (expression_statement "pbVar19 = pbVar18 + sVar20;" (assignment_expression "pbVar19 = pbVar18 + sVar20" (identifier "pbVar19") (= "=") (binary_expression "pbVar18 + sVar20" (identifier "pbVar18") (+ "+") (identifier "sVar20"))) (; ";")) (expression_statement "memcpy(pbVar5,pbVar18,sVar20);" (call_expression "memcpy(pbVar5,pbVar18,sVar20)" (identifier "memcpy") (argument_list "(pbVar5,pbVar18,sVar20)" (( "(") (identifier "pbVar5") (, ",") (identifier "pbVar18") (, ",") (identifier "sVar20") () ")"))) (; ";")) (expression_statement "pbVar5 = pbVar5 + sVar20;" (assignment_expression "pbVar5 = pbVar5 + sVar20" (identifier "pbVar5") (= "=") (binary_expression "pbVar5 + sVar20" (identifier "pbVar5") (+ "+") (identifier "sVar20"))) (; ";")) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" (if "if") (parenthesized_expression "(pbVar4 <= pbVar5)" (( "(") (binary_expression "pbVar4 <= pbVar5" (identifier "pbVar4") (<= "<=") (identifier "pbVar5")) () ")")) (goto_statement "goto LAB_00016520;" (goto "goto") (statement_identifier "LAB_00016520") (; ";"))) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" (identifier "pbVar16") (= "=") (identifier "pbVar5")) (; ";")) (if_statement "if (pbVar17 <= pbVar19) goto code_r0x00016a7d;" (if "if") (parenthesized_expression "(pbVar17 <= pbVar19)" (( "(") (binary_expression "pbVar17 <= pbVar19" (identifier "pbVar17") (<= "<=") (identifier "pbVar19")) () ")")) (goto_statement "goto code_r0x00016a7d;" (goto "goto") (statement_identifier "code_r0x00016a7d") (; ";"))) (} "}"))) (} "}"))) (expression_statement "pbVar18 = pbVar19 + 1;" (assignment_expression "pbVar18 = pbVar19 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" (identifier "bVar3") (= "=") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19"))) (; ";")) (} "}")) (else_clause "else {\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" (else "else") (compound_statement "{\ncode_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      pbVar5 = pbVar16 + 1;\n      if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" ({ "{") (labeled_statement "code_r0x00016a7d:\n      DAT_00088784 = (byte *)0x0;" (statement_identifier "code_r0x00016a7d") (: ":") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar11 == 0) {\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar11 = (int)(char)bRam00080761;\n        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n        FUN_0002bc80(uVar12,iVar11);\n        uVar10 = DAT_000887a4;\n        uRam00080760 = 10;\n        DAT_000887a8 = DAT_000887a4;\n        *pbVar16 = bRam00080761;\n        if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }\n        pbVar17 = (byte *)0x80761;\n        pbVar18 = (byte *)0x80760;\n        goto LAB_0001649b;\n      }" ({ "{") (expression_statement "iVar11 = (int)(char)bRam00080761;" (assignment_expression "iVar11 = (int)(char)bRam00080761" (identifier "iVar11") (= "=") (cast_expression "(int)(char)bRam00080761" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bRam00080761" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bRam00080761")))) (; ";")) (expression_statement "uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"end of file in string; \'%c\' inserted",5)" (identifier "dcgettext") (argument_list "(0,"end of file in string; \'%c\' inserted",5)" (( "(") (number_literal "0") (, ",") (string_literal ""end of file in string; \'%c\' inserted"" (" """) (string_content "end of file in string; ") (escape_sequence "\'") (string_content "%c") (escape_sequence "\'") (string_content " inserted") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc80(uVar12,iVar11);" (call_expression "FUN_0002bc80(uVar12,iVar11)" (identifier "FUN_0002bc80") (argument_list "(uVar12,iVar11)" (( "(") (identifier "uVar12") (, ",") (identifier "iVar11") () ")"))) (; ";")) (expression_statement "uVar10 = DAT_000887a4;" (assignment_expression "uVar10 = DAT_000887a4" (identifier "uVar10") (= "=") (identifier "DAT_000887a4")) (; ";")) (expression_statement "uRam00080760 = 10;" (assignment_expression "uRam00080760 = 10" (identifier "uRam00080760") (= "=") (number_literal "10")) (; ";")) (expression_statement "DAT_000887a8 = DAT_000887a4;" (assignment_expression "DAT_000887a8 = DAT_000887a4" (identifier "DAT_000887a8") (= "=") (identifier "DAT_000887a4")) (; ";")) (expression_statement "*pbVar16 = bRam00080761;" (assignment_expression "*pbVar16 = bRam00080761" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (identifier "bRam00080761")) (; ";")) (if_statement "if (pbVar4 <= pbVar5) {\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }" (if "if") (parenthesized_expression "(pbVar4 <= pbVar5)" (( "(") (binary_expression "pbVar4 <= pbVar5" (identifier "pbVar4") (<= "<=") (identifier "pbVar5")) () ")")) (compound_statement "{\n          DAT_00088780 = 1;\n          DAT_00088784 = (byte *)0x80760;\n          goto LAB_00016538;\n        }" ({ "{") (expression_statement "DAT_00088780 = 1;" (assignment_expression "DAT_00088780 = 1" (identifier "DAT_00088780") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00088784 = (byte *)0x80760;" (assignment_expression "DAT_00088784 = (byte *)0x80760" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x80760" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x80760"))) (; ";")) (goto_statement "goto LAB_00016538;" (goto "goto") (statement_identifier "LAB_00016538") (; ";")) (} "}"))) (expression_statement "pbVar17 = (byte *)0x80761;" (assignment_expression "pbVar17 = (byte *)0x80761" (identifier "pbVar17") (= "=") (cast_expression "(byte *)0x80761" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x80761"))) (; ";")) (expression_statement "pbVar18 = (byte *)0x80760;" (assignment_expression "pbVar18 = (byte *)0x80760" (identifier "pbVar18") (= "=") (cast_expression "(byte *)0x80760" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x80760"))) (; ";")) (goto_statement "goto LAB_0001649b;" (goto "goto") (statement_identifier "LAB_0001649b") (; ";")) (} "}"))) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (} "}")))) (expression_statement "uVar10 = DAT_000887a4;" (assignment_expression "uVar10 = DAT_000887a4" (identifier "uVar10") (= "=") (identifier "DAT_000887a4")) (; ";")) (if_statement "if ((int)(char)bRam00080761 == (uint)bVar3) {\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }\n    else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }" (if "if") (parenthesized_expression "((int)(char)bRam00080761 == (uint)bVar3)" (( "(") (binary_expression "(int)(char)bRam00080761 == (uint)bVar3" (cast_expression "(int)(char)bRam00080761" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bRam00080761" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bRam00080761"))) (== "==") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3"))) () ")")) (compound_statement "{\n      DAT_000887a8 = DAT_000887a4;\n      *pbVar16 = bVar3;\n    }" ({ "{") (expression_statement "DAT_000887a8 = DAT_000887a4;" (assignment_expression "DAT_000887a8 = DAT_000887a4" (identifier "DAT_000887a8") (= "=") (identifier "DAT_000887a4")) (; ";")) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (identifier "bVar3")) (; ";")) (} "}")) (else_clause "else {\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }" (else "else") (compound_statement "{\n      if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }\n      *pbVar16 = bVar3;\n      uVar10 = DAT_000887a8;\n    }" ({ "{") (if_statement "if (bVar3 == 0x5c) {\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }" (if "if") (parenthesized_expression "(bVar3 == 0x5c)" (( "(") (binary_expression "bVar3 == 0x5c" (identifier "bVar3") (== "==") (number_literal "0x5c")) () ")")) (compound_statement "{\n        DAT_000887a8 = 6;\n        *pbVar16 = 0x5c;\n        pbVar19 = pbVar18;\n        if (pbVar4 <= pbVar5) goto LAB_00016520;\n        goto code_r0x000168d0;\n      }" ({ "{") (expression_statement "DAT_000887a8 = 6;" (assignment_expression "DAT_000887a8 = 6" (identifier "DAT_000887a8") (= "=") (number_literal "6")) (; ";")) (expression_statement "*pbVar16 = 0x5c;" (assignment_expression "*pbVar16 = 0x5c" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";")) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" (if "if") (parenthesized_expression "(pbVar4 <= pbVar5)" (( "(") (binary_expression "pbVar4 <= pbVar5" (identifier "pbVar4") (<= "<=") (identifier "pbVar5")) () ")")) (goto_statement "goto LAB_00016520;" (goto "goto") (statement_identifier "LAB_00016520") (; ";"))) (goto_statement "goto code_r0x000168d0;" (goto "goto") (statement_identifier "code_r0x000168d0") (; ";")) (} "}"))) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\ncode_r0x000168d0:\n    DAT_000887a8 = 5;\n    pbVar19 = pbVar5 + 1;\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }\n    iVar11 = (int)(char)bRam00080761;\n    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);\n    FUN_0002bc80(uVar12,iVar11);\n    *pbVar5 = bRam00080761;\n    pbVar5 = pbVar19;\n    uVar10 = DAT_000887a8;\njoined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;\n    pbVar18 = pbVar17;\n    DAT_000887a8 = uVar10;\n    if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }\n    goto LAB_0001649b;" (case "case") (number_literal "6") (: ":") (labeled_statement "code_r0x000168d0:\n    DAT_000887a8 = 5;" (statement_identifier "code_r0x000168d0") (: ":") (expression_statement "DAT_000887a8 = 5;" (assignment_expression "DAT_000887a8 = 5" (identifier "DAT_000887a8") (= "=") (number_literal "5")) (; ";"))) (expression_statement "pbVar19 = pbVar5 + 1;" (assignment_expression "pbVar19 = pbVar5 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar5 + 1" (identifier "pbVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }" (if "if") (parenthesized_expression "(pbVar18 < pbVar17)" (( "(") (binary_expression "pbVar18 < pbVar17" (identifier "pbVar18") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\njoined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      break;\n    }" ({ "{") (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" (identifier "bVar3") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (labeled_statement "joined_r0x00016a19:\n      if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" (statement_identifier "joined_r0x00016a19") (: ":") (if_statement "if (bVar3 == 10) {\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }\n      else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" (if "if") (parenthesized_expression "(bVar3 == 10)" (( "(") (binary_expression "bVar3 == 10" (identifier "bVar3") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n        pbVar18[-1] = 0x6e;\n        pbVar18 = pbVar18 + -1;\n        DAT_00088788 = DAT_00088788 + 1;\n        *pbVar5 = 0x5c;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" ({ "{") (expression_statement "pbVar18[-1] = 0x6e;" (assignment_expression "pbVar18[-1] = 0x6e" (subscript_expression "pbVar18[-1]" (identifier "pbVar18") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0x6e")) (; ";")) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "DAT_00088788 = DAT_00088788 + 1;" (assignment_expression "DAT_00088788 = DAT_00088788 + 1" (identifier "DAT_00088788") (= "=") (binary_expression "DAT_00088788 + 1" (identifier "DAT_00088788") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar5 = 0x5c;" (assignment_expression "*pbVar5 = 0x5c" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "pbVar5 = pbVar19;" (assignment_expression "pbVar5 = pbVar19" (identifier "pbVar5") (= "=") (identifier "pbVar19")) (; ";")) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";")) (} "}")) (else_clause "else {\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" (else "else") (compound_statement "{\n        *pbVar5 = bVar3;\n        pbVar5 = pbVar19;\n        uVar10 = DAT_000887a8;\n      }" ({ "{") (expression_statement "*pbVar5 = bVar3;" (assignment_expression "*pbVar5 = bVar3" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "pbVar5 = pbVar19;" (assignment_expression "pbVar5 = pbVar19" (identifier "pbVar5") (= "=") (identifier "pbVar19")) (; ";")) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";")) (} "}"))))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (if_statement "if (iVar11 != 0) {\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n      goto joined_r0x00016a19;\n    }" ({ "{") (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (goto_statement "goto joined_r0x00016a19;" (goto "goto") (statement_identifier "joined_r0x00016a19") (; ";")) (} "}"))) (expression_statement "iVar11 = (int)(char)bRam00080761;" (assignment_expression "iVar11 = (int)(char)bRam00080761" (identifier "iVar11") (= "=") (cast_expression "(int)(char)bRam00080761" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bRam00080761" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bRam00080761")))) (; ";")) (expression_statement "uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"end of file in string; \'%c\' inserted",5)" (identifier "dcgettext") (argument_list "(0,"end of file in string; \'%c\' inserted",5)" (( "(") (number_literal "0") (, ",") (string_literal ""end of file in string; \'%c\' inserted"" (" """) (string_content "end of file in string; ") (escape_sequence "\'") (string_content "%c") (escape_sequence "\'") (string_content " inserted") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc80(uVar12,iVar11);" (call_expression "FUN_0002bc80(uVar12,iVar11)" (identifier "FUN_0002bc80") (argument_list "(uVar12,iVar11)" (( "(") (identifier "uVar12") (, ",") (identifier "iVar11") () ")"))) (; ";")) (expression_statement "*pbVar5 = bRam00080761;" (assignment_expression "*pbVar5 = bRam00080761" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (= "=") (identifier "bRam00080761")) (; ";")) (expression_statement "pbVar5 = pbVar19;" (assignment_expression "pbVar5 = pbVar19" (identifier "pbVar5") (= "=") (identifier "pbVar19")) (; ";")) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";")) (labeled_statement "joined_r0x00016c7b:\n    pbVar17 = &DAT_00080780;" (statement_identifier "joined_r0x00016c7b") (: ":") (expression_statement "pbVar17 = &DAT_00080780;" (assignment_expression "pbVar17 = &DAT_00080780" (identifier "pbVar17") (= "=") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780"))) (; ";"))) (expression_statement "pbVar18 = pbVar17;" (assignment_expression "pbVar18 = pbVar17" (identifier "pbVar18") (= "=") (identifier "pbVar17")) (; ";")) (expression_statement "DAT_000887a8 = uVar10;" (assignment_expression "DAT_000887a8 = uVar10" (identifier "DAT_000887a8") (= "=") (identifier "uVar10")) (; ";")) (if_statement "if (pbVar4 <= pbVar5) {\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }" (if "if") (parenthesized_expression "(pbVar4 <= pbVar5)" (( "(") (binary_expression "pbVar4 <= pbVar5" (identifier "pbVar4") (<= "<=") (identifier "pbVar5")) () ")")) (compound_statement "{\nLAB_000169c8:\n      DAT_00088784 = (byte *)0x0;\nLAB_00016538:\n      return (int)pbVar5 - (int)param_2;\n    }" ({ "{") (labeled_statement "LAB_000169c8:\n      DAT_00088784 = (byte *)0x0;" (statement_identifier "LAB_000169c8") (: ":") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (labeled_statement "LAB_00016538:\n      return (int)pbVar5 - (int)param_2;" (statement_identifier "LAB_00016538") (: ":") (return_statement "return (int)pbVar5 - (int)param_2;" (return "return") (binary_expression "(int)pbVar5 - (int)param_2" (cast_expression "(int)pbVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar5")) (- "-") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_0001649b;" (goto "goto") (statement_identifier "LAB_0001649b") (; ";"))) (case_statement "case 0xfffffffe:\ncode_r0x00016560:\n    pbVar5 = pbVar16;\ncode_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;\n    do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );" (case "case") (number_literal "0xfffffffe") (: ":") (labeled_statement "code_r0x00016560:\n    pbVar5 = pbVar16;" (statement_identifier "code_r0x00016560") (: ":") (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" (identifier "pbVar5") (= "=") (identifier "pbVar16")) (; ";"))) (labeled_statement "code_r0x00016570:\n    if (pbVar17 <= pbVar18) goto code_r0x000165c0;" (statement_identifier "code_r0x00016570") (: ":") (if_statement "if (pbVar17 <= pbVar18) goto code_r0x000165c0;" (if "if") (parenthesized_expression "(pbVar17 <= pbVar18)" (( "(") (binary_expression "pbVar17 <= pbVar18" (identifier "pbVar17") (<= "<=") (identifier "pbVar18")) () ")")) (goto_statement "goto code_r0x000165c0;" (goto "goto") (statement_identifier "code_r0x000165c0") (; ";")))) (do_statement "do {\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    } while( true );" (do "do") (compound_statement "{\n      pbVar19 = pbVar18 + 1;\n      pbVar16 = pbVar5;\n      bVar3 = *pbVar18;\n      while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }\n    }" ({ "{") (expression_statement "pbVar19 = pbVar18 + 1;" (assignment_expression "pbVar19 = pbVar18 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" (identifier "pbVar16") (= "=") (identifier "pbVar5")) (; ";")) (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" (identifier "bVar3") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (; ";")) (while_statement "while( true ) {\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        pbVar18 = pbVar19;\n        if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }\n        pbVar5 = pbVar16;\n        if (bVar3 != 0x2a) goto code_r0x00016570;\n        do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);\n        pbVar18 = pbVar19 + -1;\n        if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }\n        pbVar19[-1] = bVar3;\n        if (pbVar18 < pbVar17) break;\ncode_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar19 = &DAT_00080781;\n        pbVar16 = pbVar5;\n        bVar3 = DAT_00080780;\n      }" ({ "{") (expression_statement "pbVar18 = pbVar19;" (assignment_expression "pbVar18 = pbVar19" (identifier "pbVar18") (= "=") (identifier "pbVar19")) (; ";")) (if_statement "if (bVar3 == 10) {\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }" (if "if") (parenthesized_expression "(bVar3 == 10)" (( "(") (binary_expression "bVar3 == 10" (identifier "bVar3") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n          pbVar5 = pbVar16 + 1;\n          *pbVar16 = 10;\n          if (pbVar5 < pbVar4) goto code_r0x00016570;\n          goto LAB_00016520;\n        }" ({ "{") (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar16 = 10;" (assignment_expression "*pbVar16 = 10" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (number_literal "10")) (; ";")) (if_statement "if (pbVar5 < pbVar4) goto code_r0x00016570;" (if "if") (parenthesized_expression "(pbVar5 < pbVar4)" (( "(") (binary_expression "pbVar5 < pbVar4" (identifier "pbVar5") (< "<") (identifier "pbVar4")) () ")")) (goto_statement "goto code_r0x00016570;" (goto "goto") (statement_identifier "code_r0x00016570") (; ";"))) (goto_statement "goto LAB_00016520;" (goto "goto") (statement_identifier "LAB_00016520") (; ";")) (} "}"))) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" (identifier "pbVar5") (= "=") (identifier "pbVar16")) (; ";")) (if_statement "if (bVar3 != 0x2a) goto code_r0x00016570;" (if "if") (parenthesized_expression "(bVar3 != 0x2a)" (( "(") (binary_expression "bVar3 != 0x2a" (identifier "bVar3") (!= "!=") (number_literal "0x2a")) () ")")) (goto_statement "goto code_r0x00016570;" (goto "goto") (statement_identifier "code_r0x00016570") (; ";"))) (do_statement "do {\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        } while (bVar3 == 0x2a);" (do "do") (compound_statement "{\n          if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }\n          uVar10 = DAT_000887a4;\n        }" ({ "{") (if_statement "if (pbVar19 < pbVar17) {\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }\n          else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" (if "if") (parenthesized_expression "(pbVar19 < pbVar17)" (( "(") (binary_expression "pbVar19 < pbVar17" (identifier "pbVar19") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n            bVar3 = *pbVar19;\n            pbVar19 = pbVar19 + 1;\n          }" ({ "{") (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" (identifier "bVar3") (= "=") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" (else "else") (compound_statement "{\n            DAT_00088784 = (byte *)0x0;\n            iVar11 = (*param_1)(&DAT_00080780,0x8000);\n            if (iVar11 == 0) goto code_r0x00016974;\n            pbVar17 = &DAT_00080780 + iVar11;\n            pbVar19 = &DAT_00080781;\n            bVar3 = DAT_00080780;\n          }" ({ "{") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) goto code_r0x00016974;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00016974;" (goto "goto") (statement_identifier "code_r0x00016974") (; ";"))) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" (identifier "pbVar19") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (} "}")))) (expression_statement "uVar10 = DAT_000887a4;" (assignment_expression "uVar10 = DAT_000887a4" (identifier "uVar10") (= "=") (identifier "DAT_000887a4")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar3 == 0x2a)" (( "(") (binary_expression "bVar3 == 0x2a" (identifier "bVar3") (== "==") (number_literal "0x2a")) () ")")) (; ";")) (expression_statement "pbVar18 = pbVar19 + -1;" (assignment_expression "pbVar18 = pbVar19 + -1" (identifier "pbVar18") (= "=") (binary_expression "pbVar19 + -1" (identifier "pbVar19") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (bVar3 == 0x2f) {\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }" (if "if") (parenthesized_expression "(bVar3 == 0x2f)" (( "(") (binary_expression "bVar3 == 0x2f" (identifier "bVar3") (== "==") (number_literal "0x2f")) () ")")) (compound_statement "{\n          DAT_000887a8 = DAT_000887a4;\n          pbVar19[-1] = 0x20;\n          goto LAB_0001649b;\n        }" ({ "{") (expression_statement "DAT_000887a8 = DAT_000887a4;" (assignment_expression "DAT_000887a8 = DAT_000887a4" (identifier "DAT_000887a8") (= "=") (identifier "DAT_000887a4")) (; ";")) (expression_statement "pbVar19[-1] = 0x20;" (assignment_expression "pbVar19[-1] = 0x20" (subscript_expression "pbVar19[-1]" (identifier "pbVar19") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0x20")) (; ";")) (goto_statement "goto LAB_0001649b;" (goto "goto") (statement_identifier "LAB_0001649b") (; ";")) (} "}"))) (expression_statement "pbVar19[-1] = bVar3;" (assignment_expression "pbVar19[-1] = bVar3" (subscript_expression "pbVar19[-1]" (identifier "pbVar19") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar3")) (; ";")) (if_statement "if (pbVar18 < pbVar17) break;" (if "if") (parenthesized_expression "(pbVar18 < pbVar17)" (( "(") (binary_expression "pbVar18 < pbVar17" (identifier "pbVar18") (< "<") (identifier "pbVar17")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "code_r0x000165c0:\n        DAT_00088784 = (byte *)0x0;" (statement_identifier "code_r0x000165c0") (: ":") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\ncode_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);\n          FUN_0002bc80(uVar12);\n          goto LAB_00016992;\n        }" ({ "{") (labeled_statement "code_r0x00016974:\n          uVar12 = dcgettext(0,"end of file in comment",5);" (statement_identifier "code_r0x00016974") (: ":") (expression_statement "uVar12 = dcgettext(0,"end of file in comment",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in comment",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"end of file in comment",5)" (identifier "dcgettext") (argument_list "(0,"end of file in comment",5)" (( "(") (number_literal "0") (, ",") (string_literal ""end of file in comment"" (" """) (string_content "end of file in comment") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" (identifier "FUN_0002bc80") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (goto_statement "goto LAB_00016992;" (goto "goto") (statement_identifier "LAB_00016992") (; ";")) (} "}"))) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar19 = &DAT_00080781;" (assignment_expression "pbVar19 = &DAT_00080781" (identifier "pbVar19") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" (identifier "pbVar16") (= "=") (identifier "pbVar5")) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (case_statement "case 0xffffffff:\ncode_r0x00016750:\n    uVar10 = DAT_000887a4;\n    pbVar19 = DAT_000887a0 + 1;\n    pbVar16 = DAT_000887a0 + 1;\n    bVar3 = *DAT_000887a0;\n    DAT_000887a0 = pbVar19;\n    if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }\ncode_r0x0001677e:\n    *pbVar5 = bVar3;\n    pbVar5 = pbVar5 + 1;\n    uVar10 = DAT_000887a8;" (case "case") (number_literal "0xffffffff") (: ":") (labeled_statement "code_r0x00016750:\n    uVar10 = DAT_000887a4;" (statement_identifier "code_r0x00016750") (: ":") (expression_statement "uVar10 = DAT_000887a4;" (assignment_expression "uVar10 = DAT_000887a4" (identifier "uVar10") (= "=") (identifier "DAT_000887a4")) (; ";"))) (expression_statement "pbVar19 = DAT_000887a0 + 1;" (assignment_expression "pbVar19 = DAT_000887a0 + 1" (identifier "pbVar19") (= "=") (binary_expression "DAT_000887a0 + 1" (identifier "DAT_000887a0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar16 = DAT_000887a0 + 1;" (assignment_expression "pbVar16 = DAT_000887a0 + 1" (identifier "pbVar16") (= "=") (binary_expression "DAT_000887a0 + 1" (identifier "DAT_000887a0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar3 = *DAT_000887a0;" (assignment_expression "bVar3 = *DAT_000887a0" (identifier "bVar3") (= "=") (pointer_expression "*DAT_000887a0" (* "*") (identifier "DAT_000887a0"))) (; ";")) (expression_statement "DAT_000887a0 = pbVar19;" (assignment_expression "DAT_000887a0 = pbVar19" (identifier "DAT_000887a0") (= "=") (identifier "pbVar19")) (; ";")) (if_statement "if (*pbVar16 == 0) {\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }" (if "if") (parenthesized_expression "(*pbVar16 == 0)" (( "(") (binary_expression "*pbVar16 == 0" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      DAT_000887a4 = 3;\n      DAT_000887a8 = uVar10;\n    }" ({ "{") (expression_statement "DAT_000887a4 = 3;" (assignment_expression "DAT_000887a4 = 3" (identifier "DAT_000887a4") (= "=") (number_literal "3")) (; ";")) (expression_statement "DAT_000887a8 = uVar10;" (assignment_expression "DAT_000887a8 = uVar10" (identifier "DAT_000887a8") (= "=") (identifier "uVar10")) (; ";")) (} "}"))) (labeled_statement "code_r0x0001677e:\n    *pbVar5 = bVar3;" (statement_identifier "code_r0x0001677e") (: ":") (expression_statement "*pbVar5 = bVar3;" (assignment_expression "*pbVar5 = bVar3" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (= "=") (identifier "bVar3")) (; ";"))) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar5 + 1" (identifier "pbVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";"))) (} "}"))) (labeled_statement "joined_r0x00016e98:\n  pbVar19 = pbVar18;" (statement_identifier "joined_r0x00016e98") (: ":") (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";"))) (if_statement "if (pbVar5 < pbVar4) goto LAB_0001649b;" (if "if") (parenthesized_expression "(pbVar5 < pbVar4)" (( "(") (binary_expression "pbVar5 < pbVar4" (identifier "pbVar5") (< "<") (identifier "pbVar4")) () ")")) (goto_statement "goto LAB_0001649b;" (goto "goto") (statement_identifier "LAB_0001649b") (; ";"))) (labeled_statement "LAB_00016520:\n  if (pbVar19 < pbVar17) {\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }" (statement_identifier "LAB_00016520") (: ":") (if_statement "if (pbVar19 < pbVar17) {\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }" (if "if") (parenthesized_expression "(pbVar19 < pbVar17)" (( "(") (binary_expression "pbVar19 < pbVar17" (identifier "pbVar19") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n    DAT_00088780 = (int)pbVar17 - (int)pbVar19;\n    DAT_00088784 = pbVar19;\n    goto LAB_00016538;\n  }" ({ "{") (expression_statement "DAT_00088780 = (int)pbVar17 - (int)pbVar19;" (assignment_expression "DAT_00088780 = (int)pbVar17 - (int)pbVar19" (identifier "DAT_00088780") (= "=") (binary_expression "(int)pbVar17 - (int)pbVar19" (cast_expression "(int)pbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar17")) (- "-") (cast_expression "(int)pbVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar19")))) (; ";")) (expression_statement "DAT_00088784 = pbVar19;" (assignment_expression "DAT_00088784 = pbVar19" (identifier "DAT_00088784") (= "=") (identifier "pbVar19")) (; ";")) (goto_statement "goto LAB_00016538;" (goto "goto") (statement_identifier "LAB_00016538") (; ";")) (} "}")))) (goto_statement "goto LAB_000169c8;" (goto "goto") (statement_identifier "LAB_000169c8") (; ";")) (labeled_statement "code_r0x00017025:\n  if (pbVar5 < pbVar17) {\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }" (statement_identifier "code_r0x00017025") (: ":") (if_statement "if (pbVar5 < pbVar17) {\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }\n  else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }" (if "if") (parenthesized_expression "(pbVar5 < pbVar17)" (( "(") (binary_expression "pbVar5 < pbVar17" (identifier "pbVar5") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n    uVar10 = (uint)*pbVar5;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = pbVar5 + 1;\n  }" ({ "{") (expression_statement "uVar10 = (uint)*pbVar5;" (assignment_expression "uVar10 = (uint)*pbVar5" (identifier "uVar10") (= "=") (binary_expression "(uint)*pbVar5" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar5"))) (; ";")) (expression_statement "cVar2 = (&DAT_000887c0)[uVar10];" (assignment_expression "cVar2 = (&DAT_000887c0)[uVar10]" (identifier "cVar2") (= "=") (subscript_expression "(&DAT_000887c0)[uVar10]" (parenthesized_expression "(&DAT_000887c0)" (( "(") (pointer_expression "&DAT_000887c0" (& "&") (identifier "DAT_000887c0")) () ")")) ([ "[") (identifier "uVar10") (] "]"))) (; ";")) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar5 + 1" (identifier "pbVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }" (else "else") (compound_statement "{\n    DAT_00088784 = (byte *)0x0;\n    iVar11 = (*param_1)(&DAT_00080780,0x8000);\n    pbVar17 = &DAT_00080780 + iVar11;\n    if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }\n    uVar10 = (uint)DAT_00080780;\n    cVar2 = (&DAT_000887c0)[uVar10];\n    pbVar5 = &DAT_00080781;\n  }" ({ "{") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (if_statement "if (iVar11 == 0) {\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\ncode_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);\n      FUN_0002bc80(uVar12);\n      pbVar18 = pbVar8;\ncode_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;\n      local_2c = 0x20;\n      pbVar5 = pbVar16;\n      goto code_r0x00016b78;\n    }" ({ "{") (labeled_statement "code_r0x0001704e:\n      uVar12 = dcgettext(0,"end of file in multiline comment",5);" (statement_identifier "code_r0x0001704e") (: ":") (expression_statement "uVar12 = dcgettext(0,"end of file in multiline comment",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in multiline comment",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"end of file in multiline comment",5)" (identifier "dcgettext") (argument_list "(0,"end of file in multiline comment",5)" (( "(") (number_literal "0") (, ",") (string_literal ""end of file in multiline comment"" (" """) (string_content "end of file in multiline comment") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" (identifier "FUN_0002bc80") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "pbVar18 = pbVar8;" (assignment_expression "pbVar18 = pbVar8" (identifier "pbVar18") (= "=") (identifier "pbVar8")) (; ";")) (labeled_statement "code_r0x0001706e:\n      uVar10 = (uint)DAT_000887e0;" (statement_identifier "code_r0x0001706e") (: ":") (expression_statement "uVar10 = (uint)DAT_000887e0;" (assignment_expression "uVar10 = (uint)DAT_000887e0" (identifier "uVar10") (= "=") (cast_expression "(uint)DAT_000887e0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "DAT_000887e0"))) (; ";"))) (expression_statement "local_2c = 0x20;" (assignment_expression "local_2c = 0x20" (identifier "local_2c") (= "=") (number_literal "0x20")) (; ";")) (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" (identifier "pbVar5") (= "=") (identifier "pbVar16")) (; ";")) (goto_statement "goto code_r0x00016b78;" (goto "goto") (statement_identifier "code_r0x00016b78") (; ";")) (} "}"))) (expression_statement "uVar10 = (uint)DAT_00080780;" (assignment_expression "uVar10 = (uint)DAT_00080780" (identifier "uVar10") (= "=") (cast_expression "(uint)DAT_00080780" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "DAT_00080780"))) (; ";")) (expression_statement "cVar2 = (&DAT_000887c0)[uVar10];" (assignment_expression "cVar2 = (&DAT_000887c0)[uVar10]" (identifier "cVar2") (= "=") (subscript_expression "(&DAT_000887c0)[uVar10]" (parenthesized_expression "(&DAT_000887c0)" (( "(") (pointer_expression "&DAT_000887c0" (& "&") (identifier "DAT_000887c0")) () ")")) ([ "[") (identifier "uVar10") (] "]"))) (; ";")) (expression_statement "pbVar5 = &DAT_00080781;" (assignment_expression "pbVar5 = &DAT_00080781" (identifier "pbVar5") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (} "}"))))) (if_statement "if (cVar2 == '\n') {\n    DAT_00088788 = DAT_00088788 + 1;\n  }" (if "if") (parenthesized_expression "(cVar2 == '\n')" (( "(") (binary_expression "cVar2 == '\n'" (identifier "cVar2") (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n    DAT_00088788 = DAT_00088788 + 1;\n  }" ({ "{") (expression_statement "DAT_00088788 = DAT_00088788 + 1;" (assignment_expression "DAT_00088788 = DAT_00088788 + 1" (identifier "DAT_00088788") (= "=") (binary_expression "DAT_00088788 + 1" (identifier "DAT_00088788") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (uVar10 == 0x2a) {\n    do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto code_r0x0001706e;\n    pbVar5 = pbVar18 + -1;\n    pbVar18[-1] = bVar3;\n  }" (if "if") (parenthesized_expression "(uVar10 == 0x2a)" (( "(") (binary_expression "uVar10 == 0x2a" (identifier "uVar10") (== "==") (number_literal "0x2a")) () ")")) (compound_statement "{\n    do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);\n    if (bVar3 == 0x2f) goto code_r0x0001706e;\n    pbVar5 = pbVar18 + -1;\n    pbVar18[-1] = bVar3;\n  }" ({ "{") (do_statement "do {\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    } while (bVar3 == 0x2a);" (do "do") (compound_statement "{\n      if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }\n      pbVar5 = pbVar18;\n    }" ({ "{") (if_statement "if (pbVar5 < pbVar17) {\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }\n      else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }" (if "if") (parenthesized_expression "(pbVar5 < pbVar17)" (( "(") (binary_expression "pbVar5 < pbVar17" (identifier "pbVar5") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n        pbVar18 = pbVar5 + 1;\n        bVar3 = *pbVar5;\n      }" ({ "{") (expression_statement "pbVar18 = pbVar5 + 1;" (assignment_expression "pbVar18 = pbVar5 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar5 + 1" (identifier "pbVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar3 = *pbVar5;" (assignment_expression "bVar3 = *pbVar5" (identifier "bVar3") (= "=") (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5"))) (; ";")) (} "}")) (else_clause "else {\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }" (else "else") (compound_statement "{\n        DAT_00088784 = (byte *)0x0;\n        iVar11 = (*param_1)(&DAT_00080780,0x8000);\n        pbVar17 = &DAT_00080780 + iVar11;\n        pbVar18 = &DAT_00080781;\n        bVar3 = DAT_00080780;\n        if (iVar11 == 0) goto code_r0x0001704e;\n      }" ({ "{") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (if_statement "if (iVar11 == 0) goto code_r0x0001704e;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x0001704e;" (goto "goto") (statement_identifier "code_r0x0001704e") (; ";"))) (} "}")))) (expression_statement "pbVar5 = pbVar18;" (assignment_expression "pbVar5 = pbVar18" (identifier "pbVar5") (= "=") (identifier "pbVar18")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar3 == 0x2a)" (( "(") (binary_expression "bVar3 == 0x2a" (identifier "bVar3") (== "==") (number_literal "0x2a")) () ")")) (; ";")) (if_statement "if (bVar3 == 0x2f) goto code_r0x0001706e;" (if "if") (parenthesized_expression "(bVar3 == 0x2f)" (( "(") (binary_expression "bVar3 == 0x2f" (identifier "bVar3") (== "==") (number_literal "0x2f")) () ")")) (goto_statement "goto code_r0x0001706e;" (goto "goto") (statement_identifier "code_r0x0001706e") (; ";"))) (expression_statement "pbVar5 = pbVar18 + -1;" (assignment_expression "pbVar5 = pbVar18 + -1" (identifier "pbVar5") (= "=") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" (identifier "pbVar18") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar3")) (; ";")) (} "}"))) (goto_statement "goto code_r0x00017025;" (goto "goto") (statement_identifier "code_r0x00017025") (; ";")) (labeled_statement "code_r0x0001751e:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  } while (cVar2 == '\x02');" (statement_identifier "code_r0x0001751e") (: ":") (do_statement "do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  } while (cVar2 == '\x02');" (do "do") (compound_statement "{\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }" ({ "{") (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" (if "if") (parenthesized_expression "(pbVar18 < pbVar17)" (( "(") (binary_expression "pbVar18 < pbVar17" (identifier "pbVar18") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }" ({ "{") (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" (identifier "bVar3") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" (else "else") (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" ({ "{") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        uVar10 = DAT_000887a8;\n        goto joined_r0x00016c7b;\n      }" ({ "{") (expression_statement "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"end of file in comment; newline inserted",5)" (identifier "dcgettext") (argument_list "(0,"end of file in comment; newline inserted",5)" (( "(") (number_literal "0") (, ",") (string_literal ""end of file in comment; newline inserted"" (" """) (string_content "end of file in comment; newline inserted") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" (identifier "FUN_0002bc80") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" (identifier "pbVar5") (= "=") (binary_expression "local_30 + 1" (identifier "local_30") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*local_30 = 10;" (assignment_expression "*local_30 = 10" (pointer_expression "*local_30" (* "*") (identifier "local_30")) (= "=") (number_literal "10")) (; ";")) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";")) (goto_statement "goto joined_r0x00016c7b;" (goto "goto") (statement_identifier "joined_r0x00016c7b") (; ";")) (} "}"))) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (} "}")))) (expression_statement "cVar2 = (&DAT_000887c0)[bVar3];" (assignment_expression "cVar2 = (&DAT_000887c0)[bVar3]" (identifier "cVar2") (= "=") (subscript_expression "(&DAT_000887c0)[bVar3]" (parenthesized_expression "(&DAT_000887c0)" (( "(") (pointer_expression "&DAT_000887c0" (& "&") (identifier "DAT_000887c0")) () ")")) ([ "[") (identifier "bVar3") (] "]"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar2 == '\x02')" (( "(") (binary_expression "cVar2 == '\x02'" (identifier "cVar2") (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (; ";"))) (if_statement "if (((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)) {\n    pbVar18[-1] = bVar3;\n    pbVar18 = pbVar18 + -1;\n    DAT_000887a4 = 4;\n    DAT_000887a8 = 0xffffffff;\n    pbVar5 = local_30 + 1;\n    DAT_000887a0 = (byte *)0x5b030;\n    *local_30 = 9;\n    pbVar19 = pbVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    DAT_000887a0 = (byte *)0x5b031;\n    bVar3 = s__linefile_0005b02f[1];\n    goto code_r0x0001677e;\n  }" (if "if") (parenthesized_expression "(((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23))" (( "(") (binary_expression "((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)" (parenthesized_expression "((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0))" (( "(") (binary_expression "(bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)" (parenthesized_expression "(bVar3 - 0x30 < 10)" (( "(") (binary_expression "bVar3 - 0x30 < 10" (binary_expression "bVar3 - 0x30" (identifier "bVar3") (- "-") (number_literal "0x30")) (< "<") (number_literal "10")) () ")")) (&& "&&") (parenthesized_expression "(DAT_000887a8 == 0)" (( "(") (binary_expression "DAT_000887a8 == 0" (identifier "DAT_000887a8") (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_2c == 0x23)" (( "(") (binary_expression "local_2c == 0x23" (identifier "local_2c") (== "==") (number_literal "0x23")) () ")"))) () ")")) (compound_statement "{\n    pbVar18[-1] = bVar3;\n    pbVar18 = pbVar18 + -1;\n    DAT_000887a4 = 4;\n    DAT_000887a8 = 0xffffffff;\n    pbVar5 = local_30 + 1;\n    DAT_000887a0 = (byte *)0x5b030;\n    *local_30 = 9;\n    pbVar19 = pbVar18;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    DAT_000887a0 = (byte *)0x5b031;\n    bVar3 = s__linefile_0005b02f[1];\n    goto code_r0x0001677e;\n  }" ({ "{") (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" (identifier "pbVar18") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "pbVar18 = pbVar18 + -1;" (assignment_expression "pbVar18 = pbVar18 + -1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "DAT_000887a4 = 4;" (assignment_expression "DAT_000887a4 = 4" (identifier "DAT_000887a4") (= "=") (number_literal "4")) (; ";")) (expression_statement "DAT_000887a8 = 0xffffffff;" (assignment_expression "DAT_000887a8 = 0xffffffff" (identifier "DAT_000887a8") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" (identifier "pbVar5") (= "=") (binary_expression "local_30 + 1" (identifier "local_30") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "DAT_000887a0 = (byte *)0x5b030;" (assignment_expression "DAT_000887a0 = (byte *)0x5b030" (identifier "DAT_000887a0") (= "=") (cast_expression "(byte *)0x5b030" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5b030"))) (; ";")) (expression_statement "*local_30 = 9;" (assignment_expression "*local_30 = 9" (pointer_expression "*local_30" (* "*") (identifier "local_30")) (= "=") (number_literal "9")) (; ";")) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";")) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" (if "if") (parenthesized_expression "(pbVar4 <= pbVar5)" (( "(") (binary_expression "pbVar4 <= pbVar5" (identifier "pbVar4") (<= "<=") (identifier "pbVar5")) () ")")) (goto_statement "goto LAB_00016520;" (goto "goto") (statement_identifier "LAB_00016520") (; ";"))) (expression_statement "DAT_000887a0 = (byte *)0x5b031;" (assignment_expression "DAT_000887a0 = (byte *)0x5b031" (identifier "DAT_000887a0") (= "=") (cast_expression "(byte *)0x5b031" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5b031"))) (; ";")) (expression_statement "bVar3 = s__linefile_0005b02f[1];" (assignment_expression "bVar3 = s__linefile_0005b02f[1]" (identifier "bVar3") (= "=") (subscript_expression "s__linefile_0005b02f[1]" (identifier "s__linefile_0005b02f") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x0001677e;" (goto "goto") (statement_identifier "code_r0x0001677e") (; ";")) (} "}"))) (while_statement "while (cVar2 != '\n') {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }" (while "while") (parenthesized_expression "(cVar2 != '\n')" (( "(") (binary_expression "cVar2 != '\n'" (identifier "cVar2") (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n    cVar2 = (&DAT_000887c0)[bVar3];\n  }" ({ "{") (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" (if "if") (parenthesized_expression "(pbVar18 < pbVar17)" (( "(") (binary_expression "pbVar18 < pbVar17" (identifier "pbVar18") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }" ({ "{") (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" (identifier "bVar3") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" (else "else") (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" ({ "{") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar5 = local_30 + 1;\n        *local_30 = 10;\n        pbVar19 = pbVar8;\n        pbVar17 = pbVar8;\n        local_30 = pbVar5;\n        if (pbVar5 < pbVar4) goto code_r0x00017782;\n        goto LAB_000169c8;\n      }" ({ "{") (expression_statement "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"end of file in comment; newline inserted",5)" (identifier "dcgettext") (argument_list "(0,"end of file in comment; newline inserted",5)" (( "(") (number_literal "0") (, ",") (string_literal ""end of file in comment; newline inserted"" (" """) (string_content "end of file in comment; newline inserted") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" (identifier "FUN_0002bc80") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "pbVar5 = local_30 + 1;" (assignment_expression "pbVar5 = local_30 + 1" (identifier "pbVar5") (= "=") (binary_expression "local_30 + 1" (identifier "local_30") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*local_30 = 10;" (assignment_expression "*local_30 = 10" (pointer_expression "*local_30" (* "*") (identifier "local_30")) (= "=") (number_literal "10")) (; ";")) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" (identifier "pbVar19") (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "pbVar17 = pbVar8;" (assignment_expression "pbVar17 = pbVar8" (identifier "pbVar17") (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" (identifier "local_30") (= "=") (identifier "pbVar5")) (; ";")) (if_statement "if (pbVar5 < pbVar4) goto code_r0x00017782;" (if "if") (parenthesized_expression "(pbVar5 < pbVar4)" (( "(") (binary_expression "pbVar5 < pbVar4" (identifier "pbVar5") (< "<") (identifier "pbVar4")) () ")")) (goto_statement "goto code_r0x00017782;" (goto "goto") (statement_identifier "code_r0x00017782") (; ";"))) (goto_statement "goto LAB_000169c8;" (goto "goto") (statement_identifier "LAB_000169c8") (; ";")) (} "}"))) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (} "}")))) (expression_statement "cVar2 = (&DAT_000887c0)[bVar3];" (assignment_expression "cVar2 = (&DAT_000887c0)[bVar3]" (identifier "cVar2") (= "=") (subscript_expression "(&DAT_000887c0)[bVar3]" (parenthesized_expression "(&DAT_000887c0)" (( "(") (pointer_expression "&DAT_000887c0" (& "&") (identifier "DAT_000887c0")) () ")")) ([ "[") (identifier "bVar3") (] "]"))) (; ";")) (} "}"))) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" (identifier "pbVar18") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" (identifier "pbVar19") (= "=") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1"))) (; ";")) (labeled_statement "code_r0x00017782:\n  DAT_000887a8 = 0;" (statement_identifier "code_r0x00017782") (: ":") (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" (identifier "DAT_000887a8") (= "=") (number_literal "0")) (; ";"))) (goto_statement "goto code_r0x00016b4e;" (goto "goto") (statement_identifier "code_r0x00016b4e") (; ";")) (labeled_statement "code_r0x00016d70:\n  do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  } while ((&DAT_000887c0)[bVar3] != '\n');" (statement_identifier "code_r0x00016d70") (: ":") (do_statement "do {\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  } while ((&DAT_000887c0)[bVar3] != '\n');" (do "do") (compound_statement "{\n    if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }\n  }" ({ "{") (if_statement "if (pbVar18 < pbVar17) {\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }\n    else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" (if "if") (parenthesized_expression "(pbVar18 < pbVar17)" (( "(") (binary_expression "pbVar18 < pbVar17" (identifier "pbVar18") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n      bVar3 = *pbVar18;\n      pbVar18 = pbVar18 + 1;\n    }" ({ "{") (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" (identifier "bVar3") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" (else "else") (compound_statement "{\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000);\n      if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar18 = &DAT_00080781;\n      bVar3 = DAT_00080780;\n    }" ({ "{") (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);\n        FUN_0002bc80(uVar12);\n        pbVar18 = pbVar8;\n        pbVar17 = pbVar8;\n        break;\n      }" ({ "{") (expression_statement "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);" (assignment_expression "uVar12 = dcgettext(0,"end of file in comment; newline inserted",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"end of file in comment; newline inserted",5)" (identifier "dcgettext") (argument_list "(0,"end of file in comment; newline inserted",5)" (( "(") (number_literal "0") (, ",") (string_literal ""end of file in comment; newline inserted"" (" """) (string_content "end of file in comment; newline inserted") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc80(uVar12);" (call_expression "FUN_0002bc80(uVar12)" (identifier "FUN_0002bc80") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "pbVar18 = pbVar8;" (assignment_expression "pbVar18 = pbVar8" (identifier "pbVar18") (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "pbVar17 = pbVar8;" (assignment_expression "pbVar17 = pbVar8" (identifier "pbVar17") (= "=") (identifier "pbVar8")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (expression_statement "bVar3 = DAT_00080780;" (assignment_expression "bVar3 = DAT_00080780" (identifier "bVar3") (= "=") (identifier "DAT_00080780")) (; ";")) (} "}")))) (} "}")) (while "while") (parenthesized_expression "((&DAT_000887c0)[bVar3] != '\n')" (( "(") (binary_expression "(&DAT_000887c0)[bVar3] != '\n'" (subscript_expression "(&DAT_000887c0)[bVar3]" (parenthesized_expression "(&DAT_000887c0)" (( "(") (pointer_expression "&DAT_000887c0" (& "&") (identifier "DAT_000887c0")) () ")")) ([ "[") (identifier "bVar3") (] "]")) (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (; ";"))) (expression_statement "DAT_000887a8 = 0;" (assignment_expression "DAT_000887a8 = 0" (identifier "DAT_000887a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "*pbVar5 = 10;" (assignment_expression "*pbVar5 = 10" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (= "=") (number_literal "10")) (; ";")) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" (identifier "pbVar5") (= "=") (identifier "local_30")) (; ";")) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";")) (labeled_statement "joined_r0x000172dc:\n  local_30 = pbVar5;" (statement_identifier "joined_r0x000172dc") (: ":") (expression_statement "local_30 = pbVar5;" (assignment_expression "local_30 = pbVar5" (identifier "local_30") (= "=") (identifier "pbVar5")) (; ";"))) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" (if "if") (parenthesized_expression "(pbVar4 <= pbVar5)" (( "(") (binary_expression "pbVar4 <= pbVar5" (identifier "pbVar4") (<= "<=") (identifier "pbVar5")) () ")")) (goto_statement "goto LAB_00016520;" (goto "goto") (statement_identifier "LAB_00016520") (; ";"))) (goto_statement "goto code_r0x00016b4e;" (goto "goto") (statement_identifier "code_r0x00016b4e") (; ";")) (labeled_statement "code_r0x000171ad:\n  if (bVar1 != 4) goto code_r0x000171b5;" (statement_identifier "code_r0x000171ad") (: ":") (if_statement "if (bVar1 != 4) goto code_r0x000171b5;" (if "if") (parenthesized_expression "(bVar1 != 4)" (( "(") (binary_expression "bVar1 != 4" (identifier "bVar1") (!= "!=") (number_literal "4")) () ")")) (goto_statement "goto code_r0x000171b5;" (goto "goto") (statement_identifier "code_r0x000171b5") (; ";")))) (goto_statement "goto code_r0x00016b84;" (goto "goto") (statement_identifier "code_r0x00016b84") (; ";")) (labeled_statement "code_r0x000171b5:\n  if (local_2c == 0x2f) {\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }" (statement_identifier "code_r0x000171b5") (: ":") (if_statement "if (local_2c == 0x2f) {\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }" (if "if") (parenthesized_expression "(local_2c == 0x2f)" (( "(") (binary_expression "local_2c == 0x2f" (identifier "local_2c") (== "==") (number_literal "0x2f")) () ")")) (compound_statement "{\n    uVar10 = (uint)DAT_000887ef;\n    goto code_r0x00016b78;\n  }" ({ "{") (expression_statement "uVar10 = (uint)DAT_000887ef;" (assignment_expression "uVar10 = (uint)DAT_000887ef" (identifier "uVar10") (= "=") (cast_expression "(uint)DAT_000887ef" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "DAT_000887ef"))) (; ";")) (goto_statement "goto code_r0x00016b78;" (goto "goto") (statement_identifier "code_r0x00016b78") (; ";")) (} "}")))) (if_statement "if ((bVar1 == 0xe) || (bVar1 == 3)) goto code_r0x00016b78;" (if "if") (parenthesized_expression "((bVar1 == 0xe) || (bVar1 == 3))" (( "(") (binary_expression "(bVar1 == 0xe) || (bVar1 == 3)" (parenthesized_expression "(bVar1 == 0xe)" (( "(") (binary_expression "bVar1 == 0xe" (identifier "bVar1") (== "==") (number_literal "0xe")) () ")")) (|| "||") (parenthesized_expression "(bVar1 == 3)" (( "(") (binary_expression "bVar1 == 3" (identifier "bVar1") (== "==") (number_literal "3")) () ")"))) () ")")) (goto_statement "goto code_r0x00016b78;" (goto "goto") (statement_identifier "code_r0x00016b78") (; ";"))) (if_statement "if ((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)) {\n    DAT_000887a8 = 1;\n    *pbVar16 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;\n    pbVar19 = pbVar18;\n    goto joined_r0x000172dc;\n  }" (if "if") (parenthesized_expression "((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9))" (( "(") (binary_expression "(DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)" (parenthesized_expression "(DAT_000887a8 == 2 || DAT_000887a8 == 0xb)" (( "(") (binary_expression "DAT_000887a8 == 2 || DAT_000887a8 == 0xb" (binary_expression "DAT_000887a8 == 2" (identifier "DAT_000887a8") (== "==") (number_literal "2")) (|| "||") (binary_expression "DAT_000887a8 == 0xb" (identifier "DAT_000887a8") (== "==") (number_literal "0xb"))) () ")")) (&& "&&") (parenthesized_expression "(bVar1 == 9)" (( "(") (binary_expression "bVar1 == 9" (identifier "bVar1") (== "==") (number_literal "9")) () ")"))) () ")")) (compound_statement "{\n    DAT_000887a8 = 1;\n    *pbVar16 = bVar3;\njoined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;\n    pbVar19 = pbVar18;\n    goto joined_r0x000172dc;\n  }" ({ "{") (expression_statement "DAT_000887a8 = 1;" (assignment_expression "DAT_000887a8 = 1" (identifier "DAT_000887a8") (= "=") (number_literal "1")) (; ";")) (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (identifier "bVar3")) (; ";")) (labeled_statement "joined_r0x00016e2c:\n    pbVar5 = pbVar16 + 1;" (statement_identifier "joined_r0x00016e2c") (: ":") (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";")) (goto_statement "goto joined_r0x000172dc;" (goto "goto") (statement_identifier "joined_r0x000172dc") (; ";")) (} "}"))) (switch_statement "switch(DAT_000887a8) {\n  default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    \n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto code_r0x00016b78;\n  case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;\n  case 9:\n  case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;\n  case 0xb:\n    break;\n  }" (switch "switch") (parenthesized_expression "(DAT_000887a8)" (( "(") (identifier "DAT_000887a8") () ")")) (compound_statement "{\n  default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    \n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");\n  case 1:\n  case 3:\n    goto code_r0x00016b78;\n  case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;\n  case 9:\n  case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;\n  case 0xb:\n    break;\n  }" ({ "{") (case_statement "default:\n    uVar7 = DAT_000887a8;\n    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);\n                    \n    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");" (default "default") (: ":") (expression_statement "uVar7 = DAT_000887a8;" (assignment_expression "uVar7 = DAT_000887a8" (identifier "uVar7") (= "=") (identifier "DAT_000887a8")) (; ";")) (expression_statement "uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8);" (assignment_expression "uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8)" (identifier "dcgettext") (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,\n                       DAT_000887a8)" (( "(") (number_literal "0") (, ",") (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" (" """) (string_content "Case value %ld unexpected at line %d of file ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") (, ",") (identifier "uVar10") (, ",") (identifier "DAT_000887a8") () ")")))) (; ";")) (expression_statement "FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");" (call_expression "FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c")" (identifier "FUN_0002be00") (argument_list "(uVar12,uVar7,0x3cd,"../../gas/app.c")" (( "(") (identifier "uVar12") (, ",") (identifier "uVar7") (, ",") (number_literal "0x3cd") (, ",") (string_literal ""../../gas/app.c"" (" """) (string_content "../../gas/app.c") (" """)) () ")"))) (; ";"))) (case_statement "case 1:" (case "case") (number_literal "1") (: ":")) (case_statement "case 3:\n    goto code_r0x00016b78;" (case "case") (number_literal "3") (: ":") (goto_statement "goto code_r0x00016b78;" (goto "goto") (statement_identifier "code_r0x00016b78") (; ";"))) (case_statement "case 2:\n    DAT_000887a8 = 3;\n    pbVar5 = pbVar16 + 1;\n    if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }\n    *pbVar16 = 0x20;\n    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];\n    goto code_r0x00016b78;" (case "case") (number_literal "2") (: ":") (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" (identifier "DAT_000887a8") (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar4 <= pbVar5) {\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }" (if "if") (parenthesized_expression "(pbVar4 <= pbVar5)" (( "(") (binary_expression "pbVar4 <= pbVar5" (identifier "pbVar4") (<= "<=") (identifier "pbVar5")) () ")")) (compound_statement "{\n      pbVar19 = pbVar18 + -1;\n      pbVar18[-1] = bVar3;\n      *pbVar16 = 0x20;\n      goto LAB_00016520;\n    }" ({ "{") (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" (identifier "pbVar19") (= "=") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" (identifier "pbVar18") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (number_literal "0x20")) (; ";")) (goto_statement "goto LAB_00016520;" (goto "goto") (statement_identifier "LAB_00016520") (; ";")) (} "}"))) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];" (assignment_expression "uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c]" (identifier "uVar10") (= "=") (subscript_expression "(uint)(byte)(&DAT_000887c0)[local_2c]" (call_expression "(uint)(byte)(&DAT_000887c0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_000887c0)" (( "(") (pointer_expression "&DAT_000887c0" (& "&") (identifier "DAT_000887c0")) () ")"))) ([ "[") (identifier "local_2c") (] "]"))) (; ";")) (goto_statement "goto code_r0x00016b78;" (goto "goto") (statement_identifier "code_r0x00016b78") (; ";"))) (case_statement "case 9:" (case "case") (number_literal "9") (: ":")) (case_statement "case 10:\n    DAT_000887a8 = 10;\n    goto code_r0x00016b78;" (case "case") (number_literal "10") (: ":") (expression_statement "DAT_000887a8 = 10;" (assignment_expression "DAT_000887a8 = 10" (identifier "DAT_000887a8") (= "=") (number_literal "10")) (; ";")) (goto_statement "goto code_r0x00016b78;" (goto "goto") (statement_identifier "code_r0x00016b78") (; ";"))) (case_statement "case 0xb:\n    break;" (case "case") (number_literal "0xb") (: ":") (break_statement "break;" (break "break") (; ";"))) (} "}"))) (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" (identifier "DAT_000887a8") (= "=") (number_literal "3")) (; ";")) (labeled_statement "code_r0x00017227:\n  pbVar18[-1] = bVar3;" (statement_identifier "code_r0x00017227") (: ":") (expression_statement "pbVar18[-1] = bVar3;" (assignment_expression "pbVar18[-1] = bVar3" (subscript_expression "pbVar18[-1]" (identifier "pbVar18") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar3")) (; ";"))) (expression_statement "*pbVar16 = 0x20;" (assignment_expression "*pbVar16 = 0x20" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "pbVar5 = pbVar16 + 1;" (assignment_expression "pbVar5 = pbVar16 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" (identifier "pbVar19") (= "=") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1"))) (; ";")) (goto_statement "goto joined_r0x000172dc;" (goto "goto") (statement_identifier "joined_r0x000172dc") (; ";")) (while_statement "while ((byte)(&DAT_000887c0)[pbVar8[1]] < 2) {\ncode_r0x0001787c:\n    pbVar8 = pbVar19;\n    pbVar19 = pbVar8 + 1;\n    if (pbVar17 == pbVar19) break;\n  }" (while "while") (parenthesized_expression "((byte)(&DAT_000887c0)[pbVar8[1]] < 2)" (( "(") (binary_expression "(byte)(&DAT_000887c0)[pbVar8[1]] < 2" (subscript_expression "(byte)(&DAT_000887c0)[pbVar8[1]]" (call_expression "(byte)(&DAT_000887c0)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(&DAT_000887c0)" (( "(") (pointer_expression "&DAT_000887c0" (& "&") (identifier "DAT_000887c0")) () ")"))) ([ "[") (subscript_expression "pbVar8[1]" (identifier "pbVar8") ([ "[") (number_literal "1") (] "]")) (] "]")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\ncode_r0x0001787c:\n    pbVar8 = pbVar19;\n    pbVar19 = pbVar8 + 1;\n    if (pbVar17 == pbVar19) break;\n  }" ({ "{") (labeled_statement "code_r0x0001787c:\n    pbVar8 = pbVar19;" (statement_identifier "code_r0x0001787c") (: ":") (expression_statement "pbVar8 = pbVar19;" (assignment_expression "pbVar8 = pbVar19" (identifier "pbVar8") (= "=") (identifier "pbVar19")) (; ";"))) (expression_statement "pbVar19 = pbVar8 + 1;" (assignment_expression "pbVar19 = pbVar8 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar17 == pbVar19) break;" (if "if") (parenthesized_expression "(pbVar17 == pbVar19)" (( "(") (binary_expression "pbVar17 == pbVar19" (identifier "pbVar17") (== "==") (identifier "pbVar19")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (if_statement "if (pbVar19 <= pbVar18) {\n    pbVar8 = pbVar19;\n  }" (if "if") (parenthesized_expression "(pbVar19 <= pbVar18)" (( "(") (binary_expression "pbVar19 <= pbVar18" (identifier "pbVar19") (<= "<=") (identifier "pbVar18")) () ")")) (compound_statement "{\n    pbVar8 = pbVar19;\n  }" ({ "{") (expression_statement "pbVar8 = pbVar19;" (assignment_expression "pbVar8 = pbVar19" (identifier "pbVar8") (= "=") (identifier "pbVar19")) (; ";")) (} "}"))) (expression_statement "iVar11 = (int)pbVar4 - (int)pbVar16;" (assignment_expression "iVar11 = (int)pbVar4 - (int)pbVar16" (identifier "iVar11") (= "=") (binary_expression "(int)pbVar4 - (int)pbVar16" (cast_expression "(int)pbVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar4")) (- "-") (cast_expression "(int)pbVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar16")))) (; ";")) (expression_statement "sVar20 = (int)pbVar8 - (int)pbVar18;" (assignment_expression "sVar20 = (int)pbVar8 - (int)pbVar18" (identifier "sVar20") (= "=") (binary_expression "(int)pbVar8 - (int)pbVar18" (cast_expression "(int)pbVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar8")) (- "-") (cast_expression "(int)pbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar18")))) (; ";")) (if_statement "if (iVar11 <= (int)sVar20) {\ncode_r0x000178a1:\n    sVar20 = iVar11 - 1;\n  }" (if "if") (parenthesized_expression "(iVar11 <= (int)sVar20)" (( "(") (binary_expression "iVar11 <= (int)sVar20" (identifier "iVar11") (<= "<=") (cast_expression "(int)sVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar20"))) () ")")) (compound_statement "{\ncode_r0x000178a1:\n    sVar20 = iVar11 - 1;\n  }" ({ "{") (labeled_statement "code_r0x000178a1:\n    sVar20 = iVar11 - 1;" (statement_identifier "code_r0x000178a1") (: ":") (expression_statement "sVar20 = iVar11 - 1;" (assignment_expression "sVar20 = iVar11 - 1" (identifier "sVar20") (= "=") (binary_expression "iVar11 - 1" (identifier "iVar11") (- "-") (number_literal "1"))) (; ";"))) (} "}"))) (if_statement "if (0 < (int)sVar20) {\n    *pbVar16 = bVar3;\n    memcpy(pbVar5,pbVar18,sVar20);\n    pbVar5 = pbVar5 + sVar20;\n    pbVar19 = pbVar18 + sVar20;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(0 < (int)sVar20)" (( "(") (binary_expression "0 < (int)sVar20" (number_literal "0") (< "<") (cast_expression "(int)sVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar20"))) () ")")) (compound_statement "{\n    *pbVar16 = bVar3;\n    memcpy(pbVar5,pbVar18,sVar20);\n    pbVar5 = pbVar5 + sVar20;\n    pbVar19 = pbVar18 + sVar20;\n    if (pbVar4 <= pbVar5) goto LAB_00016520;\n    local_30 = pbVar5 + 1;\n    if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }\n  }" ({ "{") (expression_statement "*pbVar16 = bVar3;" (assignment_expression "*pbVar16 = bVar3" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "memcpy(pbVar5,pbVar18,sVar20);" (call_expression "memcpy(pbVar5,pbVar18,sVar20)" (identifier "memcpy") (argument_list "(pbVar5,pbVar18,sVar20)" (( "(") (identifier "pbVar5") (, ",") (identifier "pbVar18") (, ",") (identifier "sVar20") () ")"))) (; ";")) (expression_statement "pbVar5 = pbVar5 + sVar20;" (assignment_expression "pbVar5 = pbVar5 + sVar20" (identifier "pbVar5") (= "=") (binary_expression "pbVar5 + sVar20" (identifier "pbVar5") (+ "+") (identifier "sVar20"))) (; ";")) (expression_statement "pbVar19 = pbVar18 + sVar20;" (assignment_expression "pbVar19 = pbVar18 + sVar20" (identifier "pbVar19") (= "=") (binary_expression "pbVar18 + sVar20" (identifier "pbVar18") (+ "+") (identifier "sVar20"))) (; ";")) (if_statement "if (pbVar4 <= pbVar5) goto LAB_00016520;" (if "if") (parenthesized_expression "(pbVar4 <= pbVar5)" (( "(") (binary_expression "pbVar4 <= pbVar5" (identifier "pbVar4") (<= "<=") (identifier "pbVar5")) () ")")) (goto_statement "goto LAB_00016520;" (goto "goto") (statement_identifier "LAB_00016520") (; ";"))) (expression_statement "local_30 = pbVar5 + 1;" (assignment_expression "local_30 = pbVar5 + 1" (identifier "local_30") (= "=") (binary_expression "pbVar5 + 1" (identifier "pbVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar19 < pbVar17) {\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }\n    else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }" (if "if") (parenthesized_expression "(pbVar19 < pbVar17)" (( "(") (binary_expression "pbVar19 < pbVar17" (identifier "pbVar19") (< "<") (identifier "pbVar17")) () ")")) (compound_statement "{\n      local_2c = (uint)*pbVar19;\n      pbVar18 = pbVar19 + 1;\n      pbVar16 = pbVar5;\n    }" ({ "{") (expression_statement "local_2c = (uint)*pbVar19;" (assignment_expression "local_2c = (uint)*pbVar19" (identifier "local_2c") (= "=") (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar19"))) (; ";")) (expression_statement "pbVar18 = pbVar19 + 1;" (assignment_expression "pbVar18 = pbVar19 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" (identifier "pbVar16") (= "=") (identifier "pbVar5")) (; ";")) (} "}")) (else_clause "else {\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }" (else "else") (compound_statement "{\n      pbVar18 = &DAT_00080780;\n      DAT_00088784 = (byte *)0x0;\n      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);\n      pbVar17 = &DAT_00080780 + iVar11;\n      pbVar16 = pbVar5;\n      if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }\n    }" ({ "{") (expression_statement "pbVar18 = &DAT_00080780;" (assignment_expression "pbVar18 = &DAT_00080780" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780"))) (; ";")) (expression_statement "DAT_00088784 = (byte *)0x0;" (assignment_expression "DAT_00088784 = (byte *)0x0" (identifier "DAT_00088784") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);" (assignment_expression "iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5)" (identifier "iVar11") (= "=") (call_expression "(*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(&DAT_00080780,0x8000,pbVar5,pbVar5)" (( "(") (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (, ",") (number_literal "0x8000") (, ",") (identifier "pbVar5") (, ",") (identifier "pbVar5") () ")")))) (; ";")) (expression_statement "pbVar17 = &DAT_00080780 + iVar11;" (assignment_expression "pbVar17 = &DAT_00080780 + iVar11" (identifier "pbVar17") (= "=") (binary_expression "&DAT_00080780 + iVar11" (pointer_expression "&DAT_00080780" (& "&") (identifier "DAT_00080780")) (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "pbVar16 = pbVar5;" (assignment_expression "pbVar16 = pbVar5" (identifier "pbVar16") (= "=") (identifier "pbVar5")) (; ";")) (if_statement "if (iVar11 == 0) {\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }\n      else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_2c = 0xffffffff;\n        pbVar17 = pbVar18;\n      }" ({ "{") (expression_statement "local_2c = 0xffffffff;" (assignment_expression "local_2c = 0xffffffff" (identifier "local_2c") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "pbVar17 = pbVar18;" (assignment_expression "pbVar17 = pbVar18" (identifier "pbVar17") (= "=") (identifier "pbVar18")) (; ";")) (} "}")) (else_clause "else {\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }" (else "else") (compound_statement "{\n        local_2c = (uint)DAT_00080780;\n        pbVar18 = &DAT_00080781;\n      }" ({ "{") (expression_statement "local_2c = (uint)DAT_00080780;" (assignment_expression "local_2c = (uint)DAT_00080780" (identifier "local_2c") (= "=") (cast_expression "(uint)DAT_00080780" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "DAT_00080780"))) (; ";")) (expression_statement "pbVar18 = &DAT_00080781;" (assignment_expression "pbVar18 = &DAT_00080781" (identifier "pbVar18") (= "=") (pointer_expression "&DAT_00080781" (& "&") (identifier "DAT_00080781"))) (; ";")) (} "}")))) (} "}")))) (} "}"))) (labeled_statement "LAB_00016fab:\n  pbVar5 = pbVar16;" (statement_identifier "LAB_00016fab") (: ":") (expression_statement "pbVar5 = pbVar16;" (assignment_expression "pbVar5 = pbVar16" (identifier "pbVar5") (= "=") (identifier "pbVar16")) (; ";"))) (if_statement "if (DAT_000887a8 == 0) {\n    DAT_000887a8 = 0xb;\n  }\n  else {\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(DAT_000887a8 == 0)" (( "(") (binary_expression "DAT_000887a8 == 0" (identifier "DAT_000887a8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    DAT_000887a8 = 0xb;\n  }" ({ "{") (expression_statement "DAT_000887a8 = 0xb;" (assignment_expression "DAT_000887a8 = 0xb" (identifier "DAT_000887a8") (= "=") (number_literal "0xb")) (; ";")) (} "}")) (else_clause "else {\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    uVar10 = DAT_000887a8;\n    if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }\n  }" ({ "{") (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";")) (if_statement "if (DAT_000887a8 == 1) {\n      DAT_000887a8 = 2;\n    }\n    else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }" (if "if") (parenthesized_expression "(DAT_000887a8 == 1)" (( "(") (binary_expression "DAT_000887a8 == 1" (identifier "DAT_000887a8") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      DAT_000887a8 = 2;\n    }" ({ "{") (expression_statement "DAT_000887a8 = 2;" (assignment_expression "DAT_000887a8 = 2" (identifier "DAT_000887a8") (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else {\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }" (else "else") (compound_statement "{\ncode_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }\n    }" ({ "{") (labeled_statement "code_r0x0001741d:\n      if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" (statement_identifier "code_r0x0001741d") (: ":") (if_statement "if (uVar10 == 9) {\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }\n      else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" (if "if") (parenthesized_expression "(uVar10 == 9)" (( "(") (binary_expression "uVar10 == 9" (identifier "uVar10") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;\n      }" ({ "{") (if_statement "if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;" (if "if") (parenthesized_expression "((&DAT_000887c0)[local_2c] != '\x01')" (( "(") (binary_expression "(&DAT_000887c0)[local_2c] != '\x01'" (subscript_expression "(&DAT_000887c0)[local_2c]" (parenthesized_expression "(&DAT_000887c0)" (( "(") (pointer_expression "&DAT_000887c0" (& "&") (identifier "DAT_000887c0")) () ")")) ([ "[") (identifier "local_2c") (] "]")) (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (goto_statement "goto LAB_0001743a;" (goto "goto") (statement_identifier "LAB_0001743a") (; ";"))) (} "}")) (else_clause "else if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" (else "else") (if_statement "if (uVar10 == 10) {\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" (if "if") (parenthesized_expression "(uVar10 == 10)" (( "(") (binary_expression "uVar10 == 10" (identifier "uVar10") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n        if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }\nLAB_0001743a:\n        DAT_000887a8 = 3;\n      }" ({ "{") (if_statement "if (local_2c == 0x5c) {\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }" (if "if") (parenthesized_expression "(local_2c == 0x5c)" (( "(") (binary_expression "local_2c == 0x5c" (identifier "local_2c") (== "==") (number_literal "0x5c")) () ")")) (compound_statement "{\n          if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }\n          *pbVar5 = 0x20;\n          pbVar5 = local_30;\n          local_30 = local_30 + 1;\n        }" ({ "{") (if_statement "if (pbVar4 <= local_30) {\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }" (if "if") (parenthesized_expression "(pbVar4 <= local_30)" (( "(") (binary_expression "pbVar4 <= local_30" (identifier "pbVar4") (<= "<=") (identifier "local_30")) () ")")) (compound_statement "{\n            pbVar18[-1] = 0x5c;\n            pbVar19 = pbVar18 + -1;\n            goto LAB_00016520;\n          }" ({ "{") (expression_statement "pbVar18[-1] = 0x5c;" (assignment_expression "pbVar18[-1] = 0x5c" (subscript_expression "pbVar18[-1]" (identifier "pbVar18") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "pbVar19 = pbVar18 + -1;" (assignment_expression "pbVar19 = pbVar18 + -1" (identifier "pbVar19") (= "=") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1"))) (; ";")) (goto_statement "goto LAB_00016520;" (goto "goto") (statement_identifier "LAB_00016520") (; ";")) (} "}"))) (expression_statement "*pbVar5 = 0x20;" (assignment_expression "*pbVar5 = 0x20" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" (identifier "pbVar5") (= "=") (identifier "local_30")) (; ";")) (expression_statement "local_30 = local_30 + 1;" (assignment_expression "local_30 = local_30 + 1" (identifier "local_30") (= "=") (binary_expression "local_30 + 1" (identifier "local_30") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (labeled_statement "LAB_0001743a:\n        DAT_000887a8 = 3;" (statement_identifier "LAB_0001743a") (: ":") (expression_statement "DAT_000887a8 = 3;" (assignment_expression "DAT_000887a8 = 3" (identifier "DAT_000887a8") (= "=") (number_literal "3")) (; ";"))) (} "}")))))) (} "}")))) (} "}")))) (expression_statement "*pbVar5 = (byte)local_2c;" (assignment_expression "*pbVar5 = (byte)local_2c" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (= "=") (cast_expression "(byte)local_2c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_2c"))) (; ";")) (expression_statement "pbVar5 = local_30;" (assignment_expression "pbVar5 = local_30" (identifier "pbVar5") (= "=") (identifier "local_30")) (; ";")) (expression_statement "uVar10 = DAT_000887a8;" (assignment_expression "uVar10 = DAT_000887a8" (identifier "uVar10") (= "=") (identifier "DAT_000887a8")) (; ";")) (goto_statement "goto joined_r0x00016e98;" (goto "goto") (statement_identifier "joined_r0x00016e98") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

size_t function_1(type_1 *get,char *var_1,size_t var_2)

{
  type_2 var_26;
  char var_34;
  type_2 var_19;
  type_2 *var_14;
  type_2 *var_13;
  type_3 var_20;
  type_2 *var_30;
  type_2 *var_36;
  type_3 var_17;
  size_t var_4;
  type_3 *var_21;
  type_2 *var_15;
  char *var_8;
  char *var_7;
  char *pcVar15;
  size_t var_31;
  type_3 *puVar17;
  char *var_16;
  int var_24;
  type_4 uVar20;
  bool bVar21;
  char *local_38;
  type_2 *var_12;
  type_3 var_28;
  
  var_14 = (type_2 *)(var_1 + var_2);
  var_13 = (type_2 *)var_1;
  if (var_3 == (char *)0x0) {
    var_4 = (*get)(var_5,0x8000);
    if (var_4 == 0) {
      return 0;
    }
    var_8 = var_5 + var_4;
    var_24 = var_9;
    var_16 = var_5;
  }
  else {
    var_8 = var_3 + var_6;
    var_24 = var_9;
    var_16 = var_3;
  }
LAB_0001649b:
  var_7 = var_16;
  var_15 = var_13;
  switch(var_24) {
  default:
_L47:
    pcVar15 = var_5;
    var_12 = var_13;
LAB_00016b4e:
    if (var_7 < var_8) {
      var_19 = *var_7;
    }
    else {
      var_3 = (char *)0x0;
      var_4 = (*get)(var_5,0x8000);
      var_8 = var_5 + var_4;
      if (var_4 == 0) {
        var_13 = var_12;
        if (var_9 == 0) goto LAB_00016992;
        var_16 = (char *)var_10(0,"end of file not at end of a line; newline inserted",5);
        var_11(var_16);
        var_9 = 0;
        var_13 = var_12 + 1;
        *var_12 = 10;
        if (var_13 < var_14) goto LAB_00016992;
        goto LAB_000169c8;
      }
      var_7 = var_5;
      var_19 = var_5[0];
    }
    var_16 = (char *)((type_2 *)var_7 + 1);
    var_28 = (type_3)var_19;
    var_30 = (type_2 *)(var_5 + 1);
    var_17 = (type_3)(type_2)lex[var_28];
    var_13 = var_12;
_L101:
    var_15 = var_13;
    if ((type_2)var_17 < 0xf) {
LAB_00016b84:
      var_19 = (type_2)var_28;
      var_13 = var_15;
      switch((&switchD_00016b8d::switchdataD_0005b1a4)[var_17] + 0x80000) {
      case 0x16612:
        var_13 = var_15 + 1;
        if (var_9 != 10) {
          if (var_16 < var_8) {
            var_19 = *var_16;
LAB_0001663b:
            var_16 = (char *)((type_2 *)var_16 + 1);
            var_17 = (type_3)var_19;
            if (var_17 == 0x5c) {
              if (var_16 < var_8) {
                var_19 = *var_16;
              }
              else {
                var_3 = (char *)0x0;
                var_4 = (*get)(var_5,0x8000);
                if (var_4 == 0) {
                  var_16 = (char *)var_10(0,"end of file in escape character",5);
                  var_11(var_16);
                  uVar20 = 0x5c;
                  goto LAB_000173ae;
                }
                var_8 = var_5 + var_4;
                var_16 = var_5;
                var_19 = var_5[0];
              }
              var_16 = (char *)((type_2 *)var_16 + 1);
              var_17 = (type_3)var_19;
              if (var_17 == 0x66) {
                var_17 = 0xc;
              }
              else if (var_17 < 0x67) {
                if ((var_17 != 0x27) && (var_17 == 0x62)) {
                  var_17 = 8;
                }
              }
              else if (var_17 == 0x72) {
                var_17 = 0xd;
              }
              else if (var_17 == 0x74) {
                var_17 = 9;
              }
              else if (var_17 == 0x6e) {
                var_17 = 10;
              }
            }
            var_18(var_23,"%d",var_17);
            if (var_8 <= var_16) goto LAB_000173d4;
            var_19 = *var_16;
LAB_000166af:
            var_16 = (char *)((type_2 *)var_16 + 1);
            if (var_19 != 0x27) {
              ((type_2 *)var_16)[-1] = var_19;
              var_16 = (char *)((type_2 *)var_16 + -1);
            }
          }
          else {
            var_3 = (char *)0x0;
            var_4 = (*get)(var_5,0x8000);
            if (var_4 != 0) {
              var_8 = var_5 + var_4;
              var_16 = var_5;
              var_19 = var_5[0];
              goto LAB_0001663b;
            }
            uVar20 = 0;
            var_16 = (char *)var_10(0,"end of file after a one-character quote; \\0 inserted",5)
            ;
            var_11(var_16);
LAB_000173ae:
            var_18(var_23,"%d",uVar20);
LAB_000173d4:
            var_16 = var_5;
            var_3 = (char *)0x0;
            var_4 = (*get)(var_5,0x8000);
            var_8 = var_5 + var_4;
            if (var_4 != 0) {
              var_16 = var_5;
              var_19 = var_5[0];
              goto LAB_000166af;
            }
          }
          var_24 = var_9;
          local_38 = var_23;
          do {
            var_21 = (type_3 *)local_38;
            var_20 = *var_21 + 0xfefefeff & ~*var_21;
            var_17 = var_20 & 0x80808080;
            local_38 = (char *)(var_21 + 1);
          } while (var_17 == 0);
          bVar21 = (var_20 & 0x8080) == 0;
          if (bVar21) {
            var_17 = var_17 >> 0x10;
          }
          puVar17 = (type_3 *)((int)var_21 + 6);
          if (!bVar21) {
            puVar17 = var_21 + 1;
          }
          if ((char *)((int)puVar17 + (-3 - (type_3)var_22((type_2)var_17,(type_2)var_17))) == var_23 + 1)
          {
            *var_15 = var_23[0];
            var_24 = var_9;
            goto joined_r0x00016e98;
          }
          var_9 = -1;
          if (var_24 == 9) {
            var_24 = 3;
          }
          var_33 = var_23 + 1;
          old_state = var_24;
          *var_15 = var_23[0];
          var_7 = var_16;
          if (var_13 < var_14) goto _L52;
          goto LAB_00016520;
        }
        ((type_2 *)var_16)[-1] = var_19;
        var_9 = 3;
        *var_15 = 0x20;
        var_7 = (char *)((type_2 *)var_16 + -1);
        goto joined_r0x000172dc;
      case 0x16d47:
        var_12 = var_15 + 1;
        goto LAB_00016d70;
      case 0x16dd8:
        break;
      case 0x16e10:
        var_9 = 1;
        *var_15 = var_19;
        goto joined_r0x00016e2c;
      case 0x16e3c:
        if (var_25 != 0) {
          var_25 = var_25 + -1;
          ((type_2 *)var_16)[-1] = var_19;
          var_16 = (char *)((type_2 *)var_16 + -1);
        }
        break;
      case 0x16e62:
        if (var_9 - 9U < 2) {
          var_9 = 3;
        }
        else if (var_9 != 3) {
          var_9 = 1;
        }
        *var_15 = var_19;
        var_13 = var_15 + 1;
        var_24 = var_9;
        goto joined_r0x00016e98;
      case 0x16eae:
        var_13 = var_15 + 1;
        do_scrub_chars::quotechar = var_19;
        if (var_9 == 10) {
          var_9 = 3;
          ((type_2 *)var_16)[-1] = var_19;
          *var_15 = 0x20;
          var_7 = (char *)((type_2 *)var_16 + -1);
          if (var_14 <= var_13) goto LAB_00016520;
          if ((type_2 *)var_16 + -1 < var_8) {
            var_28 = (type_3)((type_2 *)var_16)[-1];
          }
          else {
            var_16 = var_5;
            var_3 = (char *)0x0;
            var_4 = (*get)(var_5,0x8000);
            var_28 = 0xffffffff;
            var_8 = var_5 + var_4;
            if (var_4 != 0) {
              var_28 = (type_3)(type_2)var_5[0];
              var_16 = var_5 + 1;
            }
          }
          old_state = 3;
          var_30 = var_15 + 2;
          var_15 = var_13;
        }
        else {
          var_30 = var_13;
          if (var_9 == 9) {
            old_state = 3;
          }
          else {
            old_state = var_9;
          }
        }
        var_9 = 5;
        *var_15 = (type_2)var_28;
        var_13 = var_30;
        goto joined_r0x0001680c;
      case 0x16f07:
        do {
          if (var_16 < var_8) {
            var_19 = *var_16;
            var_16 = (char *)((type_2 *)var_16 + 1);
            var_15 = var_13;
          }
          else {
            var_3 = (char *)0x0;
            var_4 = (*get)(var_5,0x8000);
            if (var_4 == 0) goto LAB_00016992;
            var_8 = var_5 + var_4;
            var_16 = (char *)var_30;
            var_19 = var_5[0];
            var_15 = var_13;
          }
          var_28 = (type_3)var_19;
          var_26 = lex[var_28];
          var_17 = (type_3)var_26;
          var_13 = var_15;
        } while (var_26 == 2);
        if (var_9 != 0) goto code_r0x000171ad;
        var_9 = 1;
        goto LAB_00017227;
      case 0x16f61:
        var_13 = var_15 + 1;
        if (var_9 == 10) {
          ((type_2 *)var_16)[-1] = var_19;
          var_7 = (char *)((type_2 *)var_16 + -1);
          var_9 = 3;
          *var_15 = 0x20;
          goto joined_r0x000172dc;
        }
        var_12 = var_13;
        if (var_9 == 3) {
          var_9 = 9;
          if (var_14 <= var_13) {
            *var_15 = var_19;
            var_7 = var_16;
            goto LAB_00016520;
          }
        }
        else if (var_14 <= var_13) goto LAB_00016fab;
        if (var_27 != (char *)0x0) goto LAB_00016fab;
        if ((var_16 < var_8) && (var_30 = (type_2 *)var_16, (type_2)lex[(type_2)*var_16] < 2))
        goto LAB_0001787c;
        var_24 = (int)var_14 - (int)var_15;
        if (var_24 < 1) goto LAB_000178a1;
        goto LAB_00016fab;
      case 0x16fe6:
        if (var_16 < var_8) {
          var_13 = (type_2 *)var_16 + 1;
          var_26 = *var_16;
LAB_00016ff8:
          if (var_26 == 0x2a) goto LAB_00017025;
          pcVar15 = (char *)(var_13 + -1);
          var_13[-1] = var_26;
        }
        else {
          var_3 = (char *)0x0;
          var_4 = (*get)(var_5,0x8000);
          var_8 = var_5 + var_4;
          var_13 = var_30;
          var_26 = var_5[0];
          if (var_4 != 0) goto LAB_00016ff8;
        }
        if (var_9 - 9U < 2) {
          var_9 = 3;
        }
        *var_15 = var_19;
        var_13 = var_15 + 1;
        var_16 = pcVar15;
        var_24 = var_9;
        goto joined_r0x00016e98;
      case 0x17082:
        if (var_28 == 0x2f) {
          if (var_16 < var_8) {
            var_19 = *var_16;
          }
          else {
            var_3 = (char *)0x0;
            var_4 = (*get)(var_5,0x8000);
            var_8 = var_5 + var_4;
            var_16 = pcVar15;
            var_13 = var_15;
            if (var_4 == 0) goto LAB_0001708b;
            var_16 = var_5;
            var_19 = var_5[0];
          }
          var_16 = (char *)((type_2 *)var_16 + 1);
          if (var_19 == 0x2a) {
            old_state = 3;
            var_9 = -2;
            goto _L53;
          }
          ((type_2 *)var_16)[-1] = var_19;
          var_16 = (char *)((type_2 *)var_16 + -1);
          var_13 = var_15;
        }
LAB_0001708b:
        var_24 = var_9;
        if (1 < (type_3)var_9) {
          var_7 = var_29(i386_comment_chars,var_28);
          var_12 = var_13 + 1;
          if (var_7 != (char *)0x0) goto LAB_00016d70;
          goto LAB_0001741d;
        }
        var_12 = var_13;
        goto LAB_0001751e;
      case 0x170df:
        goto LAB_000170e3;
      }
      var_9 = 0;
      var_13 = var_15 + 1;
      *var_15 = var_19;
      var_7 = var_16;
      goto joined_r0x000172dc;
    }
LAB_000170e3:
    var_12 = var_15 + 1;
    goto LAB_00016fab;
  case 4:
    if (var_16 < var_8) {
      var_19 = *var_16;
    }
    else {
      var_3 = (char *)0x0;
      var_4 = (*get)(var_5,0x8000);
      if (var_4 == 0) {
LAB_00016992:
        return (int)var_13 - (int)var_1;
      }
      var_8 = var_5 + var_4;
      var_16 = var_5;
      var_19 = var_5[0];
      var_15 = var_13;
    }
    var_16 = (char *)((type_2 *)var_16 + 1);
    var_17 = (type_3)var_19;
    var_13 = var_15 + 1;
    if (var_17 - 0x30 < 10) {
      *var_15 = var_19;
      var_24 = var_9;
      break;
    }
    var_7 = var_5;
    while (lex[var_17] == '\x02') {
      while (var_16 < var_8) {
        var_17 = (type_3)(type_2)*var_16;
        var_16 = (char *)((type_2 *)var_16 + 1);
        if (lex[var_17] != '\x02') goto LAB_000167d8;
      }
      var_3 = (char *)0x0;
      var_4 = (*get)(var_5,0x8000);
      var_8 = var_5 + var_4;
      if (var_4 == 0) {
        var_17 = 0xffffffff;
        goto LAB_00016b1d;
      }
      var_16 = var_5 + 1;
      var_17 = (type_3)(type_2)var_5[0];
    }
LAB_000167d8:
    if (var_17 == 0x22) {
      do_scrub_chars::quotechar = '\"';
      var_9 = 5;
      old_state = 3;
      *var_15 = 0x22;
joined_r0x0001680c:
      var_7 = var_16;
      if (var_13 < var_14) goto _L50;
    }
    else {
      var_7 = var_16;
      while (var_17 != 0xffffffff) {
        while( true ) {
          if (var_17 == 10) goto LAB_00016b1d;
          if (var_8 <= var_7) break;
          var_17 = (type_3)(type_2)*var_7;
          var_7 = (char *)((type_2 *)var_7 + 1);
          if (var_17 == 0xffffffff) goto LAB_00016b1d;
        }
        var_3 = (char *)0x0;
        var_4 = (*get)(var_5,0x8000);
        var_8 = var_5 + var_4;
        if (var_4 == 0) {
          var_17 = 0xffffffff;
          var_7 = var_5;
        }
        else {
          var_17 = (type_3)(type_2)var_5[0];
          var_7 = var_5 + 1;
        }
      }
LAB_00016b1d:
      var_9 = 0;
      *var_15 = (type_2)var_17;
      if (var_13 < var_14) goto _L47;
    }
    goto LAB_00016520;
  case 5:
_L50:
    var_15 = var_13;
    if (var_16 < var_8) {
      var_19 = *var_16;
      var_7 = var_16;
      if (((var_19 != 0x5c) && (var_19 != function_1::quotechar)) &&
         (var_30 = (type_2 *)var_16, var_19 != 10)) {
        while ((var_30 = var_30 + 1, var_36 = (type_2 *)var_8, var_30 != (type_2 *)var_8 &&
               (var_19 = *var_30, var_36 = var_30, var_19 != 0x5c))) {
          if ((var_19 == function_1::quotechar) || (var_19 == 10)) break;
        }
        var_31 = (int)var_14 - (int)var_13;
        if ((int)var_36 - (int)var_16 <= (int)var_14 - (int)var_13) {
          var_31 = (int)var_36 - (int)var_16;
        }
        if (0 < (int)var_31) {
          var_7 = (char *)((type_2 *)var_16 + var_31);
          var_32(var_13,var_16,var_31);
          var_13 = var_13 + var_31;
          if (var_14 <= var_13) goto LAB_00016520;
          var_15 = var_13;
          if (var_8 <= var_7) goto LAB_00016a7d;
        }
      }
      var_13 = var_15 + 1;
      var_19 = *var_7;
    }
    else {
LAB_00016a7d:
      var_3 = (char *)0x0;
      var_4 = (*get)(var_5,0x8000);
      var_13 = var_15 + 1;
      if (var_4 == 0) {
        var_24 = (int)function_1::quotechar;
        var_16 = (char *)var_10(0,"end of file in string; \'%c\' inserted",5);
        var_11(var_16,var_24);
        var_24 = old_state;
        do_scrub_chars::lexical_block_16::one_char_buf[0] = '\n';
        var_9 = old_state;
        *var_15 = function_1::quotechar;
        if (var_14 <= var_13) {
          var_6 = 1;
          var_3 = function_1::lexical_block_16::one_char_buf;
          goto LAB_00016538;
        }
        var_8 = &function_1::quotechar;
        var_16 = function_1::lexical_block_16::one_char_buf;
        goto LAB_0001649b;
      }
      var_8 = var_5 + var_4;
      var_7 = var_5;
      var_19 = var_5[0];
    }
    var_24 = old_state;
    var_16 = (char *)((type_2 *)var_7 + 1);
    if ((int)function_1::quotechar == (type_3)var_19) {
      var_9 = old_state;
      *var_15 = var_19;
    }
    else {
      if (var_19 == 0x5c) {
        var_9 = 6;
        *var_15 = 0x5c;
        var_7 = var_16;
        if (var_14 <= var_13) goto LAB_00016520;
        goto _L48;
      }
      *var_15 = var_19;
      var_24 = var_9;
    }
    break;
  case 6:
_L48:
    var_9 = 5;
    var_15 = var_13 + 1;
    if (var_16 < var_8) {
      var_19 = *var_16;
joined_r0x00016a19:
      var_16 = (char *)((type_2 *)var_16 + 1);
      if (var_19 == 10) {
        ((type_2 *)var_16)[-1] = 0x6e;
        var_16 = (char *)((type_2 *)var_16 + -1);
        var_25 = var_25 + 1;
        *var_13 = 0x5c;
        var_13 = var_15;
        var_24 = var_9;
      }
      else {
        *var_13 = var_19;
        var_13 = var_15;
        var_24 = var_9;
      }
      break;
    }
    var_3 = (char *)0x0;
    var_4 = (*get)(var_5,0x8000);
    if (var_4 != 0) {
      var_8 = var_5 + var_4;
      var_16 = var_5;
      var_19 = var_5[0];
      goto joined_r0x00016a19;
    }
    var_24 = (int)function_1::quotechar;
    var_16 = (char *)var_10(0,"end of file in string; \'%c\' inserted",5);
    var_11(var_16,var_24);
    *var_13 = function_1::quotechar;
    var_13 = var_15;
    var_24 = var_9;
joined_r0x00016c7b:
    var_8 = var_5;
    var_16 = var_8;
    var_9 = var_24;
    if (var_14 <= var_13) {
LAB_000169c8:
      var_3 = (char *)0x0;
LAB_00016538:
      return (int)var_13 - (int)var_1;
    }
    goto LAB_0001649b;
  case -2:
_L53:
    var_13 = var_15;
LAB_00016570:
    if (var_8 <= var_16) goto LAB_000165c0;
    do {
      var_15 = var_13;
      var_19 = *var_16;
      while( true ) {
        var_7 = (char *)((type_2 *)var_16 + 1);
        var_16 = var_7;
        if (var_19 == 10) {
          var_13 = var_15 + 1;
          *var_15 = 10;
          if (var_13 < var_14) goto LAB_00016570;
          goto LAB_00016520;
        }
        var_13 = var_15;
        if (var_19 != 0x2a) goto LAB_00016570;
        do {
          if (var_7 < var_8) {
            var_19 = *var_7;
          }
          else {
            var_3 = (char *)0x0;
            var_4 = (*get)(var_5,0x8000);
            if (var_4 == 0) goto LAB_00016974;
            var_8 = var_5 + var_4;
            var_7 = var_5;
            var_19 = var_5[0];
          }
          var_24 = old_state;
          var_7 = (char *)((type_2 *)var_7 + 1);
        } while (var_19 == 0x2a);
        var_16 = (char *)((type_2 *)var_7 + -1);
        if (var_19 == 0x2f) {
          var_9 = old_state;
          ((type_2 *)var_7)[-1] = 0x20;
          goto LAB_0001649b;
        }
        ((type_2 *)var_7)[-1] = var_19;
        if (var_16 < var_8) break;
LAB_000165c0:
        var_3 = (char *)0x0;
        var_4 = (*get)(var_5,0x8000);
        if (var_4 == 0) {
LAB_00016974:
          var_16 = (char *)var_10(0,"end of file in comment",5);
          var_11(var_16);
          goto LAB_00016992;
        }
        var_8 = var_5 + var_4;
        var_16 = var_5;
        var_15 = var_13;
        var_19 = var_5[0];
      }
    } while( true );
  case -1:
_L52:
    var_24 = old_state;
    var_7 = var_33 + 1;
    pcVar15 = var_33 + 1;
    var_19 = *var_33;
    var_33 = var_7;
    if (*pcVar15 == '\0') {
      old_state = 3;
      var_9 = var_24;
    }
LAB_0001677e:
    *var_13 = var_19;
    var_13 = var_13 + 1;
    var_24 = var_9;
  }
joined_r0x00016e98:
  var_7 = var_16;
  if (var_13 < var_14) goto LAB_0001649b;
LAB_00016520:
  if (var_7 < var_8) {
    var_6 = (int)var_8 - (int)var_7;
    var_3 = var_7;
    goto LAB_00016538;
  }
  goto LAB_000169c8;
LAB_00017025:
  if (var_13 < var_8) {
    var_17 = (type_3)*var_13;
    var_34 = lex[var_17];
    var_13 = var_13 + 1;
  }
  else {
    var_3 = (char *)0x0;
    var_4 = (*get)(var_5,0x8000);
    var_8 = var_5 + var_4;
    if (var_4 == 0) {
LAB_0001704e:
      var_16 = (char *)var_10(0,"end of file in multiline comment",5);
      var_11(var_16);
      var_16 = pcVar15;
LAB_0001706e:
      var_17 = (type_3)(type_2)lex[0x20];
      var_28 = 0x20;
      var_13 = var_15;
      goto _L101;
    }
    var_17 = (type_3)(type_2)var_5[0];
    var_34 = lex[var_17];
    var_13 = var_30;
  }
  if (var_34 == '\n') {
    var_25 = var_25 + 1;
  }
  if (var_17 == 0x2a) {
    do {
      if (var_13 < var_8) {
        var_16 = (char *)(var_13 + 1);
        var_19 = *var_13;
      }
      else {
        var_3 = (char *)0x0;
        var_4 = (*get)(var_5,0x8000);
        var_8 = var_5 + var_4;
        var_16 = (char *)var_30;
        var_19 = var_5[0];
        if (var_4 == 0) goto LAB_0001704e;
      }
      var_13 = (type_2 *)var_16;
    } while (var_19 == 0x2a);
    if (var_19 == 0x2f) goto LAB_0001706e;
    var_13 = (type_2 *)var_16 + -1;
    ((type_2 *)var_16)[-1] = var_19;
  }
  goto LAB_00017025;
LAB_0001751e:
  do {
    if (var_16 < var_8) {
      var_19 = *var_16;
    }
    else {
      var_3 = (char *)0x0;
      var_4 = (*get)(var_5,0x8000);
      if (var_4 == 0) {
        var_16 = (char *)var_10(0,"end of file in comment; newline inserted",5);
        var_11(var_16);
        var_13 = var_12 + 1;
        *var_12 = 10;
        var_24 = var_9;
        goto joined_r0x00016c7b;
      }
      var_8 = var_5 + var_4;
      var_19 = var_5[0];
      var_16 = var_5;
    }
    var_16 = (char *)((type_2 *)var_16 + 1);
    var_34 = lex[var_19];
  } while (var_34 == '\x02');
  if (((var_19 - 0x30 < 10) && (var_9 == 0)) && (var_28 == 0x23)) {
    ((type_2 *)var_16)[-1] = var_19;
    var_16 = (char *)((type_2 *)var_16 + -1);
    old_state = 4;
    var_9 = -1;
    var_13 = var_12 + 1;
    var_33 = ".linefile ";
    *var_12 = 9;
    var_7 = var_16;
    if (var_14 <= var_13) goto LAB_00016520;
    var_33 = "linefile ";
    var_19 = s__linefile_0005b02f[1];
    goto LAB_0001677e;
  }
  while (var_34 != '\n') {
    if (var_16 < var_8) {
      var_19 = *var_16;
    }
    else {
      var_3 = (char *)0x0;
      var_4 = (*get)(var_5,0x8000);
      if (var_4 == 0) {
        var_16 = (char *)var_10(0,"end of file in comment; newline inserted",5);
        var_11(var_16);
        var_13 = var_12 + 1;
        *var_12 = 10;
        var_7 = pcVar15;
        var_8 = pcVar15;
        var_12 = var_13;
        if (var_13 < var_14) goto LAB_00017782;
        goto LAB_000169c8;
      }
      var_8 = var_5 + var_4;
      var_19 = var_5[0];
      var_16 = var_5;
    }
    var_16 = (char *)((type_2 *)var_16 + 1);
    var_34 = lex[var_19];
  }
  ((type_2 *)var_16)[-1] = var_19;
  var_7 = (char *)((type_2 *)var_16 + -1);
LAB_00017782:
  var_9 = 0;
  goto LAB_00016b4e;
LAB_00016d70:
  do {
    if (var_16 < var_8) {
      var_19 = *var_16;
    }
    else {
      var_3 = (char *)0x0;
      var_4 = (*get)(var_5,0x8000);
      if (var_4 == 0) {
        var_16 = (char *)var_10(0,"end of file in comment; newline inserted",5);
        var_11(var_16);
        var_16 = pcVar15;
        var_8 = pcVar15;
        break;
      }
      var_8 = var_5 + var_4;
      var_16 = var_5;
      var_19 = var_5[0];
    }
    var_16 = (char *)((type_2 *)var_16 + 1);
  } while (lex[var_19] != '\n');
  var_9 = 0;
  *var_13 = 10;
  var_13 = var_12;
  var_7 = var_16;
joined_r0x000172dc:
  var_12 = var_13;
  if (var_14 <= var_13) goto LAB_00016520;
  goto LAB_00016b4e;
code_r0x000171ad:
  if (var_26 != 4) goto code_r0x000171b5;
  goto LAB_00016b84;
code_r0x000171b5:
  if (var_28 == 0x2f) {
    var_17 = (type_3)(type_2)lex[0x2f];
    goto _L101;
  }
  if ((var_26 == 0xe) || (var_26 == 3)) goto _L101;
  if ((var_9 == 2 || var_9 == 0xb) && (var_26 == 9)) {
    var_9 = 1;
    *var_15 = var_19;
joined_r0x00016e2c:
    var_13 = var_15 + 1;
    var_7 = var_16;
    goto joined_r0x000172dc;
  }
  switch(var_9) {
  default:
    var_24 = var_9;
    var_16 = (char *)var_10(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,var_17,
                                var_9);
                    /* WARNING: Subroutine does not return */
    var_35(var_16,var_24,0x3cd,"../../gas/app.c");
  case 1:
  case 3:
    goto _L101;
  case 2:
    var_9 = 3;
    var_13 = var_15 + 1;
    if (var_14 <= var_13) {
      var_7 = (char *)((type_2 *)var_16 + -1);
      ((type_2 *)var_16)[-1] = var_19;
      *var_15 = 0x20;
      goto LAB_00016520;
    }
    *var_15 = 0x20;
    var_17 = (type_3)(type_2)lex[var_28];
    goto _L101;
  case 9:
  case 10:
    var_9 = 10;
    goto _L101;
  case 0xb:
    break;
  }
  var_9 = 3;
LAB_00017227:
  ((type_2 *)var_16)[-1] = var_19;
  *var_15 = 0x20;
  var_13 = var_15 + 1;
  var_7 = (char *)((type_2 *)var_16 + -1);
  goto joined_r0x000172dc;
  while ((type_2)lex[var_36[1]] < 2) {
LAB_0001787c:
    var_36 = var_30;
    var_30 = var_36 + 1;
    if ((type_2 *)var_8 == var_30) break;
  }
  if (var_30 <= var_16) {
    var_36 = var_30;
  }
  var_24 = (int)var_14 - (int)var_15;
  var_31 = (int)var_36 - (int)var_16;
  if (var_24 <= (int)var_31) {
LAB_000178a1:
    var_31 = var_24 - 1;
  }
  if (0 < (int)var_31) {
    *var_15 = var_19;
    var_32(var_13,var_16,var_31);
    var_13 = var_13 + var_31;
    var_7 = (char *)((type_2 *)var_16 + var_31);
    if (var_14 <= var_13) goto LAB_00016520;
    var_12 = var_13 + 1;
    if (var_7 < var_8) {
      var_28 = (type_3)(type_2)*var_7;
      var_16 = (char *)((type_2 *)var_7 + 1);
      var_15 = var_13;
    }
    else {
      var_16 = var_5;
      var_3 = (char *)0x0;
      var_4 = (*get)(var_5,0x8000);
      var_8 = var_5 + var_4;
      var_15 = var_13;
      if (var_4 == 0) {
        var_28 = 0xffffffff;
        var_8 = var_16;
      }
      else {
        var_28 = (type_3)(type_2)var_5[0];
        var_16 = var_5 + 1;
      }
    }
  }
LAB_00016fab:
  var_13 = var_15;
  if (var_9 == 0) {
    var_9 = 0xb;
  }
  else {
    var_24 = var_9;
    if (var_9 == 1) {
      var_9 = 2;
    }
    else {
LAB_0001741d:
      if (var_24 == 9) {
        if (lex[var_28] != '\x01') goto LAB_0001743a;
      }
      else if (var_24 == 10) {
        if (var_28 == 0x5c) {
          if (var_14 <= var_12) {
            ((type_2 *)var_16)[-1] = 0x5c;
            var_7 = (char *)((type_2 *)var_16 + -1);
            goto LAB_00016520;
          }
          *var_13 = 0x20;
          var_13 = var_12;
          var_12 = var_12 + 1;
        }
LAB_0001743a:
        var_9 = 3;
      }
    }
  }
  *var_13 = (type_2)var_28;
  var_13 = var_12;
  var_24 = var_9;
  goto joined_r0x00016e98;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

int MASKED(code *param_1,byte *param_2,int param_3)

{
  byte bVar1;
  char cVar2;
  byte bVar3;
  byte *pbVar4;
  byte *pbVar5;
  uint uVar6;
  uint uVar7;
  byte *pbVar8;
  byte *pbVar9;
  uint uVar10;
  int iVar11;
  undefined4 uVar12;
  char *pcVar13;
  undefined4 uVar14;
  uint *puVar15;
  byte *pbVar16;
  byte *pbVar17;
  byte *pbVar18;
  byte *pbVar19;
  size_t sVar20;
  uint *puVar21;
  bool bVar22;
  uint *local_38;
  byte *local_30;
  uint local_2c;
  
  pbVar4 = param_2 + param_3;
  pbVar5 = param_2;
  if (DAT_00088784 == (byte *)0x0) {
    iVar11 = (*param_1)(&DAT_00080780,0x8000);
    if (iVar11 == 0) {
      return 0;
    }
    pbVar17 = &DAT_00080780 + iVar11;
    uVar10 = DAT_000887a8;
    pbVar18 = &DAT_00080780;
  }
  else {
    pbVar17 = DAT_00088784 + DAT_00088780;
    uVar10 = DAT_000887a8;
    pbVar18 = DAT_00088784;
  }
LAB_0001649b:
  pbVar19 = pbVar18;
  pbVar16 = pbVar5;
  switch(uVar10) {
  default:
LAB_00016b40:
    pbVar8 = &DAT_00080780;
    local_30 = pbVar5;
code_r0x00016b4e:
    if (pbVar19 < pbVar17) {
      pbVar18 = pbVar19 + 1;
      bVar3 = *pbVar19;
    }
    else {
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000);
      pbVar17 = &DAT_00080780 + iVar11;
      if (iVar11 == 0) {
        pbVar5 = local_30;
        if (DAT_000887a8 == 0) goto LAB_00016992;
        uVar12 = dcgettext(0,"end of file not at end of a line; newline inserted",5);
        FUN_0002bc80(uVar12);
        DAT_000887a8 = 0;
        pbVar5 = local_30 + 1;
        *local_30 = 10;
        if (pbVar5 < pbVar4) goto LAB_00016992;
        goto LAB_000169c8;
      }
      pbVar18 = &DAT_00080781;
      bVar3 = DAT_00080780;
    }
    local_2c = (uint)bVar3;
    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];
    pbVar5 = local_30;
code_r0x00016b78:
    pbVar16 = pbVar5;
    if ((byte)uVar10 < 0xf) {
code_r0x00016b84:
      bVar3 = (byte)local_2c;
      pbVar5 = pbVar16;
      switch(*(int *)(&DAT_0005b1a4 + uVar10 * 4) + 0x80000) {
      case 0x16612:
        pbVar5 = pbVar16 + 1;
        if (DAT_000887a8 != 10) {
          if (pbVar18 < pbVar17) {
            pbVar19 = pbVar18 + 1;
            bVar3 = *pbVar18;
code_r0x0001663b:
            uVar10 = (uint)bVar3;
            if (uVar10 == 0x5c) {
              if (pbVar19 < pbVar17) {
                bVar3 = *pbVar19;
                pbVar19 = pbVar19 + 1;
              }
              else {
                DAT_00088784 = (byte *)0x0;
                iVar11 = (*param_1)(&DAT_00080780,0x8000);
                if (iVar11 == 0) {
                  uVar12 = dcgettext(0,"end of file in escape character",5);
                  FUN_0002bc80(uVar12);
                  uVar12 = 0x5c;
                  goto code_r0x000173ae;
                }
                pbVar17 = &DAT_00080780 + iVar11;
                pbVar19 = &DAT_00080781;
                bVar3 = DAT_00080780;
              }
              uVar10 = (uint)bVar3;
              if (uVar10 == 0x66) {
                uVar10 = 0xc;
              }
              else if (uVar10 < 0x67) {
                if ((uVar10 != 0x27) && (uVar10 == 0x62)) {
                  uVar10 = 8;
                }
              }
              else if (uVar10 == 0x72) {
                uVar10 = 0xd;
              }
              else if (uVar10 == 0x74) {
                uVar10 = 9;
              }
              else if (uVar10 == 0x6e) {
                uVar10 = 10;
              }
            }
            sprintf((char *)&DAT_0008878c,"%d",uVar10);
            if (pbVar17 <= pbVar19) goto code_r0x000173d4;
            pbVar18 = pbVar19 + 1;
            bVar3 = *pbVar19;
code_r0x000166af:
            if (bVar3 != 0x27) {
              pbVar18[-1] = bVar3;
              pbVar18 = pbVar18 + -1;
            }
          }
          else {
            DAT_00088784 = (byte *)0x0;
            iVar11 = (*param_1)(&DAT_00080780,0x8000);
            if (iVar11 != 0) {
              pbVar17 = &DAT_00080780 + iVar11;
              pbVar19 = &DAT_00080781;
              bVar3 = DAT_00080780;
              goto code_r0x0001663b;
            }
            uVar12 = 0;
            uVar14 = dcgettext(0,"end of file after a one-character quote; \\0 inserted",5);
            FUN_0002bc80(uVar14);
code_r0x000173ae:
            sprintf((char *)&DAT_0008878c,"%d",uVar12);
code_r0x000173d4:
            pbVar18 = &DAT_00080780;
            DAT_00088784 = (byte *)0x0;
            iVar11 = (*param_1)(&DAT_00080780,0x8000);
            pbVar17 = &DAT_00080780 + iVar11;
            if (iVar11 != 0) {
              pbVar18 = &DAT_00080781;
              bVar3 = DAT_00080780;
              goto code_r0x000166af;
            }
          }
          uVar10 = DAT_000887a8;
          local_38 = &DAT_0008878c;
          do {
            puVar15 = local_38;
            uVar6 = *puVar15 + 0xfefefeff & ~*puVar15;
            uVar7 = uVar6 & 0x80808080;
            local_38 = puVar15 + 1;
          } while (uVar7 == 0);
          bVar22 = (uVar6 & 0x8080) == 0;
          if (bVar22) {
            uVar7 = uVar7 >> 0x10;
          }
          puVar21 = (uint *)((int)puVar15 + 6);
          if (!bVar22) {
            puVar21 = puVar15 + 1;
          }
          if ((int)puVar21 + (-3 - (uint)CARRY1((byte)uVar7,(byte)uVar7)) == 0x8878d) {
            *pbVar16 = (byte)DAT_0008878c;
            uVar10 = DAT_000887a8;
            goto joined_r0x00016e98;
          }
          DAT_000887a8 = 0xffffffff;
          if (uVar10 == 9) {
            uVar10 = 3;
          }
          DAT_000887a0 = (byte *)((int)&DAT_0008878c + 1);
          DAT_000887a4 = uVar10;
          *pbVar16 = (byte)DAT_0008878c;
          pbVar19 = pbVar18;
          if (pbVar5 < pbVar4) goto code_r0x00016750;
          goto LAB_00016520;
        }
        pbVar18[-1] = bVar3;
        DAT_000887a8 = 3;
        *pbVar16 = 0x20;
        pbVar19 = pbVar18 + -1;
        goto joined_r0x000172dc;
      case 0x16d47:
        local_30 = pbVar16 + 1;
        goto code_r0x00016d70;
      case 0x16dd8:
        break;
      case 0x16e10:
        DAT_000887a8 = 1;
        *pbVar16 = bVar3;
        goto joined_r0x00016e2c;
      case 0x16e3c:
        if (DAT_00088788 != 0) {
          DAT_00088788 = DAT_00088788 + -1;
          pbVar18[-1] = bVar3;
          pbVar18 = pbVar18 + -1;
        }
        break;
      case 0x16e62:
        if (DAT_000887a8 - 9 < 2) {
          DAT_000887a8 = 3;
        }
        else if (DAT_000887a8 != 3) {
          DAT_000887a8 = 1;
        }
        *pbVar16 = bVar3;
        pbVar5 = pbVar16 + 1;
        uVar10 = DAT_000887a8;
        goto joined_r0x00016e98;
      case 0x16eae:
        pbVar5 = pbVar16 + 1;
        bRam00080761 = bVar3;
        if (DAT_000887a8 == 10) {
          DAT_000887a8 = 3;
          pbVar18[-1] = bVar3;
          *pbVar16 = 0x20;
          pbVar19 = pbVar18 + -1;
          if (pbVar4 <= pbVar5) goto LAB_00016520;
          if (pbVar18 + -1 < pbVar17) {
            local_2c = (uint)pbVar18[-1];
          }
          else {
            pbVar18 = &DAT_00080780;
            DAT_00088784 = (byte *)0x0;
            iVar11 = (*param_1)(&DAT_00080780,0x8000);
            local_2c = 0xffffffff;
            pbVar17 = &DAT_00080780 + iVar11;
            if (iVar11 != 0) {
              local_2c = (uint)DAT_00080780;
              pbVar18 = &DAT_00080781;
            }
          }
          DAT_000887a4 = 3;
          pbVar19 = pbVar16 + 2;
          pbVar16 = pbVar5;
        }
        else {
          pbVar19 = pbVar5;
          if (DAT_000887a8 == 9) {
            DAT_000887a4 = 3;
          }
          else {
            DAT_000887a4 = DAT_000887a8;
          }
        }
        DAT_000887a8 = 5;
        *pbVar16 = (byte)local_2c;
        pbVar5 = pbVar19;
        goto joined_r0x0001680c;
      case 0x16f07:
        do {
          if (pbVar18 < pbVar17) {
            bVar3 = *pbVar18;
            pbVar18 = pbVar18 + 1;
            pbVar16 = pbVar5;
          }
          else {
            DAT_00088784 = (byte *)0x0;
            iVar11 = (*param_1)(&DAT_00080780,0x8000);
            if (iVar11 == 0) goto LAB_00016992;
            pbVar17 = &DAT_00080780 + iVar11;
            pbVar18 = &DAT_00080781;
            bVar3 = DAT_00080780;
            pbVar16 = pbVar5;
          }
          local_2c = (uint)bVar3;
          bVar1 = (&DAT_000887c0)[local_2c];
          uVar10 = (uint)bVar1;
          pbVar5 = pbVar16;
        } while (bVar1 == 2);
        if (DAT_000887a8 != 0) goto code_r0x000171ad;
        DAT_000887a8 = 1;
        goto code_r0x00017227;
      case 0x16f61:
        pbVar5 = pbVar16 + 1;
        if (DAT_000887a8 == 10) {
          pbVar18[-1] = bVar3;
          pbVar19 = pbVar18 + -1;
          DAT_000887a8 = 3;
          *pbVar16 = 0x20;
          goto joined_r0x000172dc;
        }
        local_30 = pbVar5;
        if (DAT_000887a8 == 3) {
          DAT_000887a8 = 9;
          if (pbVar4 <= pbVar5) {
            *pbVar16 = bVar3;
            pbVar19 = pbVar18;
            goto LAB_00016520;
          }
        }
        else if (pbVar4 <= pbVar5) goto LAB_00016fab;
        if (DAT_00080764 != 0) goto LAB_00016fab;
        if ((pbVar18 < pbVar17) && (pbVar19 = pbVar18, (byte)(&DAT_000887c0)[*pbVar18] < 2))
        goto code_r0x0001787c;
        iVar11 = (int)pbVar4 - (int)pbVar16;
        if (iVar11 < 1) goto code_r0x000178a1;
        goto LAB_00016fab;
      case 0x16fe6:
        if (pbVar18 < pbVar17) {
          pbVar5 = pbVar18 + 1;
          bVar1 = *pbVar18;
code_r0x00016ff8:
          if (bVar1 == 0x2a) goto code_r0x00017025;
          pbVar8 = pbVar5 + -1;
          pbVar5[-1] = bVar1;
        }
        else {
          DAT_00088784 = (byte *)0x0;
          iVar11 = (*param_1)(&DAT_00080780,0x8000);
          pbVar17 = &DAT_00080780 + iVar11;
          pbVar5 = &DAT_00080781;
          bVar1 = DAT_00080780;
          if (iVar11 != 0) goto code_r0x00016ff8;
        }
        if (DAT_000887a8 - 9 < 2) {
          DAT_000887a8 = 3;
        }
        *pbVar16 = bVar3;
        pbVar5 = pbVar16 + 1;
        pbVar18 = pbVar8;
        uVar10 = DAT_000887a8;
        goto joined_r0x00016e98;
      case 0x17082:
        if (local_2c == 0x2f) {
          if (pbVar18 < pbVar17) {
            bVar3 = *pbVar18;
            pbVar18 = pbVar18 + 1;
          }
          else {
            DAT_00088784 = (byte *)0x0;
            iVar11 = (*param_1)(&DAT_00080780,0x8000);
            pbVar17 = &DAT_00080780 + iVar11;
            pbVar18 = pbVar8;
            pbVar5 = pbVar16;
            if (iVar11 == 0) goto code_r0x0001708b;
            pbVar18 = &DAT_00080781;
            bVar3 = DAT_00080780;
          }
          if (bVar3 == 0x2a) {
            DAT_000887a4 = 3;
            DAT_000887a8 = 0xfffffffe;
            goto code_r0x00016560;
          }
          pbVar18[-1] = bVar3;
          pbVar18 = pbVar18 + -1;
          pbVar5 = pbVar16;
        }
code_r0x0001708b:
        uVar10 = DAT_000887a8;
        if (1 < DAT_000887a8) {
          pcVar13 = strchr(PTR_DAT_00080718,local_2c);
          local_30 = pbVar5 + 1;
          if (pcVar13 != (char *)0x0) goto code_r0x00016d70;
          goto code_r0x0001741d;
        }
        local_30 = pbVar5;
        goto code_r0x0001751e;
      case 0x170df:
        goto LAB_000170e3;
      }
      DAT_000887a8 = 0;
      pbVar5 = pbVar16 + 1;
      *pbVar16 = bVar3;
      pbVar19 = pbVar18;
      goto joined_r0x000172dc;
    }
LAB_000170e3:
    local_30 = pbVar16 + 1;
    goto LAB_00016fab;
  case 4:
    if (pbVar18 < pbVar17) {
      bVar3 = *pbVar18;
      pbVar18 = pbVar18 + 1;
    }
    else {
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000);
      if (iVar11 == 0) {
LAB_00016992:
        return (int)pbVar5 - (int)param_2;
      }
      pbVar17 = &DAT_00080780 + iVar11;
      pbVar18 = &DAT_00080781;
      bVar3 = DAT_00080780;
      pbVar16 = pbVar5;
    }
    uVar10 = (uint)bVar3;
    pbVar5 = pbVar16 + 1;
    if (uVar10 - 0x30 < 10) {
      *pbVar16 = bVar3;
      uVar10 = DAT_000887a8;
      break;
    }
    pbVar19 = &DAT_00080780;
    while ((&DAT_000887c0)[uVar10] == '\x02') {
      while (pbVar18 < pbVar17) {
        uVar10 = (uint)*pbVar18;
        pbVar18 = pbVar18 + 1;
        if ((&DAT_000887c0)[uVar10] != '\x02') goto code_r0x000167d8;
      }
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000);
      pbVar17 = &DAT_00080780 + iVar11;
      if (iVar11 == 0) {
        uVar10 = 0xffffffff;
        goto code_r0x00016b1d;
      }
      pbVar18 = &DAT_00080781;
      uVar10 = (uint)DAT_00080780;
    }
code_r0x000167d8:
    if (uVar10 == 0x22) {
      bRam00080761 = 0x22;
      DAT_000887a8 = 5;
      DAT_000887a4 = 3;
      *pbVar16 = 0x22;
joined_r0x0001680c:
      pbVar19 = pbVar18;
      if (pbVar5 < pbVar4) goto code_r0x00016818;
    }
    else {
      pbVar19 = pbVar18;
      while (uVar10 != 0xffffffff) {
        while( true ) {
          if (uVar10 == 10) goto code_r0x00016b1d;
          if (pbVar17 <= pbVar19) break;
          uVar10 = (uint)*pbVar19;
          pbVar19 = pbVar19 + 1;
          if (uVar10 == 0xffffffff) goto code_r0x00016b1d;
        }
        DAT_00088784 = (byte *)0x0;
        iVar11 = (*param_1)(&DAT_00080780,0x8000);
        pbVar17 = &DAT_00080780 + iVar11;
        if (iVar11 == 0) {
          uVar10 = 0xffffffff;
          pbVar19 = &DAT_00080780;
        }
        else {
          uVar10 = (uint)DAT_00080780;
          pbVar19 = &DAT_00080781;
        }
      }
code_r0x00016b1d:
      DAT_000887a8 = 0;
      *pbVar16 = (byte)uVar10;
      if (pbVar5 < pbVar4) goto LAB_00016b40;
    }
    goto LAB_00016520;
  case 5:
code_r0x00016818:
    pbVar16 = pbVar5;
    if (pbVar18 < pbVar17) {
      bVar3 = *pbVar18;
      pbVar19 = pbVar18;
      if (((bVar3 != 0x5c) && (bVar3 != bRam00080761)) && (pbVar8 = pbVar18, bVar3 != 10)) {
        while ((pbVar8 = pbVar8 + 1, pbVar9 = pbVar17, pbVar8 != pbVar17 &&
               (bVar3 = *pbVar8, pbVar9 = pbVar8, bVar3 != 0x5c))) {
          if ((bVar3 == bRam00080761) || (bVar3 == 10)) break;
        }
        sVar20 = (int)pbVar4 - (int)pbVar5;
        if ((int)pbVar9 - (int)pbVar18 <= (int)pbVar4 - (int)pbVar5) {
          sVar20 = (int)pbVar9 - (int)pbVar18;
        }
        if (0 < (int)sVar20) {
          pbVar19 = pbVar18 + sVar20;
          memcpy(pbVar5,pbVar18,sVar20);
          pbVar5 = pbVar5 + sVar20;
          if (pbVar4 <= pbVar5) goto LAB_00016520;
          pbVar16 = pbVar5;
          if (pbVar17 <= pbVar19) goto code_r0x00016a7d;
        }
      }
      pbVar18 = pbVar19 + 1;
      pbVar5 = pbVar16 + 1;
      bVar3 = *pbVar19;
    }
    else {
code_r0x00016a7d:
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000);
      pbVar5 = pbVar16 + 1;
      if (iVar11 == 0) {
        iVar11 = (int)(char)bRam00080761;
        uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);
        FUN_0002bc80(uVar12,iVar11);
        uVar10 = DAT_000887a4;
        uRam00080760 = 10;
        DAT_000887a8 = DAT_000887a4;
        *pbVar16 = bRam00080761;
        if (pbVar4 <= pbVar5) {
          DAT_00088780 = 1;
          DAT_00088784 = (byte *)0x80760;
          goto LAB_00016538;
        }
        pbVar17 = (byte *)0x80761;
        pbVar18 = (byte *)0x80760;
        goto LAB_0001649b;
      }
      pbVar17 = &DAT_00080780 + iVar11;
      pbVar18 = &DAT_00080781;
      bVar3 = DAT_00080780;
    }
    uVar10 = DAT_000887a4;
    if ((int)(char)bRam00080761 == (uint)bVar3) {
      DAT_000887a8 = DAT_000887a4;
      *pbVar16 = bVar3;
    }
    else {
      if (bVar3 == 0x5c) {
        DAT_000887a8 = 6;
        *pbVar16 = 0x5c;
        pbVar19 = pbVar18;
        if (pbVar4 <= pbVar5) goto LAB_00016520;
        goto code_r0x000168d0;
      }
      *pbVar16 = bVar3;
      uVar10 = DAT_000887a8;
    }
    break;
  case 6:
code_r0x000168d0:
    DAT_000887a8 = 5;
    pbVar19 = pbVar5 + 1;
    if (pbVar18 < pbVar17) {
      bVar3 = *pbVar18;
      pbVar18 = pbVar18 + 1;
joined_r0x00016a19:
      if (bVar3 == 10) {
        pbVar18[-1] = 0x6e;
        pbVar18 = pbVar18 + -1;
        DAT_00088788 = DAT_00088788 + 1;
        *pbVar5 = 0x5c;
        pbVar5 = pbVar19;
        uVar10 = DAT_000887a8;
      }
      else {
        *pbVar5 = bVar3;
        pbVar5 = pbVar19;
        uVar10 = DAT_000887a8;
      }
      break;
    }
    DAT_00088784 = (byte *)0x0;
    iVar11 = (*param_1)(&DAT_00080780,0x8000);
    if (iVar11 != 0) {
      pbVar17 = &DAT_00080780 + iVar11;
      pbVar18 = &DAT_00080781;
      bVar3 = DAT_00080780;
      goto joined_r0x00016a19;
    }
    iVar11 = (int)(char)bRam00080761;
    uVar12 = dcgettext(0,"end of file in string; \'%c\' inserted",5);
    FUN_0002bc80(uVar12,iVar11);
    *pbVar5 = bRam00080761;
    pbVar5 = pbVar19;
    uVar10 = DAT_000887a8;
joined_r0x00016c7b:
    pbVar17 = &DAT_00080780;
    pbVar18 = pbVar17;
    DAT_000887a8 = uVar10;
    if (pbVar4 <= pbVar5) {
LAB_000169c8:
      DAT_00088784 = (byte *)0x0;
LAB_00016538:
      return (int)pbVar5 - (int)param_2;
    }
    goto LAB_0001649b;
  case 0xfffffffe:
code_r0x00016560:
    pbVar5 = pbVar16;
code_r0x00016570:
    if (pbVar17 <= pbVar18) goto code_r0x000165c0;
    do {
      pbVar19 = pbVar18 + 1;
      pbVar16 = pbVar5;
      bVar3 = *pbVar18;
      while( true ) {
        pbVar18 = pbVar19;
        if (bVar3 == 10) {
          pbVar5 = pbVar16 + 1;
          *pbVar16 = 10;
          if (pbVar5 < pbVar4) goto code_r0x00016570;
          goto LAB_00016520;
        }
        pbVar5 = pbVar16;
        if (bVar3 != 0x2a) goto code_r0x00016570;
        do {
          if (pbVar19 < pbVar17) {
            bVar3 = *pbVar19;
            pbVar19 = pbVar19 + 1;
          }
          else {
            DAT_00088784 = (byte *)0x0;
            iVar11 = (*param_1)(&DAT_00080780,0x8000);
            if (iVar11 == 0) goto code_r0x00016974;
            pbVar17 = &DAT_00080780 + iVar11;
            pbVar19 = &DAT_00080781;
            bVar3 = DAT_00080780;
          }
          uVar10 = DAT_000887a4;
        } while (bVar3 == 0x2a);
        pbVar18 = pbVar19 + -1;
        if (bVar3 == 0x2f) {
          DAT_000887a8 = DAT_000887a4;
          pbVar19[-1] = 0x20;
          goto LAB_0001649b;
        }
        pbVar19[-1] = bVar3;
        if (pbVar18 < pbVar17) break;
code_r0x000165c0:
        DAT_00088784 = (byte *)0x0;
        iVar11 = (*param_1)(&DAT_00080780,0x8000);
        if (iVar11 == 0) {
code_r0x00016974:
          uVar12 = dcgettext(0,"end of file in comment",5);
          FUN_0002bc80(uVar12);
          goto LAB_00016992;
        }
        pbVar17 = &DAT_00080780 + iVar11;
        pbVar19 = &DAT_00080781;
        pbVar16 = pbVar5;
        bVar3 = DAT_00080780;
      }
    } while( true );
  case 0xffffffff:
code_r0x00016750:
    uVar10 = DAT_000887a4;
    pbVar19 = DAT_000887a0 + 1;
    pbVar16 = DAT_000887a0 + 1;
    bVar3 = *DAT_000887a0;
    DAT_000887a0 = pbVar19;
    if (*pbVar16 == 0) {
      DAT_000887a4 = 3;
      DAT_000887a8 = uVar10;
    }
code_r0x0001677e:
    *pbVar5 = bVar3;
    pbVar5 = pbVar5 + 1;
    uVar10 = DAT_000887a8;
  }
joined_r0x00016e98:
  pbVar19 = pbVar18;
  if (pbVar5 < pbVar4) goto LAB_0001649b;
LAB_00016520:
  if (pbVar19 < pbVar17) {
    DAT_00088780 = (int)pbVar17 - (int)pbVar19;
    DAT_00088784 = pbVar19;
    goto LAB_00016538;
  }
  goto LAB_000169c8;
code_r0x00017025:
  if (pbVar5 < pbVar17) {
    uVar10 = (uint)*pbVar5;
    cVar2 = (&DAT_000887c0)[uVar10];
    pbVar5 = pbVar5 + 1;
  }
  else {
    DAT_00088784 = (byte *)0x0;
    iVar11 = (*param_1)(&DAT_00080780,0x8000);
    pbVar17 = &DAT_00080780 + iVar11;
    if (iVar11 == 0) {
code_r0x0001704e:
      uVar12 = dcgettext(0,"end of file in multiline comment",5);
      FUN_0002bc80(uVar12);
      pbVar18 = pbVar8;
code_r0x0001706e:
      uVar10 = (uint)DAT_000887e0;
      local_2c = 0x20;
      pbVar5 = pbVar16;
      goto code_r0x00016b78;
    }
    uVar10 = (uint)DAT_00080780;
    cVar2 = (&DAT_000887c0)[uVar10];
    pbVar5 = &DAT_00080781;
  }
  if (cVar2 == '\n') {
    DAT_00088788 = DAT_00088788 + 1;
  }
  if (uVar10 == 0x2a) {
    do {
      if (pbVar5 < pbVar17) {
        pbVar18 = pbVar5 + 1;
        bVar3 = *pbVar5;
      }
      else {
        DAT_00088784 = (byte *)0x0;
        iVar11 = (*param_1)(&DAT_00080780,0x8000);
        pbVar17 = &DAT_00080780 + iVar11;
        pbVar18 = &DAT_00080781;
        bVar3 = DAT_00080780;
        if (iVar11 == 0) goto code_r0x0001704e;
      }
      pbVar5 = pbVar18;
    } while (bVar3 == 0x2a);
    if (bVar3 == 0x2f) goto code_r0x0001706e;
    pbVar5 = pbVar18 + -1;
    pbVar18[-1] = bVar3;
  }
  goto code_r0x00017025;
code_r0x0001751e:
  do {
    if (pbVar18 < pbVar17) {
      bVar3 = *pbVar18;
      pbVar18 = pbVar18 + 1;
    }
    else {
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000);
      if (iVar11 == 0) {
        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);
        FUN_0002bc80(uVar12);
        pbVar5 = local_30 + 1;
        *local_30 = 10;
        uVar10 = DAT_000887a8;
        goto joined_r0x00016c7b;
      }
      pbVar17 = &DAT_00080780 + iVar11;
      pbVar18 = &DAT_00080781;
      bVar3 = DAT_00080780;
    }
    cVar2 = (&DAT_000887c0)[bVar3];
  } while (cVar2 == '\x02');
  if (((bVar3 - 0x30 < 10) && (DAT_000887a8 == 0)) && (local_2c == 0x23)) {
    pbVar18[-1] = bVar3;
    pbVar18 = pbVar18 + -1;
    DAT_000887a4 = 4;
    DAT_000887a8 = 0xffffffff;
    pbVar5 = local_30 + 1;
    DAT_000887a0 = (byte *)0x5b030;
    *local_30 = 9;
    pbVar19 = pbVar18;
    if (pbVar4 <= pbVar5) goto LAB_00016520;
    DAT_000887a0 = (byte *)0x5b031;
    bVar3 = s__linefile_0005b02f[1];
    goto code_r0x0001677e;
  }
  while (cVar2 != '\n') {
    if (pbVar18 < pbVar17) {
      bVar3 = *pbVar18;
      pbVar18 = pbVar18 + 1;
    }
    else {
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000);
      if (iVar11 == 0) {
        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);
        FUN_0002bc80(uVar12);
        pbVar5 = local_30 + 1;
        *local_30 = 10;
        pbVar19 = pbVar8;
        pbVar17 = pbVar8;
        local_30 = pbVar5;
        if (pbVar5 < pbVar4) goto code_r0x00017782;
        goto LAB_000169c8;
      }
      pbVar17 = &DAT_00080780 + iVar11;
      pbVar18 = &DAT_00080781;
      bVar3 = DAT_00080780;
    }
    cVar2 = (&DAT_000887c0)[bVar3];
  }
  pbVar18[-1] = bVar3;
  pbVar19 = pbVar18 + -1;
code_r0x00017782:
  DAT_000887a8 = 0;
  goto code_r0x00016b4e;
code_r0x00016d70:
  do {
    if (pbVar18 < pbVar17) {
      bVar3 = *pbVar18;
      pbVar18 = pbVar18 + 1;
    }
    else {
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000);
      if (iVar11 == 0) {
        uVar12 = dcgettext(0,"end of file in comment; newline inserted",5);
        FUN_0002bc80(uVar12);
        pbVar18 = pbVar8;
        pbVar17 = pbVar8;
        break;
      }
      pbVar17 = &DAT_00080780 + iVar11;
      pbVar18 = &DAT_00080781;
      bVar3 = DAT_00080780;
    }
  } while ((&DAT_000887c0)[bVar3] != '\n');
  DAT_000887a8 = 0;
  *pbVar5 = 10;
  pbVar5 = local_30;
  pbVar19 = pbVar18;
joined_r0x000172dc:
  local_30 = pbVar5;
  if (pbVar4 <= pbVar5) goto LAB_00016520;
  goto code_r0x00016b4e;
code_r0x000171ad:
  if (bVar1 != 4) goto code_r0x000171b5;
  goto code_r0x00016b84;
code_r0x000171b5:
  if (local_2c == 0x2f) {
    uVar10 = (uint)DAT_000887ef;
    goto code_r0x00016b78;
  }
  if ((bVar1 == 0xe) || (bVar1 == 3)) goto code_r0x00016b78;
  if ((DAT_000887a8 == 2 || DAT_000887a8 == 0xb) && (bVar1 == 9)) {
    DAT_000887a8 = 1;
    *pbVar16 = bVar3;
joined_r0x00016e2c:
    pbVar5 = pbVar16 + 1;
    pbVar19 = pbVar18;
    goto joined_r0x000172dc;
  }
  switch(DAT_000887a8) {
  default:
    uVar7 = DAT_000887a8;
    uVar12 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar10,
                       DAT_000887a8);
                    /* WARNING: Subroutine does not return */
    FUN_0002be00(uVar12,uVar7,0x3cd,"../../gas/app.c");
  case 1:
  case 3:
    goto code_r0x00016b78;
  case 2:
    DAT_000887a8 = 3;
    pbVar5 = pbVar16 + 1;
    if (pbVar4 <= pbVar5) {
      pbVar19 = pbVar18 + -1;
      pbVar18[-1] = bVar3;
      *pbVar16 = 0x20;
      goto LAB_00016520;
    }
    *pbVar16 = 0x20;
    uVar10 = (uint)(byte)(&DAT_000887c0)[local_2c];
    goto code_r0x00016b78;
  case 9:
  case 10:
    DAT_000887a8 = 10;
    goto code_r0x00016b78;
  case 0xb:
    break;
  }
  DAT_000887a8 = 3;
code_r0x00017227:
  pbVar18[-1] = bVar3;
  *pbVar16 = 0x20;
  pbVar5 = pbVar16 + 1;
  pbVar19 = pbVar18 + -1;
  goto joined_r0x000172dc;
  while ((byte)(&DAT_000887c0)[pbVar8[1]] < 2) {
code_r0x0001787c:
    pbVar8 = pbVar19;
    pbVar19 = pbVar8 + 1;
    if (pbVar17 == pbVar19) break;
  }
  if (pbVar19 <= pbVar18) {
    pbVar8 = pbVar19;
  }
  iVar11 = (int)pbVar4 - (int)pbVar16;
  sVar20 = (int)pbVar8 - (int)pbVar18;
  if (iVar11 <= (int)sVar20) {
code_r0x000178a1:
    sVar20 = iVar11 - 1;
  }
  if (0 < (int)sVar20) {
    *pbVar16 = bVar3;
    memcpy(pbVar5,pbVar18,sVar20);
    pbVar5 = pbVar5 + sVar20;
    pbVar19 = pbVar18 + sVar20;
    if (pbVar4 <= pbVar5) goto LAB_00016520;
    local_30 = pbVar5 + 1;
    if (pbVar19 < pbVar17) {
      local_2c = (uint)*pbVar19;
      pbVar18 = pbVar19 + 1;
      pbVar16 = pbVar5;
    }
    else {
      pbVar18 = &DAT_00080780;
      DAT_00088784 = (byte *)0x0;
      iVar11 = (*param_1)(&DAT_00080780,0x8000,pbVar5,pbVar5);
      pbVar17 = &DAT_00080780 + iVar11;
      pbVar16 = pbVar5;
      if (iVar11 == 0) {
        local_2c = 0xffffffff;
        pbVar17 = pbVar18;
      }
      else {
        local_2c = (uint)DAT_00080780;
        pbVar18 = &DAT_00080781;
      }
    }
  }
LAB_00016fab:
  pbVar5 = pbVar16;
  if (DAT_000887a8 == 0) {
    DAT_000887a8 = 0xb;
  }
  else {
    uVar10 = DAT_000887a8;
    if (DAT_000887a8 == 1) {
      DAT_000887a8 = 2;
    }
    else {
code_r0x0001741d:
      if (uVar10 == 9) {
        if ((&DAT_000887c0)[local_2c] != '\x01') goto LAB_0001743a;
      }
      else if (uVar10 == 10) {
        if (local_2c == 0x5c) {
          if (pbVar4 <= local_30) {
            pbVar18[-1] = 0x5c;
            pbVar19 = pbVar18 + -1;
            goto LAB_00016520;
          }
          *pbVar5 = 0x20;
          pbVar5 = local_30;
          local_30 = local_30 + 1;
        }
LAB_0001743a:
        DAT_000887a8 = 3;
      }
    }
  }
  *pbVar5 = (byte)local_2c;
  pbVar5 = local_30;
  uVar10 = DAT_000887a8;
  goto joined_r0x00016e98;
}

