
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int __regparm3 peek_token(re_token_t *token,re_string_t *input,reg_syntax_t syntax)

{
  int iVar1;
  byte bVar2;
  uchar uVar3;
  uchar *puVar4;
  wint_t wVar5;
  int iVar6;
  int iVar7;
  ushort **ppuVar8;
  wint_t *pwVar9;
  int in_GS_OFFSET;
  lexical_block_5 *in_stack_ffffffb8;
  uint uStack_30;
  re_token_t rStack_28;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x6b29d;
  iVar7 = input->cur_idx;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  iVar6 = 0;
  if (input->stop <= iVar7) {
    token->field_0x4 = 2;
    goto LAB_0006b3cc;
  }
  puVar4 = input->mbs;
  uStack_30._0_1_ = token->field_0x6;
  bVar2 = puVar4[iVar7];
  token->field_0x6 = (byte)uStack_30 & 0x9f;
  (token->opr).c = bVar2;
  iVar6 = input->mb_cur_max;
  if (iVar6 < 2) {
    if (bVar2 != 0x5c) {
      token->field_0x4 = 1;
      uStack_30._0_1_ = (byte)uStack_30 & 0x9f;
      ppuVar8 = __ctype_b_loc();
      token->field_0x6 =
           (byte)uStack_30 | (byte)(((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)) << 6);
      goto LAB_0006b346;
    }
peek_token_lexical_block_5:
    iVar1 = iVar7 + 1;
    if (input->len <= iVar1) {
      token->field_0x4 = 0x24;
      iVar6 = 1;
      goto LAB_0006b3cc;
    }
    if (input->mbs_allocated == '\0') {
LAB_0006b3f2:
      uStack_30 = (uint)puVar4[iVar7 + 1];
    }
    else {
      if (1 < iVar6) {
        pwVar9 = input->wcs + iVar1;
        if ((*pwVar9 == 0xffffffff) ||
           ((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)))) {
          uVar3 = puVar4[iVar7 + 1];
          token->field_0x4 = 1;
          (token->opr).c = uVar3;
          peek_token::lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);
          return (int)pwVar9;
        }
      }
      if (input->offsets_needed == '\0') {
        uStack_30 = (uint)input->raw_mbs[input->raw_mbs_idx + iVar1];
      }
      else {
        bVar2 = input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx];
        uStack_30 = (uint)bVar2;
        if ((bVar2 & 0x80) != 0) goto LAB_0006b3f2;
      }
    }
    token->field_0x4 = 1;
    (token->opr).c = (uchar)uStack_30;
    if (iVar6 < 2) {
      ppuVar8 = __ctype_b_loc();
      token->field_0x6 =
           (byte)(((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')) << 6) |
           token->field_0x6 & 0xbf;
    }
    else {
      wVar5 = input->wcs[iVar1];
      iVar7 = iswalnum(wVar5);
      token->field_0x6 = token->field_0x6 & 0xbf | (iVar7 != 0 || wVar5 == 0x5f) << 6;
    }
    switch(uStack_30 - 0x27 & 0xff) {
    case 0:
      iVar6 = 2;
      if ((syntax & 0x80000) == 0) {
        token->field_0x4 = 0xc;
        (token->opr).idx = 0x80;
      }
      break;
    case 1:
      iVar6 = 2;
      if ((syntax & 0x2000) != 0) break;
      goto LAB_0006b4d3;
    case 2:
      iVar6 = 2;
      if ((syntax & 0x2000) != 0) break;
      goto LAB_0006b513;
    default:
      iVar6 = 2;
      break;
    case 4:
      iVar6 = 2;
      if ((syntax & 0x402) != 2) break;
      goto LAB_0006b543;
    case 10:
    case 0xb:
    case 0xc:
    case 0xd:
    case 0xe:
    case 0xf:
    case 0x10:
    case 0x11:
    case 0x12:
      iVar6 = 2;
      if ((syntax & 0x4000) == 0) {
        token->field_0x4 = 4;
        (token->opr).sbcset = (re_bitset_ptr_t)(uStack_30 - 0x31);
      }
      break;
    case 0x15:
      iVar6 = 2;
      if ((syntax & 0x80000) == 0) {
        token->field_0x4 = 0xc;
        (token->opr).idx = 6;
      }
      break;
    case 0x17:
      iVar6 = 2;
      if ((syntax & 0x80000) == 0) {
        token->field_0x4 = 0xc;
        (token->opr).idx = 9;
      }
      break;
    case 0x18:
      iVar6 = 2;
      if ((syntax & 0x402) != 2) break;
      goto LAB_0006b573;
    case 0x1b:
      iVar6 = 2;
      if ((syntax & 0x80000) == 0) {
        token->field_0x4 = 0xc;
        (token->opr).idx = 0x200;
      }
      break;
    case 0x2c:
      iVar6 = 2;
      if ((syntax & 0x80000) == 0) {
        token->field_0x4 = 0x23;
      }
      break;
    case 0x30:
      iVar6 = 2;
      if ((syntax & 0x80000) == 0) {
        token->field_0x4 = 0x21;
      }
      break;
    case 0x39:
      iVar6 = 2;
      if ((syntax & 0x80000) == 0) {
        token->field_0x4 = 0xc;
        (token->opr).idx = 0x40;
      }
      break;
    case 0x3b:
      iVar6 = 2;
      if ((syntax & 0x80000) == 0) {
        token->field_0x4 = 0xc;
        (token->opr).idx = 0x100;
      }
      break;
    case 0x4c:
      iVar6 = 2;
      if ((syntax & 0x80000) == 0) {
        token->field_0x4 = 0x22;
      }
      break;
    case 0x50:
      iVar6 = 2;
      if ((syntax & 0x80000) == 0) {
        token->field_0x4 = 0x20;
      }
      break;
    case 0x54:
      iVar6 = 2;
      if ((syntax & 0x1200) != 0x200) break;
      goto LAB_0006b5db;
    case 0x55:
      iVar6 = 2;
      if ((syntax & 0x8400) == 0) {
        token->field_0x4 = 10;
      }
      break;
    case 0x56:
      iVar6 = 2;
      if ((syntax & 0x1200) != 0x200) break;
      goto LAB_0006b62b;
    }
    goto LAB_0006b3cc;
  }
  if ((iVar7 != input->valid_len) && (input->wcs[iVar7] == 0xffffffff)) {
    *(uint *)&token->field_0x4 = *(uint *)&token->field_0x4 & 0xffdfff00 | 0x200001;
    iVar6 = 1;
    goto LAB_0006b3cc;
  }
  if (bVar2 == 0x5c) goto peek_token_lexical_block_5;
  pwVar9 = input->wcs;
  token->field_0x4 = 1;
  wVar5 = pwVar9[iVar7];
  iVar6 = iswalnum(wVar5);
  token->field_0x6 = token->field_0x6 & 0xbf | (wVar5 == 0x5f || iVar6 != 0) << 6;
LAB_0006b346:
  switch(bVar2) {
  case 10:
    iVar6 = 1;
    if ((syntax & 0x800) == 0) break;
    goto LAB_0006b5fb;
  default:
    goto _L1133;
  case 0x24:
    if (((syntax & 8) == 0) && (iVar7 + 1 != input->len)) {
      input->cur_idx = iVar7 + 1;
      peek_token(&rStack_28,input,syntax);
      input->cur_idx = input->cur_idx + -1;
      iVar6 = 1;
      if (1 < (byte)(rStack_28._4_1_ - 9)) break;
    }
    token->field_0x4 = 0xc;
    iVar6 = 1;
    (token->opr).idx = 0x20;
    break;
  case 0x28:
    iVar6 = 1;
    if ((syntax & 0x2000) == 0) break;
LAB_0006b4d3:
    token->field_0x4 = 8;
    break;
  case 0x29:
    iVar6 = 1;
    if ((syntax & 0x2000) == 0) break;
LAB_0006b513:
    token->field_0x4 = 9;
    break;
  case 0x2a:
    token->field_0x4 = 0xb;
    iVar6 = 1;
    break;
  case 0x2b:
    iVar6 = 1;
    if ((syntax & 0x402) != 0) break;
LAB_0006b543:
    token->field_0x4 = 0x12;
    break;
  case 0x2e:
    token->field_0x4 = 5;
    iVar6 = 1;
    break;
  case 0x3f:
    iVar6 = 1;
    if ((syntax & 0x402) != 0) break;
LAB_0006b573:
    token->field_0x4 = 0x13;
    break;
  case 0x5b:
    token->field_0x4 = 0x14;
    iVar6 = 1;
    break;
  case 0x5e:
    if ((((syntax & 0x800008) != 0) || (iVar7 == 0)) ||
       ((puVar4[iVar7 + -1] == '\n' && ((syntax & 0x800) != 0)))) {
      token->field_0x4 = 0xc;
      iVar6 = 1;
      (token->opr).idx = 0x10;
      break;
    }
    goto _L1133;
  case 0x7b:
    iVar6 = 1;
    if ((syntax & 0x1200) != 0x1200) break;
LAB_0006b5db:
    token->field_0x4 = 0x17;
    break;
  case 0x7c:
    if ((syntax & 0x8400) != 0x8000) goto _L1133;
LAB_0006b5fb:
    token->field_0x4 = 10;
    iVar6 = 1;
    break;
  case 0x7d:
    iVar6 = 1;
    if ((syntax & 0x1200) != 0x1200) break;
LAB_0006b62b:
    token->field_0x4 = 0x18;
  }
LAB_0006b3cc:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return iVar6;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
_L1133:
  iVar6 = 1;
  goto LAB_0006b3cc;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined4 __regparm3 FUN_0006b290(byte *param_1,int *param_2,uint param_3)

{
  int iVar1;
  int iVar2;
  byte bVar3;
  int iVar4;
  wint_t wVar5;
  undefined4 uVar6;
  int iVar7;
  int iVar8;
  ushort **ppuVar9;
  wint_t *pwVar10;
  int in_GS_OFFSET;
  uint local_30;
  char cStack_24;
  
  iVar8 = param_2[10];
  iVar2 = *(int *)(in_GS_OFFSET + 0x14);
  uVar6 = 0;
  if (param_2[0xe] <= iVar8) {
    param_1[4] = 2;
    goto LAB_0006b3cc;
  }
  iVar4 = param_2[1];
  local_30._0_1_ = param_1[6];
  bVar3 = *(byte *)(iVar4 + iVar8);
  param_1[6] = (byte)local_30 & 0x9f;
  *param_1 = bVar3;
  iVar7 = param_2[0x14];
  if (iVar7 < 2) {
    if (bVar3 != 0x5c) {
      param_1[4] = 1;
      local_30._0_1_ = (byte)local_30 & 0x9f;
      ppuVar9 = __ctype_b_loc();
      param_1[6] = (byte)local_30 |
                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);
      goto LAB_0006b346;
    }
LAB_0006b3b0:
    iVar1 = iVar8 + 1;
    if (param_2[0xc] <= iVar1) {
      param_1[4] = 0x24;
      uVar6 = 1;
      goto LAB_0006b3cc;
    }
    if (*(char *)((int)param_2 + 0x4b) == '\0') {
LAB_0006b3f2:
      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);
LAB_0006b408:
      param_1[4] = 1;
      *param_1 = (byte)local_30;
      if (1 < iVar7) {
        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);
        goto LAB_0006b421;
      }
      ppuVar9 = __ctype_b_loc();
      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |
                   param_1[6] & 0xbf;
    }
    else {
      if (iVar7 < 2) {
LAB_0006b8f0:
        if ((char)param_2[0x13] == '\0') {
          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);
        }
        else {
          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));
          local_30 = (uint)bVar3;
          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;
        }
        goto LAB_0006b408;
      }
      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);
      if ((*pwVar10 != 0xffffffff) &&
         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))
      goto LAB_0006b8f0;
      bVar3 = *(byte *)(iVar4 + 1 + iVar8);
      param_1[4] = 1;
      *param_1 = bVar3;
      local_30 = (uint)bVar3;
LAB_0006b421:
      wVar5 = *pwVar10;
      iVar8 = iswalnum(wVar5);
      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;
    }
    switch(local_30 - 0x27 & 0xff) {
    case 0:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0xc;
        param_1[0] = 0x80;
        param_1[1] = 0;
        param_1[2] = 0;
        param_1[3] = 0;
      }
      break;
    case 1:
      uVar6 = 2;
      if ((param_3 & 0x2000) != 0) break;
      goto code_r0x0006b4d3;
    case 2:
      uVar6 = 2;
      if ((param_3 & 0x2000) != 0) break;
      goto code_r0x0006b513;
    default:
      uVar6 = 2;
      break;
    case 4:
      uVar6 = 2;
      if ((param_3 & 0x402) != 2) break;
      goto code_r0x0006b543;
    case 10:
    case 0xb:
    case 0xc:
    case 0xd:
    case 0xe:
    case 0xf:
    case 0x10:
    case 0x11:
    case 0x12:
      uVar6 = 2;
      if ((param_3 & 0x4000) == 0) {
        param_1[4] = 4;
        *(uint *)param_1 = local_30 - 0x31;
      }
      break;
    case 0x15:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0xc;
        param_1[0] = 6;
        param_1[1] = 0;
        param_1[2] = 0;
        param_1[3] = 0;
      }
      break;
    case 0x17:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0xc;
        param_1[0] = 9;
        param_1[1] = 0;
        param_1[2] = 0;
        param_1[3] = 0;
      }
      break;
    case 0x18:
      uVar6 = 2;
      if ((param_3 & 0x402) != 2) break;
      goto code_r0x0006b573;
    case 0x1b:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0xc;
        param_1[0] = 0;
        param_1[1] = 2;
        param_1[2] = 0;
        param_1[3] = 0;
      }
      break;
    case 0x2c:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0x23;
      }
      break;
    case 0x30:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0x21;
      }
      break;
    case 0x39:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0xc;
        param_1[0] = 0x40;
        param_1[1] = 0;
        param_1[2] = 0;
        param_1[3] = 0;
      }
      break;
    case 0x3b:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0xc;
        param_1[0] = 0;
        param_1[1] = 1;
        param_1[2] = 0;
        param_1[3] = 0;
      }
      break;
    case 0x4c:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0x22;
      }
      break;
    case 0x50:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0x20;
      }
      break;
    case 0x54:
      uVar6 = 2;
      if ((param_3 & 0x1200) != 0x200) break;
      goto code_r0x0006b5db;
    case 0x55:
      uVar6 = 2;
      if ((param_3 & 0x8400) == 0) {
        param_1[4] = 10;
      }
      break;
    case 0x56:
      uVar6 = 2;
      if ((param_3 & 0x1200) != 0x200) break;
      goto code_r0x0006b62b;
    }
    goto LAB_0006b3cc;
  }
  if ((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)) {
    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;
    uVar6 = 1;
    goto LAB_0006b3cc;
  }
  if (bVar3 == 0x5c) goto LAB_0006b3b0;
  iVar7 = param_2[2];
  param_1[4] = 1;
  wVar5 = *(wint_t *)(iVar7 + iVar8 * 4);
  iVar7 = iswalnum(wVar5);
  param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6;
LAB_0006b346:
  switch(bVar3) {
  case 10:
    uVar6 = 1;
    if ((param_3 & 0x800) == 0) break;
    goto code_r0x0006b5fb;
  default:
    goto LAB_0006b4f6;
  case 0x24:
    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {
      param_2[10] = iVar8 + 1;
      FUN_0006b290();
      param_2[10] = param_2[10] + -1;
      uVar6 = 1;
      if (1 < (byte)(cStack_24 - 9U)) break;
    }
    param_1[4] = 0xc;
    uVar6 = 1;
    param_1[0] = 0x20;
    param_1[1] = 0;
    param_1[2] = 0;
    param_1[3] = 0;
    break;
  case 0x28:
    uVar6 = 1;
    if ((param_3 & 0x2000) == 0) break;
code_r0x0006b4d3:
    param_1[4] = 8;
    break;
  case 0x29:
    uVar6 = 1;
    if ((param_3 & 0x2000) == 0) break;
code_r0x0006b513:
    param_1[4] = 9;
    break;
  case 0x2a:
    param_1[4] = 0xb;
    uVar6 = 1;
    break;
  case 0x2b:
    uVar6 = 1;
    if ((param_3 & 0x402) != 0) break;
code_r0x0006b543:
    param_1[4] = 0x12;
    break;
  case 0x2e:
    param_1[4] = 5;
    uVar6 = 1;
    break;
  case 0x3f:
    uVar6 = 1;
    if ((param_3 & 0x402) != 0) break;
code_r0x0006b573:
    param_1[4] = 0x13;
    break;
  case 0x5b:
    param_1[4] = 0x14;
    uVar6 = 1;
    break;
  case 0x5e:
    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||
       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {
      param_1[4] = 0xc;
      uVar6 = 1;
      param_1[0] = 0x10;
      param_1[1] = 0;
      param_1[2] = 0;
      param_1[3] = 0;
      break;
    }
    goto LAB_0006b4f6;
  case 0x7b:
    uVar6 = 1;
    if ((param_3 & 0x1200) != 0x1200) break;
code_r0x0006b5db:
    param_1[4] = 0x17;
    break;
  case 0x7c:
    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;
code_r0x0006b5fb:
    param_1[4] = 10;
    uVar6 = 1;
    break;
  case 0x7d:
    uVar6 = 1;
    if ((param_3 & 0x1200) != 0x1200) break;
code_r0x0006b62b:
    param_1[4] = 0x18;
  }
LAB_0006b3cc:
  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar6;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0007ad20();
LAB_0006b4f6:
  uVar6 = 1;
  goto LAB_0006b3cc;
}


PUSH EBP
PUSH EDI
MOV EDI,EAX
PUSH ESI
MOV ESI,EDX
PUSH EBX
CALL 0x000190b0
ADD EBX,0x43933
SUB ESP,0x3c
MOV EDX,dword ptr [EDX + 0x28]
MOV dword ptr [ESP + 0xc],ECX
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x2c],EAX
XOR EAX,EAX
CMP dword ptr [ESI + 0x38],EDX
JLE 0x0006b3c8
MOV EAX,dword ptr [ESI + 0x4]
MOVZX ECX,byte ptr [EDI + 0x6]
MOVZX EBP,byte ptr [EAX + EDX*0x1]
MOV dword ptr [ESP + 0x14],EAX
AND ECX,0xffffff9f
MOV byte ptr [EDI + 0x6],CL
MOV EAX,EBP
MOV byte ptr [EDI],AL
MOV EAX,dword ptr [ESI + 0x50]
MOV dword ptr [ESP + 0x10],EAX
CMP EAX,0x1
JLE 0x0006b360
CMP EDX,dword ptr [ESI + 0x1c]
JZ 0x0006b2f9
MOV ECX,dword ptr [ESI + 0x8]
CMP dword ptr [ECX + EDX*0x4],-0x1
JZ 0x0006b468
MOV ECX,EBP
CMP CL,0x5c
JZ 0x0006b3b0
MOV EAX,dword ptr [ESI + 0x8]
MOV byte ptr [EDI + 0x4],0x1
SUB ESP,0xc
MOV dword ptr [ESP + 0x24],EDX
MOV ECX,dword ptr [EAX + EDX*0x4]
PUSH ECX
MOV dword ptr [ESP + 0x20],ECX
CALL 0x00016ad0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x18]
TEST EAX,EAX
SETNZ AL
CMP ECX,0x5f
SETZ CL
OR ECX,EAX
MOVZX EAX,byte ptr [EDI + 0x6]
SHL ECX,0x6
AND EAX,0xffffffbf
OR EAX,ECX
MOV byte ptr [EDI + 0x6],AL
LEA EAX,[EBP + -0xa]
CMP AL,0x73
JA 0x0006b4f6
MOVZX EBP,AL
ADD EBX,dword ptr [EBX + EBP*0x4 + 0xfffe3110]
JMP EBX
MOV EAX,EBP
CMP AL,0x5c
JZ 0x0006b3b0
MOV byte ptr [EDI + 0x4],0x1
MOV byte ptr [ESP + 0x1c],CL
MOV dword ptr [ESP + 0x18],EDX
CALL 0x00016770
MOVZX ECX,byte ptr [ESP + 0x1c]
MOV EDX,dword ptr [EAX]
MOV EAX,EBP
MOVZX EAX,AL
MOVZX EAX,word ptr [EDX + EAX*0x2]
MOV EDX,EBP
SHR AX,0x3
AND EAX,0x1
CMP DL,0x5f
SETZ byte ptr [ESP + 0x10]
MOVZX EDX,byte ptr [ESP + 0x10]
OR EAX,EDX
MOV EDX,dword ptr [ESP + 0x18]
SHL EAX,0x6
OR ECX,EAX
MOV byte ptr [EDI + 0x6],CL
JMP 0x0006b346
LEA ECX,[EDX + 0x1]
CMP ECX,dword ptr [ESI + 0x30]
JL 0x0006b3e8
MOV byte ptr [EDI + 0x4],0x24
MOV EAX,0x1
JMP 0x0006b3cc
MOV byte ptr [EDI + 0x4],0x2
MOV EBX,dword ptr [ESP + 0x2c]
XOR EBX,dword ptr GS:[0x14]
JNZ 0x0006b979
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP byte ptr [ESI + 0x4b],0x0
JNZ 0x0006b8bd
MOV EAX,dword ptr [ESP + 0x14]
MOVZX EBP,byte ptr [EAX + EDX*0x1 + 0x1]
MOV EAX,EBP
MOVZX EAX,AL
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,EBP
CMP dword ptr [ESP + 0x10],0x1
MOV byte ptr [EDI + 0x4],0x1
MOV byte ptr [EDI],AL
JLE 0x0006b488
MOV EAX,dword ptr [ESI + 0x8]
LEA EAX,[EAX + ECX*0x4]
MOV dword ptr [ESP + 0x18],EAX
MOV ESI,dword ptr [EAX]
SUB ESP,0xc
PUSH ESI
CALL 0x00016ad0
ADD ESP,0x10
TEST EAX,EAX
SETNZ AL
CMP ESI,0x5f
SETZ DL
OR EAX,EDX
SHL EAX,0x6
MOV EDX,EAX
MOVZX EAX,byte ptr [EDI + 0x6]
AND EAX,0xffffffbf
OR EAX,EDX
MOV byte ptr [EDI + 0x6],AL
LEA EAX,[EBP + -0x27]
CMP AL,0x56
JA 0x0006b8b3
MOVZX EBP,AL
ADD EBX,dword ptr [EBX + EBP*0x4 + 0xfffe32e0]
JMP EBX
MOV EAX,dword ptr [EDI + 0x4]
AND EAX,0xffdfff00
OR EAX,0x200001
MOV dword ptr [EDI + 0x4],EAX
MOV EAX,0x1
JMP 0x0006b3cc
CALL 0x00016770
MOV ESI,dword ptr [ESP + 0x18]
MOV EDX,EBP
MOV EAX,dword ptr [EAX]
MOVZX EAX,word ptr [EAX + ESI*0x2]
SHR AX,0x3
AND EAX,0x1
CMP DL,0x5f
SETZ DL
OR EAX,EDX
MOVZX EDX,byte ptr [EDI + 0x6]
SHL EAX,0x6
AND EDX,0xffffffbf
OR EAX,EDX
MOV byte ptr [EDI + 0x6],AL
JMP 0x0006b44d
MOV EAX,0x1
JMP 0x0006b3cc
MOV EAX,0x2
JMP 0x0006b3cc
CMP dword ptr [ESP + 0x10],0x1
JLE 0x0006b8f0
MOV EAX,dword ptr [ESI + 0x8]
LEA EBP,[ECX*0x4 + 0x0]
MOV dword ptr [ESP + 0x1c],EAX
ADD EAX,EBP
CMP dword ptr [EAX],-0x1
MOV dword ptr [ESP + 0x18],EAX
JZ 0x0006b958
LEA EAX,[EDX + 0x2]
CMP dword ptr [ESI + 0x1c],EAX
JZ 0x0006b8f0
MOV EAX,dword ptr [ESP + 0x1c]
CMP dword ptr [EAX + EBP*0x1 + 0x4],-0x1
JZ 0x0006b958
CMP byte ptr [ESI + 0x4c],0x0
MOV EBP,dword ptr [ESI]
MOV EAX,dword ptr [ESI + 0x18]
JZ 0x0006b93e
ADD EBP,EAX
MOV EAX,dword ptr [ESI + 0xc]
ADD EBP,dword ptr [EAX + ECX*0x4]
MOVZX EBP,byte ptr [EBP]
MOV EAX,EBP
MOVZX EAX,AL
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x1c],EAX
TEST AL,0x80
JZ 0x0006b408
JMP 0x0006b3f2
LEA EDX,[EBP + ECX*0x1]
MOVZX EBP,byte ptr [EDX + EAX*0x1]
MOV EAX,EBP
MOVZX EAX,AL
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x0006b408
MOV EAX,dword ptr [ESP + 0x14]
MOVZX EBP,byte ptr [EAX + EDX*0x1 + 0x1]
MOV byte ptr [EDI + 0x4],0x1
MOV EAX,EBP
MOV byte ptr [EDI],AL
MOVZX EAX,AL
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,dword ptr [ESP + 0x18]
JMP 0x0006b421
CALL 0x0007ad20
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 __regparm3 FUN_0006b290(byte *param_1,int *param_2,uint param_3)\n\n{\n  int iVar1;\n  int iVar2;\n  byte bVar3;\n  int iVar4;\n  wint_t wVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  wint_t *pwVar10;\n  int in_GS_OFFSET;\n  uint local_30;\n  char cStack_24;\n  \n  iVar8 = param_2[10];\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar6 = 0;\n  if (param_2[0xe] <= iVar8) {\n    param_1[4] = 2;\n    goto LAB_0006b3cc;\n  }\n  iVar4 = param_2[1];\n  local_30._0_1_ = param_1[6];\n  bVar3 = *(byte *)(iVar4 + iVar8);\n  param_1[6] = (byte)local_30 & 0x9f;\n  *param_1 = bVar3;\n  iVar7 = param_2[0x14];\n  if (iVar7 < 2) {\n    if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\nLAB_0006b3b0:\n    iVar1 = iVar8 + 1;\n    if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }\n  if ((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)) {\n    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;\n    uVar6 = 1;\n    goto LAB_0006b3cc;\n  }\n  if (bVar3 == 0x5c) goto LAB_0006b3b0;\n  iVar7 = param_2[2];\n  param_1[4] = 1;\n  wVar5 = *(wint_t *)(iVar7 + iVar8 * 4);\n  iVar7 = iswalnum(wVar5);\n  param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6;\nLAB_0006b346:\n  switch(bVar3) {\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }\nLAB_0006b3cc:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0007ad20();\nLAB_0006b4f6:\n  uVar6 = 1;\n  goto LAB_0006b3cc;\n}\n\n" comment (function_definition "undefined4 __regparm3 FUN_0006b290(byte *param_1,int *param_2,uint param_3)\n\n{\n  int iVar1;\n  int iVar2;\n  byte bVar3;\n  int iVar4;\n  wint_t wVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  wint_t *pwVar10;\n  int in_GS_OFFSET;\n  uint local_30;\n  char cStack_24;\n  \n  iVar8 = param_2[10];\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar6 = 0;\n  if (param_2[0xe] <= iVar8) {\n    param_1[4] = 2;\n    goto LAB_0006b3cc;\n  }\n  iVar4 = param_2[1];\n  local_30._0_1_ = param_1[6];\n  bVar3 = *(byte *)(iVar4 + iVar8);\n  param_1[6] = (byte)local_30 & 0x9f;\n  *param_1 = bVar3;\n  iVar7 = param_2[0x14];\n  if (iVar7 < 2) {\n    if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\nLAB_0006b3b0:\n    iVar1 = iVar8 + 1;\n    if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }\n  if ((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)) {\n    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;\n    uVar6 = 1;\n    goto LAB_0006b3cc;\n  }\n  if (bVar3 == 0x5c) goto LAB_0006b3b0;\n  iVar7 = param_2[2];\n  param_1[4] = 1;\n  wVar5 = *(wint_t *)(iVar7 + iVar8 * 4);\n  iVar7 = iswalnum(wVar5);\n  param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6;\nLAB_0006b346:\n  switch(bVar3) {\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }\nLAB_0006b3cc:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0007ad20();\nLAB_0006b4f6:\n  uVar6 = 1;\n  goto LAB_0006b3cc;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_0006b290(byte *param_1,int *param_2,uint param_3)" identifier (parameter_list "(byte *param_1,int *param_2,uint param_3)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  byte bVar3;\n  int iVar4;\n  wint_t wVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  wint_t *pwVar10;\n  int in_GS_OFFSET;\n  uint local_30;\n  char cStack_24;\n  \n  iVar8 = param_2[10];\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar6 = 0;\n  if (param_2[0xe] <= iVar8) {\n    param_1[4] = 2;\n    goto LAB_0006b3cc;\n  }\n  iVar4 = param_2[1];\n  local_30._0_1_ = param_1[6];\n  bVar3 = *(byte *)(iVar4 + iVar8);\n  param_1[6] = (byte)local_30 & 0x9f;\n  *param_1 = bVar3;\n  iVar7 = param_2[0x14];\n  if (iVar7 < 2) {\n    if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\nLAB_0006b3b0:\n    iVar1 = iVar8 + 1;\n    if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }\n  if ((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)) {\n    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;\n    uVar6 = 1;\n    goto LAB_0006b3cc;\n  }\n  if (bVar3 == 0x5c) goto LAB_0006b3b0;\n  iVar7 = param_2[2];\n  param_1[4] = 1;\n  wVar5 = *(wint_t *)(iVar7 + iVar8 * 4);\n  iVar7 = iswalnum(wVar5);\n  param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6;\nLAB_0006b346:\n  switch(bVar3) {\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }\nLAB_0006b3cc:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0007ad20();\nLAB_0006b4f6:\n  uVar6 = 1;\n  goto LAB_0006b3cc;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "wint_t wVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "ushort **ppuVar9;" type_identifier (pointer_declarator "**ppuVar9" * (pointer_declarator "*ppuVar9" * identifier)) ;) (declaration "wint_t *pwVar10;" type_identifier (pointer_declarator "*pwVar10" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "char cStack_24;" primitive_type identifier ;) (expression_statement "iVar8 = param_2[10];" (assignment_expression "iVar8 = param_2[10]" identifier = (subscript_expression "param_2[10]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar2 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (param_2[0xe] <= iVar8) {\n    param_1[4] = 2;\n    goto LAB_0006b3cc;\n  }" if (parenthesized_expression "(param_2[0xe] <= iVar8)" ( (binary_expression "param_2[0xe] <= iVar8" (subscript_expression "param_2[0xe]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n    param_1[4] = 2;\n    goto LAB_0006b3cc;\n  }" { (expression_statement "param_1[4] = 2;" (assignment_expression "param_1[4] = 2" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })) (expression_statement "iVar4 = param_2[1];" (assignment_expression "iVar4 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "local_30._0_1_ = param_1[6];" (assignment_expression "local_30._0_1_ = param_1[6]" (field_expression "local_30._0_1_" identifier . field_identifier) = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "bVar3 = *(byte *)(iVar4 + iVar8);" (assignment_expression "bVar3 = *(byte *)(iVar4 + iVar8)" identifier = (pointer_expression "*(byte *)(iVar4 + iVar8)" * (cast_expression "(byte *)(iVar4 + iVar8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar8)" ( (binary_expression "iVar4 + iVar8" identifier + identifier) ))))) ;) (expression_statement "param_1[6] = (byte)local_30 & 0x9f;" (assignment_expression "param_1[6] = (byte)local_30 & 0x9f" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "(byte)local_30 & 0x9f" (cast_expression "(byte)local_30" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "*param_1 = bVar3;" (assignment_expression "*param_1 = bVar3" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "iVar7 = param_2[0x14];" (assignment_expression "iVar7 = param_2[0x14]" identifier = (subscript_expression "param_2[0x14]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 < 2) {\n    if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\nLAB_0006b3b0:\n    iVar1 = iVar8 + 1;\n    if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }" if (parenthesized_expression "(iVar7 < 2)" ( (binary_expression "iVar7 < 2" identifier < number_literal) )) (compound_statement "{\n    if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\nLAB_0006b3b0:\n    iVar1 = iVar8 + 1;\n    if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }" { (if_statement "if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }" if (parenthesized_expression "(bVar3 != 0x5c)" ( (binary_expression "bVar3 != 0x5c" identifier != number_literal) )) (compound_statement "{\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }" { (expression_statement "param_1[4] = 1;" (assignment_expression "param_1[4] = 1" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_30._0_1_ = (byte)local_30 & 0x9f;" (assignment_expression "local_30._0_1_ = (byte)local_30 & 0x9f" (field_expression "local_30._0_1_" identifier . field_identifier) = (binary_expression "(byte)local_30 & 0x9f" (cast_expression "(byte)local_30" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "ppuVar9 = __ctype_b_loc();" (assignment_expression "ppuVar9 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);" (assignment_expression "param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6)" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "(byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6)" (cast_expression "(byte)local_30" ( (type_descriptor "byte" type_identifier) ) identifier) | (call_expression "(byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6)" ( (binary_expression "((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6" (parenthesized_expression "((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f))" ( (binary_expression "(*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)" (binary_expression "(*ppuVar9)[bVar3] >> 3 & 1" (binary_expression "(*ppuVar9)[bVar3] >> 3" (subscript_expression "(*ppuVar9)[bVar3]" (parenthesized_expression "(*ppuVar9)" ( (pointer_expression "*ppuVar9" * identifier) )) [ identifier ]) >> number_literal) & number_literal) | (call_expression "(uint)(bVar3 == 0x5f)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar3 == 0x5f)" ( (binary_expression "bVar3 == 0x5f" identifier == number_literal) )))) )) << number_literal) ))))) ;) (goto_statement "goto LAB_0006b346;" goto statement_identifier ;) })) (labeled_statement "LAB_0006b3b0:\n    iVar1 = iVar8 + 1;" statement_identifier : (expression_statement "iVar1 = iVar8 + 1;" (assignment_expression "iVar1 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) (if_statement "if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }" if (parenthesized_expression "(param_2[0xc] <= iVar1)" ( (binary_expression "param_2[0xc] <= iVar1" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }" { (expression_statement "param_1[4] = 0x24;" (assignment_expression "param_1[4] = 0x24" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })) (if_statement "if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }" if (parenthesized_expression "(*(char *)((int)param_2 + 0x4b) == '\0')" ( (binary_expression "*(char *)((int)param_2 + 0x4b) == '\0'" (pointer_expression "*(char *)((int)param_2 + 0x4b)" * (cast_expression "(char *)((int)param_2 + 0x4b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x4b)" ( (binary_expression "(int)param_2 + 0x4b" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }" { (labeled_statement "LAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);" statement_identifier : (expression_statement "local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);" (assignment_expression "local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8)" identifier = (binary_expression "(uint)*(byte *)(iVar4 + 1 + iVar8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar4 + 1 + iVar8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1 + iVar8)" ( (binary_expression "iVar4 + 1 + iVar8" (binary_expression "iVar4 + 1" identifier + number_literal) + identifier) ))))) ;)) (labeled_statement "LAB_0006b408:\n      param_1[4] = 1;" statement_identifier : (expression_statement "param_1[4] = 1;" (assignment_expression "param_1[4] = 1" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "*param_1 = (byte)local_30;" (assignment_expression "*param_1 = (byte)local_30" (pointer_expression "*param_1" * identifier) = (cast_expression "(byte)local_30" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }" if (parenthesized_expression "(1 < iVar7)" ( (binary_expression "1 < iVar7" number_literal < identifier) )) (compound_statement "{\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }" { (expression_statement "pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);" (assignment_expression "pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4)" identifier = (cast_expression "(wint_t *)(param_2[2] + iVar1 * 4)" ( (type_descriptor "wint_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[2] + iVar1 * 4)" ( (binary_expression "param_2[2] + iVar1 * 4" (subscript_expression "param_2[2]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) ;) (goto_statement "goto LAB_0006b421;" goto statement_identifier ;) })) (expression_statement "ppuVar9 = __ctype_b_loc();" (assignment_expression "ppuVar9 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;" (assignment_expression "param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "(byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf" (call_expression "(byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6)" ( (binary_expression "((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6" (parenthesized_expression "((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f))" ( (binary_expression "(*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)" (binary_expression "(*ppuVar9)[local_30] >> 3 & 1" (binary_expression "(*ppuVar9)[local_30] >> 3" (subscript_expression "(*ppuVar9)[local_30]" (parenthesized_expression "(*ppuVar9)" ( (pointer_expression "*ppuVar9" * identifier) )) [ identifier ]) >> number_literal) & number_literal) | (call_expression "(uint)((byte)local_30 == 0x5f)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)local_30 == 0x5f)" ( (binary_expression "(byte)local_30 == 0x5f" (cast_expression "(byte)local_30" ( (type_descriptor "byte" type_identifier) ) identifier) == number_literal) )))) )) << number_literal) ))) | (binary_expression "param_1[6] & 0xbf" (subscript_expression "param_1[6]" identifier [ number_literal ]) & number_literal))) ;) }) (else_clause "else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }" else (compound_statement "{\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }" { (if_statement "if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }" if (parenthesized_expression "(iVar7 < 2)" ( (binary_expression "iVar7 < 2" identifier < number_literal) )) (compound_statement "{\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }" { (labeled_statement "LAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }" statement_identifier : (if_statement "if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }" if (parenthesized_expression "((char)param_2[0x13] == '\0')" ( (binary_expression "(char)param_2[0x13] == '\0'" (cast_expression "(char)param_2[0x13]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[0x13]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }" { (expression_statement "local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);" (assignment_expression "local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6])" identifier = (binary_expression "(uint)*(byte *)(*param_2 + iVar1 + param_2[6])" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*param_2 + iVar1 + param_2[6])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_2 + iVar1 + param_2[6])" ( (binary_expression "*param_2 + iVar1 + param_2[6]" (binary_expression "*param_2 + iVar1" (pointer_expression "*param_2" * identifier) + identifier) + (subscript_expression "param_2[6]" identifier [ number_literal ])) ))))) ;) }) (else_clause "else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }" else (compound_statement "{\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }" { (expression_statement "bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));" (assignment_expression "bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4))" identifier = (pointer_expression "*(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4))" * (cast_expression "(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4))" ( (binary_expression "*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4)" (binary_expression "*param_2 + param_2[6]" (pointer_expression "*param_2" * identifier) + (subscript_expression "param_2[6]" identifier [ number_literal ])) + (pointer_expression "*(int *)(param_2[3] + iVar1 * 4)" * (cast_expression "(int *)(param_2[3] + iVar1 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[3] + iVar1 * 4)" ( (binary_expression "param_2[3] + iVar1 * 4" (subscript_expression "param_2[3]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) ))))) ))))) ;) (expression_statement "local_30 = (uint)bVar3;" (assignment_expression "local_30 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;" if (parenthesized_expression "((bVar3 & 0x80) != 0)" ( (binary_expression "(bVar3 & 0x80) != 0" (parenthesized_expression "(bVar3 & 0x80)" ( (binary_expression "bVar3 & 0x80" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0006b3f2;" goto statement_identifier ;)) })))) (goto_statement "goto LAB_0006b408;" goto statement_identifier ;) })) (expression_statement "pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);" (assignment_expression "pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4)" identifier = (cast_expression "(wint_t *)(param_2[2] + iVar1 * 4)" ( (type_descriptor "wint_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[2] + iVar1 * 4)" ( (binary_expression "param_2[2] + iVar1 * 4" (subscript_expression "param_2[2]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) ;) (if_statement "if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;" if (parenthesized_expression "((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))" ( (binary_expression "(*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1)))" (parenthesized_expression "(*pwVar10 != 0xffffffff)" ( (binary_expression "*pwVar10 != 0xffffffff" (pointer_expression "*pwVar10" * identifier) != number_literal) )) && (parenthesized_expression "((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1)))" ( (parenthesized_expression "(param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))" ( (binary_expression "param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1)" (binary_expression "param_2[7] == iVar8 + 2" (subscript_expression "param_2[7]" identifier [ number_literal ]) == (binary_expression "iVar8 + 2" identifier + number_literal)) || (parenthesized_expression "(*(int *)(param_2[2] + 4 + iVar1 * 4) != -1)" ( (binary_expression "*(int *)(param_2[2] + 4 + iVar1 * 4) != -1" (pointer_expression "*(int *)(param_2[2] + 4 + iVar1 * 4)" * (cast_expression "(int *)(param_2[2] + 4 + iVar1 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[2] + 4 + iVar1 * 4)" ( (binary_expression "param_2[2] + 4 + iVar1 * 4" (binary_expression "param_2[2] + 4" (subscript_expression "param_2[2]" identifier [ number_literal ]) + number_literal) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_0006b8f0;" goto statement_identifier ;)) (expression_statement "bVar3 = *(byte *)(iVar4 + 1 + iVar8);" (assignment_expression "bVar3 = *(byte *)(iVar4 + 1 + iVar8)" identifier = (pointer_expression "*(byte *)(iVar4 + 1 + iVar8)" * (cast_expression "(byte *)(iVar4 + 1 + iVar8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1 + iVar8)" ( (binary_expression "iVar4 + 1 + iVar8" (binary_expression "iVar4 + 1" identifier + number_literal) + identifier) ))))) ;) (expression_statement "param_1[4] = 1;" (assignment_expression "param_1[4] = 1" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*param_1 = bVar3;" (assignment_expression "*param_1 = bVar3" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "local_30 = (uint)bVar3;" (assignment_expression "local_30 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (labeled_statement "LAB_0006b421:\n      wVar5 = *pwVar10;" statement_identifier : (expression_statement "wVar5 = *pwVar10;" (assignment_expression "wVar5 = *pwVar10" identifier = (pointer_expression "*pwVar10" * identifier)) ;)) (expression_statement "iVar8 = iswalnum(wVar5);" (assignment_expression "iVar8 = iswalnum(wVar5)" identifier = (call_expression "iswalnum(wVar5)" identifier (argument_list "(wVar5)" ( identifier )))) ;) (expression_statement "param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;" (assignment_expression "param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6" (binary_expression "param_1[6] & 0xbf" (subscript_expression "param_1[6]" identifier [ number_literal ]) & number_literal) | (binary_expression "(iVar8 != 0 || wVar5 == 0x5f) << 6" (parenthesized_expression "(iVar8 != 0 || wVar5 == 0x5f)" ( (binary_expression "iVar8 != 0 || wVar5 == 0x5f" (binary_expression "iVar8 != 0" identifier != number_literal) || (binary_expression "wVar5 == 0x5f" identifier == number_literal)) )) << number_literal))) ;) }))) (switch_statement "switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }" switch (parenthesized_expression "(local_30 - 0x27 & 0xff)" ( (binary_expression "local_30 - 0x27 & 0xff" (binary_expression "local_30 - 0x27" identifier - number_literal) & number_literal) )) (compound_statement "{\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }" { (case_statement "case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" { (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0] = 0x80;" (assignment_expression "param_1[0] = 0x80" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x2000) != 0) break;" if (parenthesized_expression "((param_3 & 0x2000) != 0)" ( (binary_expression "(param_3 & 0x2000) != 0" (parenthesized_expression "(param_3 & 0x2000)" ( (binary_expression "param_3 & 0x2000" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto code_r0x0006b4d3;" goto statement_identifier ;)) (case_statement "case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x2000) != 0) break;" if (parenthesized_expression "((param_3 & 0x2000) != 0)" ( (binary_expression "(param_3 & 0x2000) != 0" (parenthesized_expression "(param_3 & 0x2000)" ( (binary_expression "param_3 & 0x2000" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto code_r0x0006b513;" goto statement_identifier ;)) (case_statement "default:\n      uVar6 = 2;\n      break;" default : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x402) != 2) break;" if (parenthesized_expression "((param_3 & 0x402) != 2)" ( (binary_expression "(param_3 & 0x402) != 2" (parenthesized_expression "(param_3 & 0x402)" ( (binary_expression "param_3 & 0x402" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto code_r0x0006b543;" goto statement_identifier ;)) (case_statement "case 10:" case number_literal :) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0xc:" case number_literal :) (case_statement "case 0xd:" case number_literal :) (case_statement "case 0xe:" case number_literal :) (case_statement "case 0xf:" case number_literal :) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x11:" case number_literal :) (case_statement "case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }" if (parenthesized_expression "((param_3 & 0x4000) == 0)" ( (binary_expression "(param_3 & 0x4000) == 0" (parenthesized_expression "(param_3 & 0x4000)" ( (binary_expression "param_3 & 0x4000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }" { (expression_statement "param_1[4] = 4;" (assignment_expression "param_1[4] = 4" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint *)param_1 = local_30 - 0x31;" (assignment_expression "*(uint *)param_1 = local_30 - 0x31" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "local_30 - 0x31" identifier - number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" { (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0] = 6;" (assignment_expression "param_1[0] = 6" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" { (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0] = 9;" (assignment_expression "param_1[0] = 9" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x402) != 2) break;" if (parenthesized_expression "((param_3 & 0x402) != 2)" ( (binary_expression "(param_3 & 0x402) != 2" (parenthesized_expression "(param_3 & 0x402)" ( (binary_expression "param_3 & 0x402" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto code_r0x0006b573;" goto statement_identifier ;)) (case_statement "case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" { (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0] = 0;" (assignment_expression "param_1[0] = 0" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 2;" (assignment_expression "param_1[1] = 2" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0x23;\n      }" { (expression_statement "param_1[4] = 0x23;" (assignment_expression "param_1[4] = 0x23" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0x21;\n      }" { (expression_statement "param_1[4] = 0x21;" (assignment_expression "param_1[4] = 0x21" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" { (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0] = 0x40;" (assignment_expression "param_1[0] = 0x40" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" { (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0] = 0;" (assignment_expression "param_1[0] = 0" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 1;" (assignment_expression "param_1[1] = 1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0x22;\n      }" { (expression_statement "param_1[4] = 0x22;" (assignment_expression "param_1[4] = 0x22" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0x20;\n      }" { (expression_statement "param_1[4] = 0x20;" (assignment_expression "param_1[4] = 0x20" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x1200) != 0x200) break;" if (parenthesized_expression "((param_3 & 0x1200) != 0x200)" ( (binary_expression "(param_3 & 0x1200) != 0x200" (parenthesized_expression "(param_3 & 0x1200)" ( (binary_expression "param_3 & 0x1200" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto code_r0x0006b5db;" goto statement_identifier ;)) (case_statement "case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }" if (parenthesized_expression "((param_3 & 0x8400) == 0)" ( (binary_expression "(param_3 & 0x8400) == 0" (parenthesized_expression "(param_3 & 0x8400)" ( (binary_expression "param_3 & 0x8400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 10;\n      }" { (expression_statement "param_1[4] = 10;" (assignment_expression "param_1[4] = 10" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x1200) != 0x200) break;" if (parenthesized_expression "((param_3 & 0x1200) != 0x200)" ( (binary_expression "(param_3 & 0x1200) != 0x200" (parenthesized_expression "(param_3 & 0x1200)" ( (binary_expression "param_3 & 0x1200" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto code_r0x0006b62b;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })) (if_statement "if ((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)) {\n    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;\n    uVar6 = 1;\n    goto LAB_0006b3cc;\n  }" if (parenthesized_expression "((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1))" ( (binary_expression "(iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)" (parenthesized_expression "(iVar8 != param_2[7])" ( (binary_expression "iVar8 != param_2[7]" identifier != (subscript_expression "param_2[7]" identifier [ number_literal ])) )) && (parenthesized_expression "(*(int *)(param_2[2] + iVar8 * 4) == -1)" ( (binary_expression "*(int *)(param_2[2] + iVar8 * 4) == -1" (pointer_expression "*(int *)(param_2[2] + iVar8 * 4)" * (cast_expression "(int *)(param_2[2] + iVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[2] + iVar8 * 4)" ( (binary_expression "param_2[2] + iVar8 * 4" (subscript_expression "param_2[2]" identifier [ number_literal ]) + (binary_expression "iVar8 * 4" identifier * number_literal)) )))) == number_literal) ))) )) (compound_statement "{\n    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;\n    uVar6 = 1;\n    goto LAB_0006b3cc;\n  }" { (expression_statement "*(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;" (assignment_expression "*(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001" (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001" (binary_expression "*(uint *)(param_1 + 4) & 0xffdfff00" (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })) (if_statement "if (bVar3 == 0x5c) goto LAB_0006b3b0;" if (parenthesized_expression "(bVar3 == 0x5c)" ( (binary_expression "bVar3 == 0x5c" identifier == number_literal) )) (goto_statement "goto LAB_0006b3b0;" goto statement_identifier ;)) (expression_statement "iVar7 = param_2[2];" (assignment_expression "iVar7 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "param_1[4] = 1;" (assignment_expression "param_1[4] = 1" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "wVar5 = *(wint_t *)(iVar7 + iVar8 * 4);" (assignment_expression "wVar5 = *(wint_t *)(iVar7 + iVar8 * 4)" identifier = (pointer_expression "*(wint_t *)(iVar7 + iVar8 * 4)" * (cast_expression "(wint_t *)(iVar7 + iVar8 * 4)" ( (type_descriptor "wint_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar8 * 4)" ( (binary_expression "iVar7 + iVar8 * 4" identifier + (binary_expression "iVar8 * 4" identifier * number_literal)) ))))) ;) (expression_statement "iVar7 = iswalnum(wVar5);" (assignment_expression "iVar7 = iswalnum(wVar5)" identifier = (call_expression "iswalnum(wVar5)" identifier (argument_list "(wVar5)" ( identifier )))) ;) (expression_statement "param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6;" (assignment_expression "param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6" (binary_expression "param_1[6] & 0xbf" (subscript_expression "param_1[6]" identifier [ number_literal ]) & number_literal) | (binary_expression "(wVar5 == 0x5f || iVar7 != 0) << 6" (parenthesized_expression "(wVar5 == 0x5f || iVar7 != 0)" ( (binary_expression "wVar5 == 0x5f || iVar7 != 0" (binary_expression "wVar5 == 0x5f" identifier == number_literal) || (binary_expression "iVar7 != 0" identifier != number_literal)) )) << number_literal))) ;) (labeled_statement "LAB_0006b346:\n  switch(bVar3) {\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }" statement_identifier : (switch_statement "switch(bVar3) {\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }" switch (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }" { (case_statement "case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;" case number_literal : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x800) == 0) break;" if (parenthesized_expression "((param_3 & 0x800) == 0)" ( (binary_expression "(param_3 & 0x800) == 0" (parenthesized_expression "(param_3 & 0x800)" ( (binary_expression "param_3 & 0x800" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto code_r0x0006b5fb;" goto statement_identifier ;)) (case_statement "default:\n    goto LAB_0006b4f6;" default : (goto_statement "goto LAB_0006b4f6;" goto statement_identifier ;)) (case_statement "case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;" case number_literal : (if_statement "if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }" if (parenthesized_expression "(((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc]))" ( (binary_expression "((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])" (parenthesized_expression "((param_3 & 8) == 0)" ( (binary_expression "(param_3 & 8) == 0" (parenthesized_expression "(param_3 & 8)" ( (binary_expression "param_3 & 8" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar8 + 1 != param_2[0xc])" ( (binary_expression "iVar8 + 1 != param_2[0xc]" (binary_expression "iVar8 + 1" identifier + number_literal) != (subscript_expression "param_2[0xc]" identifier [ number_literal ])) ))) )) (compound_statement "{\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }" { (expression_statement "param_2[10] = iVar8 + 1;" (assignment_expression "param_2[10] = iVar8 + 1" (subscript_expression "param_2[10]" identifier [ number_literal ]) = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0006b290();" (call_expression "FUN_0006b290()" identifier (argument_list "()" ( ))) ;) (expression_statement "param_2[10] = param_2[10] + -1;" (assignment_expression "param_2[10] = param_2[10] + -1" (subscript_expression "param_2[10]" identifier [ number_literal ]) = (binary_expression "param_2[10] + -1" (subscript_expression "param_2[10]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if (1 < (byte)(cStack_24 - 9U)) break;" if (parenthesized_expression "(1 < (byte)(cStack_24 - 9U))" ( (binary_expression "1 < (byte)(cStack_24 - 9U)" number_literal < (call_expression "(byte)(cStack_24 - 9U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cStack_24 - 9U)" ( (binary_expression "cStack_24 - 9U" identifier - number_literal) )))) )) (break_statement "break;" break ;)) })) (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "param_1[0] = 0x20;" (assignment_expression "param_1[0] = 0x20" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;" case number_literal : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x2000) == 0) break;" if (parenthesized_expression "((param_3 & 0x2000) == 0)" ( (binary_expression "(param_3 & 0x2000) == 0" (parenthesized_expression "(param_3 & 0x2000)" ( (binary_expression "param_3 & 0x2000" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x0006b4d3:\n    param_1[4] = 8;" statement_identifier : (expression_statement "param_1[4] = 8;" (assignment_expression "param_1[4] = 8" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;" case number_literal : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x2000) == 0) break;" if (parenthesized_expression "((param_3 & 0x2000) == 0)" ( (binary_expression "(param_3 & 0x2000) == 0" (parenthesized_expression "(param_3 & 0x2000)" ( (binary_expression "param_3 & 0x2000" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x0006b513:\n    param_1[4] = 9;" statement_identifier : (expression_statement "param_1[4] = 9;" (assignment_expression "param_1[4] = 9" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;" case number_literal : (expression_statement "param_1[4] = 0xb;" (assignment_expression "param_1[4] = 0xb" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;" case number_literal : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x402) != 0) break;" if (parenthesized_expression "((param_3 & 0x402) != 0)" ( (binary_expression "(param_3 & 0x402) != 0" (parenthesized_expression "(param_3 & 0x402)" ( (binary_expression "param_3 & 0x402" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x0006b543:\n    param_1[4] = 0x12;" statement_identifier : (expression_statement "param_1[4] = 0x12;" (assignment_expression "param_1[4] = 0x12" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;" case number_literal : (expression_statement "param_1[4] = 5;" (assignment_expression "param_1[4] = 5" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;" case number_literal : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x402) != 0) break;" if (parenthesized_expression "((param_3 & 0x402) != 0)" ( (binary_expression "(param_3 & 0x402) != 0" (parenthesized_expression "(param_3 & 0x402)" ( (binary_expression "param_3 & 0x402" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x0006b573:\n    param_1[4] = 0x13;" statement_identifier : (expression_statement "param_1[4] = 0x13;" (assignment_expression "param_1[4] = 0x13" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;" case number_literal : (expression_statement "param_1[4] = 0x14;" (assignment_expression "param_1[4] = 0x14" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;" case number_literal : (if_statement "if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }" if (parenthesized_expression "((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0))))" ( (binary_expression "(((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))" (parenthesized_expression "(((param_3 & 0x800008) != 0) || (iVar8 == 0))" ( (binary_expression "((param_3 & 0x800008) != 0) || (iVar8 == 0)" (parenthesized_expression "((param_3 & 0x800008) != 0)" ( (binary_expression "(param_3 & 0x800008) != 0" (parenthesized_expression "(param_3 & 0x800008)" ( (binary_expression "param_3 & 0x800008" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))" ( (parenthesized_expression "(*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0))" ( (binary_expression "*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)" (binary_expression "*(char *)(iVar4 + -1 + iVar8) == '\n'" (pointer_expression "*(char *)(iVar4 + -1 + iVar8)" * (cast_expression "(char *)(iVar4 + -1 + iVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -1 + iVar8)" ( (binary_expression "iVar4 + -1 + iVar8" (binary_expression "iVar4 + -1" identifier + number_literal) + identifier) )))) == (char_literal "'\n'" ' escape_sequence ')) && (parenthesized_expression "((param_3 & 0x800) != 0)" ( (binary_expression "(param_3 & 0x800) != 0" (parenthesized_expression "(param_3 & 0x800)" ( (binary_expression "param_3 & 0x800" identifier & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }" { (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "param_1[0] = 0x10;" (assignment_expression "param_1[0] = 0x10" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (break_statement "break;" break ;) })) (goto_statement "goto LAB_0006b4f6;" goto statement_identifier ;)) (case_statement "case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;" case number_literal : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x1200) != 0x1200) break;" if (parenthesized_expression "((param_3 & 0x1200) != 0x1200)" ( (binary_expression "(param_3 & 0x1200) != 0x1200" (parenthesized_expression "(param_3 & 0x1200)" ( (binary_expression "param_3 & 0x1200" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x0006b5db:\n    param_1[4] = 0x17;" statement_identifier : (expression_statement "param_1[4] = 0x17;" (assignment_expression "param_1[4] = 0x17" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;" case number_literal : (if_statement "if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;" if (parenthesized_expression "((param_3 & 0x8400) != 0x8000)" ( (binary_expression "(param_3 & 0x8400) != 0x8000" (parenthesized_expression "(param_3 & 0x8400)" ( (binary_expression "param_3 & 0x8400" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0006b4f6;" goto statement_identifier ;)) (labeled_statement "code_r0x0006b5fb:\n    param_1[4] = 10;" statement_identifier : (expression_statement "param_1[4] = 10;" (assignment_expression "param_1[4] = 10" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;" case number_literal : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x1200) != 0x1200) break;" if (parenthesized_expression "((param_3 & 0x1200) != 0x1200)" ( (binary_expression "(param_3 & 0x1200) != 0x1200" (parenthesized_expression "(param_3 & 0x1200)" ( (binary_expression "param_3 & 0x1200" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x0006b62b:\n    param_1[4] = 0x18;" statement_identifier : (expression_statement "param_1[4] = 0x18;" (assignment_expression "param_1[4] = 0x18" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;))) }))) (labeled_statement "LAB_0006b3cc:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar6;\n  }" statement_identifier : (if_statement "if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar6;\n  }" if (parenthesized_expression "(iVar2 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar2 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar6;\n  }" { (return_statement "return uVar6;" return identifier ;) }))) comment (expression_statement "FUN_0007ad20();" (call_expression "FUN_0007ad20()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0006b4f6:\n  uVar6 = 1;" statement_identifier : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint __regparm3 peek_token(re_token_t *token,re_string_t *input,reg_syntax_t syntax)\n\n{\n  int iVar1;\n  byte bVar2;\n  uchar uVar3;\n  uchar *puVar4;\n  wint_t wVar5;\n  int iVar6;\n  int iVar7;\n  ushort **ppuVar8;\n  wint_t *pwVar9;\n  int in_GS_OFFSET;\n  lexical_block_5 *in_stack_ffffffb8;\n  uint uStack_30;\n  re_token_t rStack_28;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x6b29d;\n  iVar7 = input->cur_idx;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar6 = 0;\n  if (input->stop <= iVar7) {\n    token->field_0x4 = 2;\n    goto LAB_0006b3cc;\n  }\n  puVar4 = input->mbs;\n  uStack_30._0_1_ = token->field_0x6;\n  bVar2 = puVar4[iVar7];\n  token->field_0x6 = (byte)uStack_30 & 0x9f;\n  (token->opr).c = bVar2;\n  iVar6 = input->mb_cur_max;\n  if (iVar6 < 2) {\n    if (bVar2 != 0x5c) {\n      token->field_0x4 = 1;\n      uStack_30._0_1_ = (byte)uStack_30 & 0x9f;\n      ppuVar8 = __ctype_b_loc();\n      token->field_0x6 =\n           (byte)uStack_30 | (byte)(((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\npeek_token_lexical_block_5:\n    iVar1 = iVar7 + 1;\n    if (input->len <= iVar1) {\n      token->field_0x4 = 0x24;\n      iVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (input->mbs_allocated == '\0') {\nLAB_0006b3f2:\n      uStack_30 = (uint)puVar4[iVar7 + 1];\n    }\n    else {\n      if (1 < iVar6) {\n        pwVar9 = input->wcs + iVar1;\n        if ((*pwVar9 == 0xffffffff) ||\n           ((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)))) {\n          uVar3 = puVar4[iVar7 + 1];\n          token->field_0x4 = 1;\n          (token->opr).c = uVar3;\n          peek_token::lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);\n          return (int)pwVar9;\n        }\n      }\n      if (input->offsets_needed == '\0') {\n        uStack_30 = (uint)input->raw_mbs[input->raw_mbs_idx + iVar1];\n      }\n      else {\n        bVar2 = input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx];\n        uStack_30 = (uint)bVar2;\n        if ((bVar2 & 0x80) != 0) goto LAB_0006b3f2;\n      }\n    }\n    token->field_0x4 = 1;\n    (token->opr).c = (uchar)uStack_30;\n    if (iVar6 < 2) {\n      ppuVar8 = __ctype_b_loc();\n      token->field_0x6 =\n           (byte)(((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')) << 6) |\n           token->field_0x6 & 0xbf;\n    }\n    else {\n      wVar5 = input->wcs[iVar1];\n      iVar7 = iswalnum(wVar5);\n      token->field_0x6 = token->field_0x6 & 0xbf | (iVar7 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(uStack_30 - 0x27 & 0xff) {\n    case 0:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x80;\n      }\n      break;\n    case 1:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b4d3;\n    case 2:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b513;\n    default:\n      iVar6 = 2;\n      break;\n    case 4:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      iVar6 = 2;\n      if ((syntax & 0x4000) == 0) {\n        token->field_0x4 = 4;\n        (token->opr).sbcset = (re_bitset_ptr_t)(uStack_30 - 0x31);\n      }\n      break;\n    case 0x15:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 6;\n      }\n      break;\n    case 0x17:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 9;\n      }\n      break;\n    case 0x18:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b573;\n    case 0x1b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x200;\n      }\n      break;\n    case 0x2c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x23;\n      }\n      break;\n    case 0x30:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x21;\n      }\n      break;\n    case 0x39:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x40;\n      }\n      break;\n    case 0x3b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x100;\n      }\n      break;\n    case 0x4c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x22;\n      }\n      break;\n    case 0x50:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x20;\n      }\n      break;\n    case 0x54:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b5db;\n    case 0x55:\n      iVar6 = 2;\n      if ((syntax & 0x8400) == 0) {\n        token->field_0x4 = 10;\n      }\n      break;\n    case 0x56:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }\n  if ((iVar7 != input->valid_len) && (input->wcs[iVar7] == 0xffffffff)) {\n    *(uint *)&token->field_0x4 = *(uint *)&token->field_0x4 & 0xffdfff00 | 0x200001;\n    iVar6 = 1;\n    goto LAB_0006b3cc;\n  }\n  if (bVar2 == 0x5c) goto peek_token_lexical_block_5;\n  pwVar9 = input->wcs;\n  token->field_0x4 = 1;\n  wVar5 = pwVar9[iVar7];\n  iVar6 = iswalnum(wVar5);\n  token->field_0x6 = token->field_0x6 & 0xbf | (wVar5 == 0x5f || iVar6 != 0) << 6;\nLAB_0006b346:\n  switch(bVar2) {\n  case 10:\n    iVar6 = 1;\n    if ((syntax & 0x800) == 0) break;\n    goto LAB_0006b5fb;\n  default:\n    goto _L1133;\n  case 0x24:\n    if (((syntax & 8) == 0) && (iVar7 + 1 != input->len)) {\n      input->cur_idx = iVar7 + 1;\n      peek_token(&rStack_28,input,syntax);\n      input->cur_idx = input->cur_idx + -1;\n      iVar6 = 1;\n      if (1 < (byte)(rStack_28._4_1_ - 9)) break;\n    }\n    token->field_0x4 = 0xc;\n    iVar6 = 1;\n    (token->opr).idx = 0x20;\n    break;\n  case 0x28:\n    iVar6 = 1;\n    if ((syntax & 0x2000) == 0) break;\nLAB_0006b4d3:\n    token->field_0x4 = 8;\n    break;\n  case 0x29:\n    iVar6 = 1;\n    if ((syntax & 0x2000) == 0) break;\nLAB_0006b513:\n    token->field_0x4 = 9;\n    break;\n  case 0x2a:\n    token->field_0x4 = 0xb;\n    iVar6 = 1;\n    break;\n  case 0x2b:\n    iVar6 = 1;\n    if ((syntax & 0x402) != 0) break;\nLAB_0006b543:\n    token->field_0x4 = 0x12;\n    break;\n  case 0x2e:\n    token->field_0x4 = 5;\n    iVar6 = 1;\n    break;\n  case 0x3f:\n    iVar6 = 1;\n    if ((syntax & 0x402) != 0) break;\nLAB_0006b573:\n    token->field_0x4 = 0x13;\n    break;\n  case 0x5b:\n    token->field_0x4 = 0x14;\n    iVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((syntax & 0x800008) != 0) || (iVar7 == 0)) ||\n       ((puVar4[iVar7 + -1] == '\n' && ((syntax & 0x800) != 0)))) {\n      token->field_0x4 = 0xc;\n      iVar6 = 1;\n      (token->opr).idx = 0x10;\n      break;\n    }\n    goto _L1133;\n  case 0x7b:\n    iVar6 = 1;\n    if ((syntax & 0x1200) != 0x1200) break;\nLAB_0006b5db:\n    token->field_0x4 = 0x17;\n    break;\n  case 0x7c:\n    if ((syntax & 0x8400) != 0x8000) goto _L1133;\nLAB_0006b5fb:\n    token->field_0x4 = 10;\n    iVar6 = 1;\n    break;\n  case 0x7d:\n    iVar6 = 1;\n    if ((syntax & 0x1200) != 0x1200) break;\nLAB_0006b62b:\n    token->field_0x4 = 0x18;\n  }\nLAB_0006b3cc:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n_L1133:\n  iVar6 = 1;\n  goto LAB_0006b3cc;\n}\n\n" comment (function_definition "int __regparm3 peek_token(re_token_t *token,re_string_t *input,reg_syntax_t syntax)\n\n{\n  int iVar1;\n  byte bVar2;\n  uchar uVar3;\n  uchar *puVar4;\n  wint_t wVar5;\n  int iVar6;\n  int iVar7;\n  ushort **ppuVar8;\n  wint_t *pwVar9;\n  int in_GS_OFFSET;\n  lexical_block_5 *in_stack_ffffffb8;\n  uint uStack_30;\n  re_token_t rStack_28;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x6b29d;\n  iVar7 = input->cur_idx;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar6 = 0;\n  if (input->stop <= iVar7) {\n    token->field_0x4 = 2;\n    goto LAB_0006b3cc;\n  }\n  puVar4 = input->mbs;\n  uStack_30._0_1_ = token->field_0x6;\n  bVar2 = puVar4[iVar7];\n  token->field_0x6 = (byte)uStack_30 & 0x9f;\n  (token->opr).c = bVar2;\n  iVar6 = input->mb_cur_max;\n  if (iVar6 < 2) {\n    if (bVar2 != 0x5c) {\n      token->field_0x4 = 1;\n      uStack_30._0_1_ = (byte)uStack_30 & 0x9f;\n      ppuVar8 = __ctype_b_loc();\n      token->field_0x6 =\n           (byte)uStack_30 | (byte)(((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\npeek_token_lexical_block_5:\n    iVar1 = iVar7 + 1;\n    if (input->len <= iVar1) {\n      token->field_0x4 = 0x24;\n      iVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (input->mbs_allocated == '\0') {\nLAB_0006b3f2:\n      uStack_30 = (uint)puVar4[iVar7 + 1];\n    }\n    else {\n      if (1 < iVar6) {\n        pwVar9 = input->wcs + iVar1;\n        if ((*pwVar9 == 0xffffffff) ||\n           ((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)))) {\n          uVar3 = puVar4[iVar7 + 1];\n          token->field_0x4 = 1;\n          (token->opr).c = uVar3;\n          peek_token::lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);\n          return (int)pwVar9;\n        }\n      }\n      if (input->offsets_needed == '\0') {\n        uStack_30 = (uint)input->raw_mbs[input->raw_mbs_idx + iVar1];\n      }\n      else {\n        bVar2 = input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx];\n        uStack_30 = (uint)bVar2;\n        if ((bVar2 & 0x80) != 0) goto LAB_0006b3f2;\n      }\n    }\n    token->field_0x4 = 1;\n    (token->opr).c = (uchar)uStack_30;\n    if (iVar6 < 2) {\n      ppuVar8 = __ctype_b_loc();\n      token->field_0x6 =\n           (byte)(((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')) << 6) |\n           token->field_0x6 & 0xbf;\n    }\n    else {\n      wVar5 = input->wcs[iVar1];\n      iVar7 = iswalnum(wVar5);\n      token->field_0x6 = token->field_0x6 & 0xbf | (iVar7 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(uStack_30 - 0x27 & 0xff) {\n    case 0:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x80;\n      }\n      break;\n    case 1:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b4d3;\n    case 2:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b513;\n    default:\n      iVar6 = 2;\n      break;\n    case 4:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      iVar6 = 2;\n      if ((syntax & 0x4000) == 0) {\n        token->field_0x4 = 4;\n        (token->opr).sbcset = (re_bitset_ptr_t)(uStack_30 - 0x31);\n      }\n      break;\n    case 0x15:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 6;\n      }\n      break;\n    case 0x17:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 9;\n      }\n      break;\n    case 0x18:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b573;\n    case 0x1b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x200;\n      }\n      break;\n    case 0x2c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x23;\n      }\n      break;\n    case 0x30:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x21;\n      }\n      break;\n    case 0x39:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x40;\n      }\n      break;\n    case 0x3b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x100;\n      }\n      break;\n    case 0x4c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x22;\n      }\n      break;\n    case 0x50:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x20;\n      }\n      break;\n    case 0x54:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b5db;\n    case 0x55:\n      iVar6 = 2;\n      if ((syntax & 0x8400) == 0) {\n        token->field_0x4 = 10;\n      }\n      break;\n    case 0x56:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }\n  if ((iVar7 != input->valid_len) && (input->wcs[iVar7] == 0xffffffff)) {\n    *(uint *)&token->field_0x4 = *(uint *)&token->field_0x4 & 0xffdfff00 | 0x200001;\n    iVar6 = 1;\n    goto LAB_0006b3cc;\n  }\n  if (bVar2 == 0x5c) goto peek_token_lexical_block_5;\n  pwVar9 = input->wcs;\n  token->field_0x4 = 1;\n  wVar5 = pwVar9[iVar7];\n  iVar6 = iswalnum(wVar5);\n  token->field_0x6 = token->field_0x6 & 0xbf | (wVar5 == 0x5f || iVar6 != 0) << 6;\nLAB_0006b346:\n  switch(bVar2) {\n  case 10:\n    iVar6 = 1;\n    if ((syntax & 0x800) == 0) break;\n    goto LAB_0006b5fb;\n  default:\n    goto _L1133;\n  case 0x24:\n    if (((syntax & 8) == 0) && (iVar7 + 1 != input->len)) {\n      input->cur_idx = iVar7 + 1;\n      peek_token(&rStack_28,input,syntax);\n      input->cur_idx = input->cur_idx + -1;\n      iVar6 = 1;\n      if (1 < (byte)(rStack_28._4_1_ - 9)) break;\n    }\n    token->field_0x4 = 0xc;\n    iVar6 = 1;\n    (token->opr).idx = 0x20;\n    break;\n  case 0x28:\n    iVar6 = 1;\n    if ((syntax & 0x2000) == 0) break;\nLAB_0006b4d3:\n    token->field_0x4 = 8;\n    break;\n  case 0x29:\n    iVar6 = 1;\n    if ((syntax & 0x2000) == 0) break;\nLAB_0006b513:\n    token->field_0x4 = 9;\n    break;\n  case 0x2a:\n    token->field_0x4 = 0xb;\n    iVar6 = 1;\n    break;\n  case 0x2b:\n    iVar6 = 1;\n    if ((syntax & 0x402) != 0) break;\nLAB_0006b543:\n    token->field_0x4 = 0x12;\n    break;\n  case 0x2e:\n    token->field_0x4 = 5;\n    iVar6 = 1;\n    break;\n  case 0x3f:\n    iVar6 = 1;\n    if ((syntax & 0x402) != 0) break;\nLAB_0006b573:\n    token->field_0x4 = 0x13;\n    break;\n  case 0x5b:\n    token->field_0x4 = 0x14;\n    iVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((syntax & 0x800008) != 0) || (iVar7 == 0)) ||\n       ((puVar4[iVar7 + -1] == '\n' && ((syntax & 0x800) != 0)))) {\n      token->field_0x4 = 0xc;\n      iVar6 = 1;\n      (token->opr).idx = 0x10;\n      break;\n    }\n    goto _L1133;\n  case 0x7b:\n    iVar6 = 1;\n    if ((syntax & 0x1200) != 0x1200) break;\nLAB_0006b5db:\n    token->field_0x4 = 0x17;\n    break;\n  case 0x7c:\n    if ((syntax & 0x8400) != 0x8000) goto _L1133;\nLAB_0006b5fb:\n    token->field_0x4 = 10;\n    iVar6 = 1;\n    break;\n  case 0x7d:\n    iVar6 = 1;\n    if ((syntax & 0x1200) != 0x1200) break;\nLAB_0006b62b:\n    token->field_0x4 = 0x18;\n  }\nLAB_0006b3cc:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n_L1133:\n  iVar6 = 1;\n  goto LAB_0006b3cc;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "peek_token(re_token_t *token,re_string_t *input,reg_syntax_t syntax)" identifier (parameter_list "(re_token_t *token,re_string_t *input,reg_syntax_t syntax)" ( (parameter_declaration "re_token_t *token" type_identifier (pointer_declarator "*token" * identifier)) , (parameter_declaration "re_string_t *input" type_identifier (pointer_declarator "*input" * identifier)) , (parameter_declaration "reg_syntax_t syntax" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  byte bVar2;\n  uchar uVar3;\n  uchar *puVar4;\n  wint_t wVar5;\n  int iVar6;\n  int iVar7;\n  ushort **ppuVar8;\n  wint_t *pwVar9;\n  int in_GS_OFFSET;\n  lexical_block_5 *in_stack_ffffffb8;\n  uint uStack_30;\n  re_token_t rStack_28;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x6b29d;\n  iVar7 = input->cur_idx;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar6 = 0;\n  if (input->stop <= iVar7) {\n    token->field_0x4 = 2;\n    goto LAB_0006b3cc;\n  }\n  puVar4 = input->mbs;\n  uStack_30._0_1_ = token->field_0x6;\n  bVar2 = puVar4[iVar7];\n  token->field_0x6 = (byte)uStack_30 & 0x9f;\n  (token->opr).c = bVar2;\n  iVar6 = input->mb_cur_max;\n  if (iVar6 < 2) {\n    if (bVar2 != 0x5c) {\n      token->field_0x4 = 1;\n      uStack_30._0_1_ = (byte)uStack_30 & 0x9f;\n      ppuVar8 = __ctype_b_loc();\n      token->field_0x6 =\n           (byte)uStack_30 | (byte)(((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\npeek_token_lexical_block_5:\n    iVar1 = iVar7 + 1;\n    if (input->len <= iVar1) {\n      token->field_0x4 = 0x24;\n      iVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (input->mbs_allocated == '\0') {\nLAB_0006b3f2:\n      uStack_30 = (uint)puVar4[iVar7 + 1];\n    }\n    else {\n      if (1 < iVar6) {\n        pwVar9 = input->wcs + iVar1;\n        if ((*pwVar9 == 0xffffffff) ||\n           ((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)))) {\n          uVar3 = puVar4[iVar7 + 1];\n          token->field_0x4 = 1;\n          (token->opr).c = uVar3;\n          peek_token::lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);\n          return (int)pwVar9;\n        }\n      }\n      if (input->offsets_needed == '\0') {\n        uStack_30 = (uint)input->raw_mbs[input->raw_mbs_idx + iVar1];\n      }\n      else {\n        bVar2 = input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx];\n        uStack_30 = (uint)bVar2;\n        if ((bVar2 & 0x80) != 0) goto LAB_0006b3f2;\n      }\n    }\n    token->field_0x4 = 1;\n    (token->opr).c = (uchar)uStack_30;\n    if (iVar6 < 2) {\n      ppuVar8 = __ctype_b_loc();\n      token->field_0x6 =\n           (byte)(((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')) << 6) |\n           token->field_0x6 & 0xbf;\n    }\n    else {\n      wVar5 = input->wcs[iVar1];\n      iVar7 = iswalnum(wVar5);\n      token->field_0x6 = token->field_0x6 & 0xbf | (iVar7 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(uStack_30 - 0x27 & 0xff) {\n    case 0:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x80;\n      }\n      break;\n    case 1:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b4d3;\n    case 2:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b513;\n    default:\n      iVar6 = 2;\n      break;\n    case 4:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      iVar6 = 2;\n      if ((syntax & 0x4000) == 0) {\n        token->field_0x4 = 4;\n        (token->opr).sbcset = (re_bitset_ptr_t)(uStack_30 - 0x31);\n      }\n      break;\n    case 0x15:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 6;\n      }\n      break;\n    case 0x17:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 9;\n      }\n      break;\n    case 0x18:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b573;\n    case 0x1b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x200;\n      }\n      break;\n    case 0x2c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x23;\n      }\n      break;\n    case 0x30:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x21;\n      }\n      break;\n    case 0x39:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x40;\n      }\n      break;\n    case 0x3b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x100;\n      }\n      break;\n    case 0x4c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x22;\n      }\n      break;\n    case 0x50:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x20;\n      }\n      break;\n    case 0x54:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b5db;\n    case 0x55:\n      iVar6 = 2;\n      if ((syntax & 0x8400) == 0) {\n        token->field_0x4 = 10;\n      }\n      break;\n    case 0x56:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }\n  if ((iVar7 != input->valid_len) && (input->wcs[iVar7] == 0xffffffff)) {\n    *(uint *)&token->field_0x4 = *(uint *)&token->field_0x4 & 0xffdfff00 | 0x200001;\n    iVar6 = 1;\n    goto LAB_0006b3cc;\n  }\n  if (bVar2 == 0x5c) goto peek_token_lexical_block_5;\n  pwVar9 = input->wcs;\n  token->field_0x4 = 1;\n  wVar5 = pwVar9[iVar7];\n  iVar6 = iswalnum(wVar5);\n  token->field_0x6 = token->field_0x6 & 0xbf | (wVar5 == 0x5f || iVar6 != 0) << 6;\nLAB_0006b346:\n  switch(bVar2) {\n  case 10:\n    iVar6 = 1;\n    if ((syntax & 0x800) == 0) break;\n    goto LAB_0006b5fb;\n  default:\n    goto _L1133;\n  case 0x24:\n    if (((syntax & 8) == 0) && (iVar7 + 1 != input->len)) {\n      input->cur_idx = iVar7 + 1;\n      peek_token(&rStack_28,input,syntax);\n      input->cur_idx = input->cur_idx + -1;\n      iVar6 = 1;\n      if (1 < (byte)(rStack_28._4_1_ - 9)) break;\n    }\n    token->field_0x4 = 0xc;\n    iVar6 = 1;\n    (token->opr).idx = 0x20;\n    break;\n  case 0x28:\n    iVar6 = 1;\n    if ((syntax & 0x2000) == 0) break;\nLAB_0006b4d3:\n    token->field_0x4 = 8;\n    break;\n  case 0x29:\n    iVar6 = 1;\n    if ((syntax & 0x2000) == 0) break;\nLAB_0006b513:\n    token->field_0x4 = 9;\n    break;\n  case 0x2a:\n    token->field_0x4 = 0xb;\n    iVar6 = 1;\n    break;\n  case 0x2b:\n    iVar6 = 1;\n    if ((syntax & 0x402) != 0) break;\nLAB_0006b543:\n    token->field_0x4 = 0x12;\n    break;\n  case 0x2e:\n    token->field_0x4 = 5;\n    iVar6 = 1;\n    break;\n  case 0x3f:\n    iVar6 = 1;\n    if ((syntax & 0x402) != 0) break;\nLAB_0006b573:\n    token->field_0x4 = 0x13;\n    break;\n  case 0x5b:\n    token->field_0x4 = 0x14;\n    iVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((syntax & 0x800008) != 0) || (iVar7 == 0)) ||\n       ((puVar4[iVar7 + -1] == '\n' && ((syntax & 0x800) != 0)))) {\n      token->field_0x4 = 0xc;\n      iVar6 = 1;\n      (token->opr).idx = 0x10;\n      break;\n    }\n    goto _L1133;\n  case 0x7b:\n    iVar6 = 1;\n    if ((syntax & 0x1200) != 0x1200) break;\nLAB_0006b5db:\n    token->field_0x4 = 0x17;\n    break;\n  case 0x7c:\n    if ((syntax & 0x8400) != 0x8000) goto _L1133;\nLAB_0006b5fb:\n    token->field_0x4 = 10;\n    iVar6 = 1;\n    break;\n  case 0x7d:\n    iVar6 = 1;\n    if ((syntax & 0x1200) != 0x1200) break;\nLAB_0006b62b:\n    token->field_0x4 = 0x18;\n  }\nLAB_0006b3cc:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n_L1133:\n  iVar6 = 1;\n  goto LAB_0006b3cc;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "uchar uVar3;" type_identifier identifier ;) (declaration "uchar *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "wint_t wVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "ushort **ppuVar8;" type_identifier (pointer_declarator "**ppuVar8" * (pointer_declarator "*ppuVar8" * identifier)) ;) (declaration "wint_t *pwVar9;" type_identifier (pointer_declarator "*pwVar9" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "lexical_block_5 *in_stack_ffffffb8;" type_identifier (pointer_declarator "*in_stack_ffffffb8" * identifier) ;) (declaration "uint uStack_30;" type_identifier identifier ;) (declaration "re_token_t rStack_28;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x6b29d;" (assignment_expression "uStack_14 = 0x6b29d" identifier = number_literal) ;) (expression_statement "iVar7 = input->cur_idx;" (assignment_expression "iVar7 = input->cur_idx" identifier = (field_expression "input->cur_idx" identifier -> field_identifier)) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (input->stop <= iVar7) {\n    token->field_0x4 = 2;\n    goto LAB_0006b3cc;\n  }" if (parenthesized_expression "(input->stop <= iVar7)" ( (binary_expression "input->stop <= iVar7" (field_expression "input->stop" identifier -> field_identifier) <= identifier) )) (compound_statement "{\n    token->field_0x4 = 2;\n    goto LAB_0006b3cc;\n  }" { (expression_statement "token->field_0x4 = 2;" (assignment_expression "token->field_0x4 = 2" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })) (expression_statement "puVar4 = input->mbs;" (assignment_expression "puVar4 = input->mbs" identifier = (field_expression "input->mbs" identifier -> field_identifier)) ;) (expression_statement "uStack_30._0_1_ = token->field_0x6;" (assignment_expression "uStack_30._0_1_ = token->field_0x6" (field_expression "uStack_30._0_1_" identifier . field_identifier) = (field_expression "token->field_0x6" identifier -> field_identifier)) ;) (expression_statement "bVar2 = puVar4[iVar7];" (assignment_expression "bVar2 = puVar4[iVar7]" identifier = (subscript_expression "puVar4[iVar7]" identifier [ identifier ])) ;) (expression_statement "token->field_0x6 = (byte)uStack_30 & 0x9f;" (assignment_expression "token->field_0x6 = (byte)uStack_30 & 0x9f" (field_expression "token->field_0x6" identifier -> field_identifier) = (binary_expression "(byte)uStack_30 & 0x9f" (cast_expression "(byte)uStack_30" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "(token->opr).c = bVar2;" (assignment_expression "(token->opr).c = bVar2" (field_expression "(token->opr).c" (parenthesized_expression "(token->opr)" ( (field_expression "token->opr" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "iVar6 = input->mb_cur_max;" (assignment_expression "iVar6 = input->mb_cur_max" identifier = (field_expression "input->mb_cur_max" identifier -> field_identifier)) ;) (if_statement "if (iVar6 < 2) {\n    if (bVar2 != 0x5c) {\n      token->field_0x4 = 1;\n      uStack_30._0_1_ = (byte)uStack_30 & 0x9f;\n      ppuVar8 = __ctype_b_loc();\n      token->field_0x6 =\n           (byte)uStack_30 | (byte)(((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\npeek_token_lexical_block_5:\n    iVar1 = iVar7 + 1;\n    if (input->len <= iVar1) {\n      token->field_0x4 = 0x24;\n      iVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (input->mbs_allocated == '\0') {\nLAB_0006b3f2:\n      uStack_30 = (uint)puVar4[iVar7 + 1];\n    }\n    else {\n      if (1 < iVar6) {\n        pwVar9 = input->wcs + iVar1;\n        if ((*pwVar9 == 0xffffffff) ||\n           ((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)))) {\n          uVar3 = puVar4[iVar7 + 1];\n          token->field_0x4 = 1;\n          (token->opr).c = uVar3;\n          peek_token::lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);\n          return (int)pwVar9;\n        }\n      }\n      if (input->offsets_needed == '\0') {\n        uStack_30 = (uint)input->raw_mbs[input->raw_mbs_idx + iVar1];\n      }\n      else {\n        bVar2 = input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx];\n        uStack_30 = (uint)bVar2;\n        if ((bVar2 & 0x80) != 0) goto LAB_0006b3f2;\n      }\n    }\n    token->field_0x4 = 1;\n    (token->opr).c = (uchar)uStack_30;\n    if (iVar6 < 2) {\n      ppuVar8 = __ctype_b_loc();\n      token->field_0x6 =\n           (byte)(((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')) << 6) |\n           token->field_0x6 & 0xbf;\n    }\n    else {\n      wVar5 = input->wcs[iVar1];\n      iVar7 = iswalnum(wVar5);\n      token->field_0x6 = token->field_0x6 & 0xbf | (iVar7 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(uStack_30 - 0x27 & 0xff) {\n    case 0:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x80;\n      }\n      break;\n    case 1:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b4d3;\n    case 2:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b513;\n    default:\n      iVar6 = 2;\n      break;\n    case 4:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      iVar6 = 2;\n      if ((syntax & 0x4000) == 0) {\n        token->field_0x4 = 4;\n        (token->opr).sbcset = (re_bitset_ptr_t)(uStack_30 - 0x31);\n      }\n      break;\n    case 0x15:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 6;\n      }\n      break;\n    case 0x17:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 9;\n      }\n      break;\n    case 0x18:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b573;\n    case 0x1b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x200;\n      }\n      break;\n    case 0x2c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x23;\n      }\n      break;\n    case 0x30:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x21;\n      }\n      break;\n    case 0x39:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x40;\n      }\n      break;\n    case 0x3b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x100;\n      }\n      break;\n    case 0x4c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x22;\n      }\n      break;\n    case 0x50:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x20;\n      }\n      break;\n    case 0x54:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b5db;\n    case 0x55:\n      iVar6 = 2;\n      if ((syntax & 0x8400) == 0) {\n        token->field_0x4 = 10;\n      }\n      break;\n    case 0x56:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }" if (parenthesized_expression "(iVar6 < 2)" ( (binary_expression "iVar6 < 2" identifier < number_literal) )) (compound_statement "{\n    if (bVar2 != 0x5c) {\n      token->field_0x4 = 1;\n      uStack_30._0_1_ = (byte)uStack_30 & 0x9f;\n      ppuVar8 = __ctype_b_loc();\n      token->field_0x6 =\n           (byte)uStack_30 | (byte)(((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\npeek_token_lexical_block_5:\n    iVar1 = iVar7 + 1;\n    if (input->len <= iVar1) {\n      token->field_0x4 = 0x24;\n      iVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (input->mbs_allocated == '\0') {\nLAB_0006b3f2:\n      uStack_30 = (uint)puVar4[iVar7 + 1];\n    }\n    else {\n      if (1 < iVar6) {\n        pwVar9 = input->wcs + iVar1;\n        if ((*pwVar9 == 0xffffffff) ||\n           ((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)))) {\n          uVar3 = puVar4[iVar7 + 1];\n          token->field_0x4 = 1;\n          (token->opr).c = uVar3;\n          peek_token::lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);\n          return (int)pwVar9;\n        }\n      }\n      if (input->offsets_needed == '\0') {\n        uStack_30 = (uint)input->raw_mbs[input->raw_mbs_idx + iVar1];\n      }\n      else {\n        bVar2 = input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx];\n        uStack_30 = (uint)bVar2;\n        if ((bVar2 & 0x80) != 0) goto LAB_0006b3f2;\n      }\n    }\n    token->field_0x4 = 1;\n    (token->opr).c = (uchar)uStack_30;\n    if (iVar6 < 2) {\n      ppuVar8 = __ctype_b_loc();\n      token->field_0x6 =\n           (byte)(((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')) << 6) |\n           token->field_0x6 & 0xbf;\n    }\n    else {\n      wVar5 = input->wcs[iVar1];\n      iVar7 = iswalnum(wVar5);\n      token->field_0x6 = token->field_0x6 & 0xbf | (iVar7 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(uStack_30 - 0x27 & 0xff) {\n    case 0:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x80;\n      }\n      break;\n    case 1:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b4d3;\n    case 2:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b513;\n    default:\n      iVar6 = 2;\n      break;\n    case 4:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      iVar6 = 2;\n      if ((syntax & 0x4000) == 0) {\n        token->field_0x4 = 4;\n        (token->opr).sbcset = (re_bitset_ptr_t)(uStack_30 - 0x31);\n      }\n      break;\n    case 0x15:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 6;\n      }\n      break;\n    case 0x17:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 9;\n      }\n      break;\n    case 0x18:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b573;\n    case 0x1b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x200;\n      }\n      break;\n    case 0x2c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x23;\n      }\n      break;\n    case 0x30:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x21;\n      }\n      break;\n    case 0x39:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x40;\n      }\n      break;\n    case 0x3b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x100;\n      }\n      break;\n    case 0x4c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x22;\n      }\n      break;\n    case 0x50:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x20;\n      }\n      break;\n    case 0x54:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b5db;\n    case 0x55:\n      iVar6 = 2;\n      if ((syntax & 0x8400) == 0) {\n        token->field_0x4 = 10;\n      }\n      break;\n    case 0x56:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }" { (if_statement "if (bVar2 != 0x5c) {\n      token->field_0x4 = 1;\n      uStack_30._0_1_ = (byte)uStack_30 & 0x9f;\n      ppuVar8 = __ctype_b_loc();\n      token->field_0x6 =\n           (byte)uStack_30 | (byte)(((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }" if (parenthesized_expression "(bVar2 != 0x5c)" ( (binary_expression "bVar2 != 0x5c" identifier != number_literal) )) (compound_statement "{\n      token->field_0x4 = 1;\n      uStack_30._0_1_ = (byte)uStack_30 & 0x9f;\n      ppuVar8 = __ctype_b_loc();\n      token->field_0x6 =\n           (byte)uStack_30 | (byte)(((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }" { (expression_statement "token->field_0x4 = 1;" (assignment_expression "token->field_0x4 = 1" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "uStack_30._0_1_ = (byte)uStack_30 & 0x9f;" (assignment_expression "uStack_30._0_1_ = (byte)uStack_30 & 0x9f" (field_expression "uStack_30._0_1_" identifier . field_identifier) = (binary_expression "(byte)uStack_30 & 0x9f" (cast_expression "(byte)uStack_30" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "ppuVar8 = __ctype_b_loc();" (assignment_expression "ppuVar8 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "token->field_0x6 =\n           (byte)uStack_30 | (byte)(((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)) << 6);" (assignment_expression "token->field_0x6 =\n           (byte)uStack_30 | (byte)(((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)) << 6)" (field_expression "token->field_0x6" identifier -> field_identifier) = (binary_expression "(byte)uStack_30 | (byte)(((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)) << 6)" (cast_expression "(byte)uStack_30" ( (type_descriptor "byte" type_identifier) ) identifier) | (call_expression "(byte)(((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)) << 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)) << 6)" ( (binary_expression "((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)) << 6" (parenthesized_expression "((*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f))" ( (binary_expression "(*ppuVar8)[bVar2] >> 3 & 1 | (uint)(bVar2 == 0x5f)" (binary_expression "(*ppuVar8)[bVar2] >> 3 & 1" (binary_expression "(*ppuVar8)[bVar2] >> 3" (subscript_expression "(*ppuVar8)[bVar2]" (parenthesized_expression "(*ppuVar8)" ( (pointer_expression "*ppuVar8" * identifier) )) [ identifier ]) >> number_literal) & number_literal) | (call_expression "(uint)(bVar2 == 0x5f)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar2 == 0x5f)" ( (binary_expression "bVar2 == 0x5f" identifier == number_literal) )))) )) << number_literal) ))))) ;) (goto_statement "goto LAB_0006b346;" goto statement_identifier ;) })) (labeled_statement "peek_token_lexical_block_5:\n    iVar1 = iVar7 + 1;" statement_identifier : (expression_statement "iVar1 = iVar7 + 1;" (assignment_expression "iVar1 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;)) (if_statement "if (input->len <= iVar1) {\n      token->field_0x4 = 0x24;\n      iVar6 = 1;\n      goto LAB_0006b3cc;\n    }" if (parenthesized_expression "(input->len <= iVar1)" ( (binary_expression "input->len <= iVar1" (field_expression "input->len" identifier -> field_identifier) <= identifier) )) (compound_statement "{\n      token->field_0x4 = 0x24;\n      iVar6 = 1;\n      goto LAB_0006b3cc;\n    }" { (expression_statement "token->field_0x4 = 0x24;" (assignment_expression "token->field_0x4 = 0x24" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })) (if_statement "if (input->mbs_allocated == '\0') {\nLAB_0006b3f2:\n      uStack_30 = (uint)puVar4[iVar7 + 1];\n    }\n    else {\n      if (1 < iVar6) {\n        pwVar9 = input->wcs + iVar1;\n        if ((*pwVar9 == 0xffffffff) ||\n           ((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)))) {\n          uVar3 = puVar4[iVar7 + 1];\n          token->field_0x4 = 1;\n          (token->opr).c = uVar3;\n          peek_token::lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);\n          return (int)pwVar9;\n        }\n      }\n      if (input->offsets_needed == '\0') {\n        uStack_30 = (uint)input->raw_mbs[input->raw_mbs_idx + iVar1];\n      }\n      else {\n        bVar2 = input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx];\n        uStack_30 = (uint)bVar2;\n        if ((bVar2 & 0x80) != 0) goto LAB_0006b3f2;\n      }\n    }" if (parenthesized_expression "(input->mbs_allocated == '\0')" ( (binary_expression "input->mbs_allocated == '\0'" (field_expression "input->mbs_allocated" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0006b3f2:\n      uStack_30 = (uint)puVar4[iVar7 + 1];\n    }" { (labeled_statement "LAB_0006b3f2:\n      uStack_30 = (uint)puVar4[iVar7 + 1];" statement_identifier : (expression_statement "uStack_30 = (uint)puVar4[iVar7 + 1];" (assignment_expression "uStack_30 = (uint)puVar4[iVar7 + 1]" identifier = (cast_expression "(uint)puVar4[iVar7 + 1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar4[iVar7 + 1]" identifier [ (binary_expression "iVar7 + 1" identifier + number_literal) ]))) ;)) }) (else_clause "else {\n      if (1 < iVar6) {\n        pwVar9 = input->wcs + iVar1;\n        if ((*pwVar9 == 0xffffffff) ||\n           ((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)))) {\n          uVar3 = puVar4[iVar7 + 1];\n          token->field_0x4 = 1;\n          (token->opr).c = uVar3;\n          peek_token::lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);\n          return (int)pwVar9;\n        }\n      }\n      if (input->offsets_needed == '\0') {\n        uStack_30 = (uint)input->raw_mbs[input->raw_mbs_idx + iVar1];\n      }\n      else {\n        bVar2 = input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx];\n        uStack_30 = (uint)bVar2;\n        if ((bVar2 & 0x80) != 0) goto LAB_0006b3f2;\n      }\n    }" else (compound_statement "{\n      if (1 < iVar6) {\n        pwVar9 = input->wcs + iVar1;\n        if ((*pwVar9 == 0xffffffff) ||\n           ((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)))) {\n          uVar3 = puVar4[iVar7 + 1];\n          token->field_0x4 = 1;\n          (token->opr).c = uVar3;\n          peek_token::lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);\n          return (int)pwVar9;\n        }\n      }\n      if (input->offsets_needed == '\0') {\n        uStack_30 = (uint)input->raw_mbs[input->raw_mbs_idx + iVar1];\n      }\n      else {\n        bVar2 = input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx];\n        uStack_30 = (uint)bVar2;\n        if ((bVar2 & 0x80) != 0) goto LAB_0006b3f2;\n      }\n    }" { (if_statement "if (1 < iVar6) {\n        pwVar9 = input->wcs + iVar1;\n        if ((*pwVar9 == 0xffffffff) ||\n           ((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)))) {\n          uVar3 = puVar4[iVar7 + 1];\n          token->field_0x4 = 1;\n          (token->opr).c = uVar3;\n          peek_token::lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);\n          return (int)pwVar9;\n        }\n      }" if (parenthesized_expression "(1 < iVar6)" ( (binary_expression "1 < iVar6" number_literal < identifier) )) (compound_statement "{\n        pwVar9 = input->wcs + iVar1;\n        if ((*pwVar9 == 0xffffffff) ||\n           ((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)))) {\n          uVar3 = puVar4[iVar7 + 1];\n          token->field_0x4 = 1;\n          (token->opr).c = uVar3;\n          peek_token::lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);\n          return (int)pwVar9;\n        }\n      }" { (expression_statement "pwVar9 = input->wcs + iVar1;" (assignment_expression "pwVar9 = input->wcs + iVar1" identifier = (binary_expression "input->wcs + iVar1" (field_expression "input->wcs" identifier -> field_identifier) + identifier)) ;) (if_statement "if ((*pwVar9 == 0xffffffff) ||\n           ((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)))) {\n          uVar3 = puVar4[iVar7 + 1];\n          token->field_0x4 = 1;\n          (token->opr).c = uVar3;\n          peek_token::lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);\n          return (int)pwVar9;\n        }" if (parenthesized_expression "((*pwVar9 == 0xffffffff) ||\n           ((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff))))" ( (binary_expression "(*pwVar9 == 0xffffffff) ||\n           ((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)))" (parenthesized_expression "(*pwVar9 == 0xffffffff)" ( (binary_expression "*pwVar9 == 0xffffffff" (pointer_expression "*pwVar9" * identifier) == number_literal) )) || (parenthesized_expression "((input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)))" ( (parenthesized_expression "(input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff))" ( (binary_expression "input->valid_len != iVar7 + 2 && (input->wcs[iVar7 + 2] == 0xffffffff)" (binary_expression "input->valid_len != iVar7 + 2" (field_expression "input->valid_len" identifier -> field_identifier) != (binary_expression "iVar7 + 2" identifier + number_literal)) && (parenthesized_expression "(input->wcs[iVar7 + 2] == 0xffffffff)" ( (binary_expression "input->wcs[iVar7 + 2] == 0xffffffff" (subscript_expression "input->wcs[iVar7 + 2]" (field_expression "input->wcs" identifier -> field_identifier) [ (binary_expression "iVar7 + 2" identifier + number_literal) ]) == number_literal) ))) )) ))) )) (compound_statement "{\n          uVar3 = puVar4[iVar7 + 1];\n          token->field_0x4 = 1;\n          (token->opr).c = uVar3;\n          peek_token::lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);\n          return (int)pwVar9;\n        }" { (expression_statement "uVar3 = puVar4[iVar7 + 1];" (assignment_expression "uVar3 = puVar4[iVar7 + 1]" identifier = (subscript_expression "puVar4[iVar7 + 1]" identifier [ (binary_expression "iVar7 + 1" identifier + number_literal) ])) ;) (expression_statement "token->field_0x4 = 1;" (assignment_expression "token->field_0x4 = 1" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "(token->opr).c = uVar3;" (assignment_expression "(token->opr).c = uVar3" (field_expression "(token->opr).c" (parenthesized_expression "(token->opr)" ( (field_expression "token->opr" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (labeled_statement "peek_token::lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_5::lexical_block_5_2(in_stack_ffffffb8);" statement_identifier : (ERROR ":" :) (expression_statement "lexical_block_5_2(in_stack_ffffffb8);" (call_expression "lexical_block_5_2(in_stack_ffffffb8)" identifier (argument_list "(in_stack_ffffffb8)" ( identifier ))) ;))) (return_statement "return (int)pwVar9;" return (cast_expression "(int)pwVar9" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) })) (if_statement "if (input->offsets_needed == '\0') {\n        uStack_30 = (uint)input->raw_mbs[input->raw_mbs_idx + iVar1];\n      }\n      else {\n        bVar2 = input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx];\n        uStack_30 = (uint)bVar2;\n        if ((bVar2 & 0x80) != 0) goto LAB_0006b3f2;\n      }" if (parenthesized_expression "(input->offsets_needed == '\0')" ( (binary_expression "input->offsets_needed == '\0'" (field_expression "input->offsets_needed" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uStack_30 = (uint)input->raw_mbs[input->raw_mbs_idx + iVar1];\n      }" { (expression_statement "uStack_30 = (uint)input->raw_mbs[input->raw_mbs_idx + iVar1];" (assignment_expression "uStack_30 = (uint)input->raw_mbs[input->raw_mbs_idx + iVar1]" identifier = (cast_expression "(uint)input->raw_mbs[input->raw_mbs_idx + iVar1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "input->raw_mbs[input->raw_mbs_idx + iVar1]" (field_expression "input->raw_mbs" identifier -> field_identifier) [ (binary_expression "input->raw_mbs_idx + iVar1" (field_expression "input->raw_mbs_idx" identifier -> field_identifier) + identifier) ]))) ;) }) (else_clause "else {\n        bVar2 = input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx];\n        uStack_30 = (uint)bVar2;\n        if ((bVar2 & 0x80) != 0) goto LAB_0006b3f2;\n      }" else (compound_statement "{\n        bVar2 = input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx];\n        uStack_30 = (uint)bVar2;\n        if ((bVar2 & 0x80) != 0) goto LAB_0006b3f2;\n      }" { (expression_statement "bVar2 = input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx];" (assignment_expression "bVar2 = input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx]" identifier = (subscript_expression "input->raw_mbs[input->offsets[iVar1] + input->raw_mbs_idx]" (field_expression "input->raw_mbs" identifier -> field_identifier) [ (binary_expression "input->offsets[iVar1] + input->raw_mbs_idx" (subscript_expression "input->offsets[iVar1]" (field_expression "input->offsets" identifier -> field_identifier) [ identifier ]) + (field_expression "input->raw_mbs_idx" identifier -> field_identifier)) ])) ;) (expression_statement "uStack_30 = (uint)bVar2;" (assignment_expression "uStack_30 = (uint)bVar2" identifier = (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((bVar2 & 0x80) != 0) goto LAB_0006b3f2;" if (parenthesized_expression "((bVar2 & 0x80) != 0)" ( (binary_expression "(bVar2 & 0x80) != 0" (parenthesized_expression "(bVar2 & 0x80)" ( (binary_expression "bVar2 & 0x80" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0006b3f2;" goto statement_identifier ;)) }))) }))) (expression_statement "token->field_0x4 = 1;" (assignment_expression "token->field_0x4 = 1" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "(token->opr).c = (uchar)uStack_30;" (assignment_expression "(token->opr).c = (uchar)uStack_30" (field_expression "(token->opr).c" (parenthesized_expression "(token->opr)" ( (field_expression "token->opr" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(uchar)uStack_30" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;) (if_statement "if (iVar6 < 2) {\n      ppuVar8 = __ctype_b_loc();\n      token->field_0x6 =\n           (byte)(((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')) << 6) |\n           token->field_0x6 & 0xbf;\n    }\n    else {\n      wVar5 = input->wcs[iVar1];\n      iVar7 = iswalnum(wVar5);\n      token->field_0x6 = token->field_0x6 & 0xbf | (iVar7 != 0 || wVar5 == 0x5f) << 6;\n    }" if (parenthesized_expression "(iVar6 < 2)" ( (binary_expression "iVar6 < 2" identifier < number_literal) )) (compound_statement "{\n      ppuVar8 = __ctype_b_loc();\n      token->field_0x6 =\n           (byte)(((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')) << 6) |\n           token->field_0x6 & 0xbf;\n    }" { (expression_statement "ppuVar8 = __ctype_b_loc();" (assignment_expression "ppuVar8 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "token->field_0x6 =\n           (byte)(((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')) << 6) |\n           token->field_0x6 & 0xbf;" (assignment_expression "token->field_0x6 =\n           (byte)(((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')) << 6) |\n           token->field_0x6 & 0xbf" (field_expression "token->field_0x6" identifier -> field_identifier) = (binary_expression "(byte)(((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')) << 6) |\n           token->field_0x6 & 0xbf" (call_expression "(byte)(((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')) << 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')) << 6)" ( (binary_expression "((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')) << 6" (parenthesized_expression "((*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_'))" ( (binary_expression "(*ppuVar8)[uStack_30] >> 3 & 1 | (uint)((uchar)uStack_30 == '_')" (binary_expression "(*ppuVar8)[uStack_30] >> 3 & 1" (binary_expression "(*ppuVar8)[uStack_30] >> 3" (subscript_expression "(*ppuVar8)[uStack_30]" (parenthesized_expression "(*ppuVar8)" ( (pointer_expression "*ppuVar8" * identifier) )) [ identifier ]) >> number_literal) & number_literal) | (call_expression "(uint)((uchar)uStack_30 == '_')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uchar)uStack_30 == '_')" ( (binary_expression "(uchar)uStack_30 == '_'" (cast_expression "(uchar)uStack_30" ( (type_descriptor "uchar" type_identifier) ) identifier) == (char_literal "'_'" ' character ')) )))) )) << number_literal) ))) | (binary_expression "token->field_0x6 & 0xbf" (field_expression "token->field_0x6" identifier -> field_identifier) & number_literal))) ;) }) (else_clause "else {\n      wVar5 = input->wcs[iVar1];\n      iVar7 = iswalnum(wVar5);\n      token->field_0x6 = token->field_0x6 & 0xbf | (iVar7 != 0 || wVar5 == 0x5f) << 6;\n    }" else (compound_statement "{\n      wVar5 = input->wcs[iVar1];\n      iVar7 = iswalnum(wVar5);\n      token->field_0x6 = token->field_0x6 & 0xbf | (iVar7 != 0 || wVar5 == 0x5f) << 6;\n    }" { (expression_statement "wVar5 = input->wcs[iVar1];" (assignment_expression "wVar5 = input->wcs[iVar1]" identifier = (subscript_expression "input->wcs[iVar1]" (field_expression "input->wcs" identifier -> field_identifier) [ identifier ])) ;) (expression_statement "iVar7 = iswalnum(wVar5);" (assignment_expression "iVar7 = iswalnum(wVar5)" identifier = (call_expression "iswalnum(wVar5)" identifier (argument_list "(wVar5)" ( identifier )))) ;) (expression_statement "token->field_0x6 = token->field_0x6 & 0xbf | (iVar7 != 0 || wVar5 == 0x5f) << 6;" (assignment_expression "token->field_0x6 = token->field_0x6 & 0xbf | (iVar7 != 0 || wVar5 == 0x5f) << 6" (field_expression "token->field_0x6" identifier -> field_identifier) = (binary_expression "token->field_0x6 & 0xbf | (iVar7 != 0 || wVar5 == 0x5f) << 6" (binary_expression "token->field_0x6 & 0xbf" (field_expression "token->field_0x6" identifier -> field_identifier) & number_literal) | (binary_expression "(iVar7 != 0 || wVar5 == 0x5f) << 6" (parenthesized_expression "(iVar7 != 0 || wVar5 == 0x5f)" ( (binary_expression "iVar7 != 0 || wVar5 == 0x5f" (binary_expression "iVar7 != 0" identifier != number_literal) || (binary_expression "wVar5 == 0x5f" identifier == number_literal)) )) << number_literal))) ;) }))) (switch_statement "switch(uStack_30 - 0x27 & 0xff) {\n    case 0:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x80;\n      }\n      break;\n    case 1:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b4d3;\n    case 2:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b513;\n    default:\n      iVar6 = 2;\n      break;\n    case 4:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      iVar6 = 2;\n      if ((syntax & 0x4000) == 0) {\n        token->field_0x4 = 4;\n        (token->opr).sbcset = (re_bitset_ptr_t)(uStack_30 - 0x31);\n      }\n      break;\n    case 0x15:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 6;\n      }\n      break;\n    case 0x17:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 9;\n      }\n      break;\n    case 0x18:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b573;\n    case 0x1b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x200;\n      }\n      break;\n    case 0x2c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x23;\n      }\n      break;\n    case 0x30:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x21;\n      }\n      break;\n    case 0x39:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x40;\n      }\n      break;\n    case 0x3b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x100;\n      }\n      break;\n    case 0x4c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x22;\n      }\n      break;\n    case 0x50:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x20;\n      }\n      break;\n    case 0x54:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b5db;\n    case 0x55:\n      iVar6 = 2;\n      if ((syntax & 0x8400) == 0) {\n        token->field_0x4 = 10;\n      }\n      break;\n    case 0x56:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b62b;\n    }" switch (parenthesized_expression "(uStack_30 - 0x27 & 0xff)" ( (binary_expression "uStack_30 - 0x27 & 0xff" (binary_expression "uStack_30 - 0x27" identifier - number_literal) & number_literal) )) (compound_statement "{\n    case 0:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x80;\n      }\n      break;\n    case 1:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b4d3;\n    case 2:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b513;\n    default:\n      iVar6 = 2;\n      break;\n    case 4:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      iVar6 = 2;\n      if ((syntax & 0x4000) == 0) {\n        token->field_0x4 = 4;\n        (token->opr).sbcset = (re_bitset_ptr_t)(uStack_30 - 0x31);\n      }\n      break;\n    case 0x15:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 6;\n      }\n      break;\n    case 0x17:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 9;\n      }\n      break;\n    case 0x18:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b573;\n    case 0x1b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x200;\n      }\n      break;\n    case 0x2c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x23;\n      }\n      break;\n    case 0x30:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x21;\n      }\n      break;\n    case 0x39:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x40;\n      }\n      break;\n    case 0x3b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x100;\n      }\n      break;\n    case 0x4c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x22;\n      }\n      break;\n    case 0x50:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x20;\n      }\n      break;\n    case 0x54:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b5db;\n    case 0x55:\n      iVar6 = 2;\n      if ((syntax & 0x8400) == 0) {\n        token->field_0x4 = 10;\n      }\n      break;\n    case 0x56:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b62b;\n    }" { (case_statement "case 0:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x80;\n      }\n      break;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x80;\n      }" if (parenthesized_expression "((syntax & 0x80000) == 0)" ( (binary_expression "(syntax & 0x80000) == 0" (parenthesized_expression "(syntax & 0x80000)" ( (binary_expression "syntax & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x80;\n      }" { (expression_statement "token->field_0x4 = 0xc;" (assignment_expression "token->field_0x4 = 0xc" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "(token->opr).idx = 0x80;" (assignment_expression "(token->opr).idx = 0x80" (field_expression "(token->opr).idx" (parenthesized_expression "(token->opr)" ( (field_expression "token->opr" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 1:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b4d3;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x2000) != 0) break;" if (parenthesized_expression "((syntax & 0x2000) != 0)" ( (binary_expression "(syntax & 0x2000) != 0" (parenthesized_expression "(syntax & 0x2000)" ( (binary_expression "syntax & 0x2000" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0006b4d3;" goto statement_identifier ;)) (case_statement "case 2:\n      iVar6 = 2;\n      if ((syntax & 0x2000) != 0) break;\n      goto LAB_0006b513;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x2000) != 0) break;" if (parenthesized_expression "((syntax & 0x2000) != 0)" ( (binary_expression "(syntax & 0x2000) != 0" (parenthesized_expression "(syntax & 0x2000)" ( (binary_expression "syntax & 0x2000" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0006b513;" goto statement_identifier ;)) (case_statement "default:\n      iVar6 = 2;\n      break;" default : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b543;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x402) != 2) break;" if (parenthesized_expression "((syntax & 0x402) != 2)" ( (binary_expression "(syntax & 0x402) != 2" (parenthesized_expression "(syntax & 0x402)" ( (binary_expression "syntax & 0x402" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0006b543;" goto statement_identifier ;)) (case_statement "case 10:" case number_literal :) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0xc:" case number_literal :) (case_statement "case 0xd:" case number_literal :) (case_statement "case 0xe:" case number_literal :) (case_statement "case 0xf:" case number_literal :) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x11:" case number_literal :) (case_statement "case 0x12:\n      iVar6 = 2;\n      if ((syntax & 0x4000) == 0) {\n        token->field_0x4 = 4;\n        (token->opr).sbcset = (re_bitset_ptr_t)(uStack_30 - 0x31);\n      }\n      break;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x4000) == 0) {\n        token->field_0x4 = 4;\n        (token->opr).sbcset = (re_bitset_ptr_t)(uStack_30 - 0x31);\n      }" if (parenthesized_expression "((syntax & 0x4000) == 0)" ( (binary_expression "(syntax & 0x4000) == 0" (parenthesized_expression "(syntax & 0x4000)" ( (binary_expression "syntax & 0x4000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        token->field_0x4 = 4;\n        (token->opr).sbcset = (re_bitset_ptr_t)(uStack_30 - 0x31);\n      }" { (expression_statement "token->field_0x4 = 4;" (assignment_expression "token->field_0x4 = 4" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "(token->opr).sbcset = (re_bitset_ptr_t)(uStack_30 - 0x31);" (assignment_expression "(token->opr).sbcset = (re_bitset_ptr_t)(uStack_30 - 0x31)" (field_expression "(token->opr).sbcset" (parenthesized_expression "(token->opr)" ( (field_expression "token->opr" identifier -> field_identifier) )) . field_identifier) = (call_expression "(re_bitset_ptr_t)(uStack_30 - 0x31)" (parenthesized_expression "(re_bitset_ptr_t)" ( identifier )) (argument_list "(uStack_30 - 0x31)" ( (binary_expression "uStack_30 - 0x31" identifier - number_literal) )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x15:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 6;\n      }\n      break;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 6;\n      }" if (parenthesized_expression "((syntax & 0x80000) == 0)" ( (binary_expression "(syntax & 0x80000) == 0" (parenthesized_expression "(syntax & 0x80000)" ( (binary_expression "syntax & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 6;\n      }" { (expression_statement "token->field_0x4 = 0xc;" (assignment_expression "token->field_0x4 = 0xc" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "(token->opr).idx = 6;" (assignment_expression "(token->opr).idx = 6" (field_expression "(token->opr).idx" (parenthesized_expression "(token->opr)" ( (field_expression "token->opr" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x17:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 9;\n      }\n      break;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 9;\n      }" if (parenthesized_expression "((syntax & 0x80000) == 0)" ( (binary_expression "(syntax & 0x80000) == 0" (parenthesized_expression "(syntax & 0x80000)" ( (binary_expression "syntax & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 9;\n      }" { (expression_statement "token->field_0x4 = 0xc;" (assignment_expression "token->field_0x4 = 0xc" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "(token->opr).idx = 9;" (assignment_expression "(token->opr).idx = 9" (field_expression "(token->opr).idx" (parenthesized_expression "(token->opr)" ( (field_expression "token->opr" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x18:\n      iVar6 = 2;\n      if ((syntax & 0x402) != 2) break;\n      goto LAB_0006b573;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x402) != 2) break;" if (parenthesized_expression "((syntax & 0x402) != 2)" ( (binary_expression "(syntax & 0x402) != 2" (parenthesized_expression "(syntax & 0x402)" ( (binary_expression "syntax & 0x402" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0006b573;" goto statement_identifier ;)) (case_statement "case 0x1b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x200;\n      }\n      break;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x200;\n      }" if (parenthesized_expression "((syntax & 0x80000) == 0)" ( (binary_expression "(syntax & 0x80000) == 0" (parenthesized_expression "(syntax & 0x80000)" ( (binary_expression "syntax & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x200;\n      }" { (expression_statement "token->field_0x4 = 0xc;" (assignment_expression "token->field_0x4 = 0xc" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "(token->opr).idx = 0x200;" (assignment_expression "(token->opr).idx = 0x200" (field_expression "(token->opr).idx" (parenthesized_expression "(token->opr)" ( (field_expression "token->opr" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x2c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x23;\n      }\n      break;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x23;\n      }" if (parenthesized_expression "((syntax & 0x80000) == 0)" ( (binary_expression "(syntax & 0x80000) == 0" (parenthesized_expression "(syntax & 0x80000)" ( (binary_expression "syntax & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        token->field_0x4 = 0x23;\n      }" { (expression_statement "token->field_0x4 = 0x23;" (assignment_expression "token->field_0x4 = 0x23" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x30:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x21;\n      }\n      break;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x21;\n      }" if (parenthesized_expression "((syntax & 0x80000) == 0)" ( (binary_expression "(syntax & 0x80000) == 0" (parenthesized_expression "(syntax & 0x80000)" ( (binary_expression "syntax & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        token->field_0x4 = 0x21;\n      }" { (expression_statement "token->field_0x4 = 0x21;" (assignment_expression "token->field_0x4 = 0x21" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x39:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x40;\n      }\n      break;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x40;\n      }" if (parenthesized_expression "((syntax & 0x80000) == 0)" ( (binary_expression "(syntax & 0x80000) == 0" (parenthesized_expression "(syntax & 0x80000)" ( (binary_expression "syntax & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x40;\n      }" { (expression_statement "token->field_0x4 = 0xc;" (assignment_expression "token->field_0x4 = 0xc" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "(token->opr).idx = 0x40;" (assignment_expression "(token->opr).idx = 0x40" (field_expression "(token->opr).idx" (parenthesized_expression "(token->opr)" ( (field_expression "token->opr" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x3b:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x100;\n      }\n      break;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x100;\n      }" if (parenthesized_expression "((syntax & 0x80000) == 0)" ( (binary_expression "(syntax & 0x80000) == 0" (parenthesized_expression "(syntax & 0x80000)" ( (binary_expression "syntax & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        token->field_0x4 = 0xc;\n        (token->opr).idx = 0x100;\n      }" { (expression_statement "token->field_0x4 = 0xc;" (assignment_expression "token->field_0x4 = 0xc" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "(token->opr).idx = 0x100;" (assignment_expression "(token->opr).idx = 0x100" (field_expression "(token->opr).idx" (parenthesized_expression "(token->opr)" ( (field_expression "token->opr" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x4c:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x22;\n      }\n      break;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x22;\n      }" if (parenthesized_expression "((syntax & 0x80000) == 0)" ( (binary_expression "(syntax & 0x80000) == 0" (parenthesized_expression "(syntax & 0x80000)" ( (binary_expression "syntax & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        token->field_0x4 = 0x22;\n      }" { (expression_statement "token->field_0x4 = 0x22;" (assignment_expression "token->field_0x4 = 0x22" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x50:\n      iVar6 = 2;\n      if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x20;\n      }\n      break;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x80000) == 0) {\n        token->field_0x4 = 0x20;\n      }" if (parenthesized_expression "((syntax & 0x80000) == 0)" ( (binary_expression "(syntax & 0x80000) == 0" (parenthesized_expression "(syntax & 0x80000)" ( (binary_expression "syntax & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        token->field_0x4 = 0x20;\n      }" { (expression_statement "token->field_0x4 = 0x20;" (assignment_expression "token->field_0x4 = 0x20" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x54:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b5db;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x1200) != 0x200) break;" if (parenthesized_expression "((syntax & 0x1200) != 0x200)" ( (binary_expression "(syntax & 0x1200) != 0x200" (parenthesized_expression "(syntax & 0x1200)" ( (binary_expression "syntax & 0x1200" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0006b5db;" goto statement_identifier ;)) (case_statement "case 0x55:\n      iVar6 = 2;\n      if ((syntax & 0x8400) == 0) {\n        token->field_0x4 = 10;\n      }\n      break;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x8400) == 0) {\n        token->field_0x4 = 10;\n      }" if (parenthesized_expression "((syntax & 0x8400) == 0)" ( (binary_expression "(syntax & 0x8400) == 0" (parenthesized_expression "(syntax & 0x8400)" ( (binary_expression "syntax & 0x8400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        token->field_0x4 = 10;\n      }" { (expression_statement "token->field_0x4 = 10;" (assignment_expression "token->field_0x4 = 10" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x56:\n      iVar6 = 2;\n      if ((syntax & 0x1200) != 0x200) break;\n      goto LAB_0006b62b;" case number_literal : (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (if_statement "if ((syntax & 0x1200) != 0x200) break;" if (parenthesized_expression "((syntax & 0x1200) != 0x200)" ( (binary_expression "(syntax & 0x1200) != 0x200" (parenthesized_expression "(syntax & 0x1200)" ( (binary_expression "syntax & 0x1200" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0006b62b;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })) (if_statement "if ((iVar7 != input->valid_len) && (input->wcs[iVar7] == 0xffffffff)) {\n    *(uint *)&token->field_0x4 = *(uint *)&token->field_0x4 & 0xffdfff00 | 0x200001;\n    iVar6 = 1;\n    goto LAB_0006b3cc;\n  }" if (parenthesized_expression "((iVar7 != input->valid_len) && (input->wcs[iVar7] == 0xffffffff))" ( (binary_expression "(iVar7 != input->valid_len) && (input->wcs[iVar7] == 0xffffffff)" (parenthesized_expression "(iVar7 != input->valid_len)" ( (binary_expression "iVar7 != input->valid_len" identifier != (field_expression "input->valid_len" identifier -> field_identifier)) )) && (parenthesized_expression "(input->wcs[iVar7] == 0xffffffff)" ( (binary_expression "input->wcs[iVar7] == 0xffffffff" (subscript_expression "input->wcs[iVar7]" (field_expression "input->wcs" identifier -> field_identifier) [ identifier ]) == number_literal) ))) )) (compound_statement "{\n    *(uint *)&token->field_0x4 = *(uint *)&token->field_0x4 & 0xffdfff00 | 0x200001;\n    iVar6 = 1;\n    goto LAB_0006b3cc;\n  }" { (expression_statement "*(uint *)&token->field_0x4 = *(uint *)&token->field_0x4 & 0xffdfff00 | 0x200001;" (assignment_expression "*(uint *)&token->field_0x4 = *(uint *)&token->field_0x4 & 0xffdfff00 | 0x200001" (pointer_expression "*(uint *)&token->field_0x4" * (cast_expression "(uint *)&token->field_0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&token->field_0x4" & (field_expression "token->field_0x4" identifier -> field_identifier)))) = (binary_expression "*(uint *)&token->field_0x4 & 0xffdfff00 | 0x200001" (binary_expression "*(uint *)&token->field_0x4 & 0xffdfff00" (pointer_expression "*(uint *)&token->field_0x4" * (cast_expression "(uint *)&token->field_0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&token->field_0x4" & (field_expression "token->field_0x4" identifier -> field_identifier)))) & number_literal) | number_literal)) ;) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })) (if_statement "if (bVar2 == 0x5c) goto peek_token_lexical_block_5;" if (parenthesized_expression "(bVar2 == 0x5c)" ( (binary_expression "bVar2 == 0x5c" identifier == number_literal) )) (goto_statement "goto peek_token_lexical_block_5;" goto statement_identifier ;)) (expression_statement "pwVar9 = input->wcs;" (assignment_expression "pwVar9 = input->wcs" identifier = (field_expression "input->wcs" identifier -> field_identifier)) ;) (expression_statement "token->field_0x4 = 1;" (assignment_expression "token->field_0x4 = 1" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "wVar5 = pwVar9[iVar7];" (assignment_expression "wVar5 = pwVar9[iVar7]" identifier = (subscript_expression "pwVar9[iVar7]" identifier [ identifier ])) ;) (expression_statement "iVar6 = iswalnum(wVar5);" (assignment_expression "iVar6 = iswalnum(wVar5)" identifier = (call_expression "iswalnum(wVar5)" identifier (argument_list "(wVar5)" ( identifier )))) ;) (expression_statement "token->field_0x6 = token->field_0x6 & 0xbf | (wVar5 == 0x5f || iVar6 != 0) << 6;" (assignment_expression "token->field_0x6 = token->field_0x6 & 0xbf | (wVar5 == 0x5f || iVar6 != 0) << 6" (field_expression "token->field_0x6" identifier -> field_identifier) = (binary_expression "token->field_0x6 & 0xbf | (wVar5 == 0x5f || iVar6 != 0) << 6" (binary_expression "token->field_0x6 & 0xbf" (field_expression "token->field_0x6" identifier -> field_identifier) & number_literal) | (binary_expression "(wVar5 == 0x5f || iVar6 != 0) << 6" (parenthesized_expression "(wVar5 == 0x5f || iVar6 != 0)" ( (binary_expression "wVar5 == 0x5f || iVar6 != 0" (binary_expression "wVar5 == 0x5f" identifier == number_literal) || (binary_expression "iVar6 != 0" identifier != number_literal)) )) << number_literal))) ;) (labeled_statement "LAB_0006b346:\n  switch(bVar2) {\n  case 10:\n    iVar6 = 1;\n    if ((syntax & 0x800) == 0) break;\n    goto LAB_0006b5fb;\n  default:\n    goto _L1133;\n  case 0x24:\n    if (((syntax & 8) == 0) && (iVar7 + 1 != input->len)) {\n      input->cur_idx = iVar7 + 1;\n      peek_token(&rStack_28,input,syntax);\n      input->cur_idx = input->cur_idx + -1;\n      iVar6 = 1;\n      if (1 < (byte)(rStack_28._4_1_ - 9)) break;\n    }\n    token->field_0x4 = 0xc;\n    iVar6 = 1;\n    (token->opr).idx = 0x20;\n    break;\n  case 0x28:\n    iVar6 = 1;\n    if ((syntax & 0x2000) == 0) break;\nLAB_0006b4d3:\n    token->field_0x4 = 8;\n    break;\n  case 0x29:\n    iVar6 = 1;\n    if ((syntax & 0x2000) == 0) break;\nLAB_0006b513:\n    token->field_0x4 = 9;\n    break;\n  case 0x2a:\n    token->field_0x4 = 0xb;\n    iVar6 = 1;\n    break;\n  case 0x2b:\n    iVar6 = 1;\n    if ((syntax & 0x402) != 0) break;\nLAB_0006b543:\n    token->field_0x4 = 0x12;\n    break;\n  case 0x2e:\n    token->field_0x4 = 5;\n    iVar6 = 1;\n    break;\n  case 0x3f:\n    iVar6 = 1;\n    if ((syntax & 0x402) != 0) break;\nLAB_0006b573:\n    token->field_0x4 = 0x13;\n    break;\n  case 0x5b:\n    token->field_0x4 = 0x14;\n    iVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((syntax & 0x800008) != 0) || (iVar7 == 0)) ||\n       ((puVar4[iVar7 + -1] == '\n' && ((syntax & 0x800) != 0)))) {\n      token->field_0x4 = 0xc;\n      iVar6 = 1;\n      (token->opr).idx = 0x10;\n      break;\n    }\n    goto _L1133;\n  case 0x7b:\n    iVar6 = 1;\n    if ((syntax & 0x1200) != 0x1200) break;\nLAB_0006b5db:\n    token->field_0x4 = 0x17;\n    break;\n  case 0x7c:\n    if ((syntax & 0x8400) != 0x8000) goto _L1133;\nLAB_0006b5fb:\n    token->field_0x4 = 10;\n    iVar6 = 1;\n    break;\n  case 0x7d:\n    iVar6 = 1;\n    if ((syntax & 0x1200) != 0x1200) break;\nLAB_0006b62b:\n    token->field_0x4 = 0x18;\n  }" statement_identifier : (switch_statement "switch(bVar2) {\n  case 10:\n    iVar6 = 1;\n    if ((syntax & 0x800) == 0) break;\n    goto LAB_0006b5fb;\n  default:\n    goto _L1133;\n  case 0x24:\n    if (((syntax & 8) == 0) && (iVar7 + 1 != input->len)) {\n      input->cur_idx = iVar7 + 1;\n      peek_token(&rStack_28,input,syntax);\n      input->cur_idx = input->cur_idx + -1;\n      iVar6 = 1;\n      if (1 < (byte)(rStack_28._4_1_ - 9)) break;\n    }\n    token->field_0x4 = 0xc;\n    iVar6 = 1;\n    (token->opr).idx = 0x20;\n    break;\n  case 0x28:\n    iVar6 = 1;\n    if ((syntax & 0x2000) == 0) break;\nLAB_0006b4d3:\n    token->field_0x4 = 8;\n    break;\n  case 0x29:\n    iVar6 = 1;\n    if ((syntax & 0x2000) == 0) break;\nLAB_0006b513:\n    token->field_0x4 = 9;\n    break;\n  case 0x2a:\n    token->field_0x4 = 0xb;\n    iVar6 = 1;\n    break;\n  case 0x2b:\n    iVar6 = 1;\n    if ((syntax & 0x402) != 0) break;\nLAB_0006b543:\n    token->field_0x4 = 0x12;\n    break;\n  case 0x2e:\n    token->field_0x4 = 5;\n    iVar6 = 1;\n    break;\n  case 0x3f:\n    iVar6 = 1;\n    if ((syntax & 0x402) != 0) break;\nLAB_0006b573:\n    token->field_0x4 = 0x13;\n    break;\n  case 0x5b:\n    token->field_0x4 = 0x14;\n    iVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((syntax & 0x800008) != 0) || (iVar7 == 0)) ||\n       ((puVar4[iVar7 + -1] == '\n' && ((syntax & 0x800) != 0)))) {\n      token->field_0x4 = 0xc;\n      iVar6 = 1;\n      (token->opr).idx = 0x10;\n      break;\n    }\n    goto _L1133;\n  case 0x7b:\n    iVar6 = 1;\n    if ((syntax & 0x1200) != 0x1200) break;\nLAB_0006b5db:\n    token->field_0x4 = 0x17;\n    break;\n  case 0x7c:\n    if ((syntax & 0x8400) != 0x8000) goto _L1133;\nLAB_0006b5fb:\n    token->field_0x4 = 10;\n    iVar6 = 1;\n    break;\n  case 0x7d:\n    iVar6 = 1;\n    if ((syntax & 0x1200) != 0x1200) break;\nLAB_0006b62b:\n    token->field_0x4 = 0x18;\n  }" switch (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n  case 10:\n    iVar6 = 1;\n    if ((syntax & 0x800) == 0) break;\n    goto LAB_0006b5fb;\n  default:\n    goto _L1133;\n  case 0x24:\n    if (((syntax & 8) == 0) && (iVar7 + 1 != input->len)) {\n      input->cur_idx = iVar7 + 1;\n      peek_token(&rStack_28,input,syntax);\n      input->cur_idx = input->cur_idx + -1;\n      iVar6 = 1;\n      if (1 < (byte)(rStack_28._4_1_ - 9)) break;\n    }\n    token->field_0x4 = 0xc;\n    iVar6 = 1;\n    (token->opr).idx = 0x20;\n    break;\n  case 0x28:\n    iVar6 = 1;\n    if ((syntax & 0x2000) == 0) break;\nLAB_0006b4d3:\n    token->field_0x4 = 8;\n    break;\n  case 0x29:\n    iVar6 = 1;\n    if ((syntax & 0x2000) == 0) break;\nLAB_0006b513:\n    token->field_0x4 = 9;\n    break;\n  case 0x2a:\n    token->field_0x4 = 0xb;\n    iVar6 = 1;\n    break;\n  case 0x2b:\n    iVar6 = 1;\n    if ((syntax & 0x402) != 0) break;\nLAB_0006b543:\n    token->field_0x4 = 0x12;\n    break;\n  case 0x2e:\n    token->field_0x4 = 5;\n    iVar6 = 1;\n    break;\n  case 0x3f:\n    iVar6 = 1;\n    if ((syntax & 0x402) != 0) break;\nLAB_0006b573:\n    token->field_0x4 = 0x13;\n    break;\n  case 0x5b:\n    token->field_0x4 = 0x14;\n    iVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((syntax & 0x800008) != 0) || (iVar7 == 0)) ||\n       ((puVar4[iVar7 + -1] == '\n' && ((syntax & 0x800) != 0)))) {\n      token->field_0x4 = 0xc;\n      iVar6 = 1;\n      (token->opr).idx = 0x10;\n      break;\n    }\n    goto _L1133;\n  case 0x7b:\n    iVar6 = 1;\n    if ((syntax & 0x1200) != 0x1200) break;\nLAB_0006b5db:\n    token->field_0x4 = 0x17;\n    break;\n  case 0x7c:\n    if ((syntax & 0x8400) != 0x8000) goto _L1133;\nLAB_0006b5fb:\n    token->field_0x4 = 10;\n    iVar6 = 1;\n    break;\n  case 0x7d:\n    iVar6 = 1;\n    if ((syntax & 0x1200) != 0x1200) break;\nLAB_0006b62b:\n    token->field_0x4 = 0x18;\n  }" { (case_statement "case 10:\n    iVar6 = 1;\n    if ((syntax & 0x800) == 0) break;\n    goto LAB_0006b5fb;" case number_literal : (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (if_statement "if ((syntax & 0x800) == 0) break;" if (parenthesized_expression "((syntax & 0x800) == 0)" ( (binary_expression "(syntax & 0x800) == 0" (parenthesized_expression "(syntax & 0x800)" ( (binary_expression "syntax & 0x800" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0006b5fb;" goto statement_identifier ;)) (case_statement "default:\n    goto _L1133;" default : (goto_statement "goto _L1133;" goto statement_identifier ;)) (case_statement "case 0x24:\n    if (((syntax & 8) == 0) && (iVar7 + 1 != input->len)) {\n      input->cur_idx = iVar7 + 1;\n      peek_token(&rStack_28,input,syntax);\n      input->cur_idx = input->cur_idx + -1;\n      iVar6 = 1;\n      if (1 < (byte)(rStack_28._4_1_ - 9)) break;\n    }\n    token->field_0x4 = 0xc;\n    iVar6 = 1;\n    (token->opr).idx = 0x20;\n    break;" case number_literal : (if_statement "if (((syntax & 8) == 0) && (iVar7 + 1 != input->len)) {\n      input->cur_idx = iVar7 + 1;\n      peek_token(&rStack_28,input,syntax);\n      input->cur_idx = input->cur_idx + -1;\n      iVar6 = 1;\n      if (1 < (byte)(rStack_28._4_1_ - 9)) break;\n    }" if (parenthesized_expression "(((syntax & 8) == 0) && (iVar7 + 1 != input->len))" ( (binary_expression "((syntax & 8) == 0) && (iVar7 + 1 != input->len)" (parenthesized_expression "((syntax & 8) == 0)" ( (binary_expression "(syntax & 8) == 0" (parenthesized_expression "(syntax & 8)" ( (binary_expression "syntax & 8" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar7 + 1 != input->len)" ( (binary_expression "iVar7 + 1 != input->len" (binary_expression "iVar7 + 1" identifier + number_literal) != (field_expression "input->len" identifier -> field_identifier)) ))) )) (compound_statement "{\n      input->cur_idx = iVar7 + 1;\n      peek_token(&rStack_28,input,syntax);\n      input->cur_idx = input->cur_idx + -1;\n      iVar6 = 1;\n      if (1 < (byte)(rStack_28._4_1_ - 9)) break;\n    }" { (expression_statement "input->cur_idx = iVar7 + 1;" (assignment_expression "input->cur_idx = iVar7 + 1" (field_expression "input->cur_idx" identifier -> field_identifier) = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "peek_token(&rStack_28,input,syntax);" (call_expression "peek_token(&rStack_28,input,syntax)" identifier (argument_list "(&rStack_28,input,syntax)" ( (pointer_expression "&rStack_28" & identifier) , identifier , identifier ))) ;) (expression_statement "input->cur_idx = input->cur_idx + -1;" (assignment_expression "input->cur_idx = input->cur_idx + -1" (field_expression "input->cur_idx" identifier -> field_identifier) = (binary_expression "input->cur_idx + -1" (field_expression "input->cur_idx" identifier -> field_identifier) + number_literal)) ;) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (if_statement "if (1 < (byte)(rStack_28._4_1_ - 9)) break;" if (parenthesized_expression "(1 < (byte)(rStack_28._4_1_ - 9))" ( (binary_expression "1 < (byte)(rStack_28._4_1_ - 9)" number_literal < (call_expression "(byte)(rStack_28._4_1_ - 9)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(rStack_28._4_1_ - 9)" ( (binary_expression "rStack_28._4_1_ - 9" (field_expression "rStack_28._4_1_" identifier . field_identifier) - number_literal) )))) )) (break_statement "break;" break ;)) })) (expression_statement "token->field_0x4 = 0xc;" (assignment_expression "token->field_0x4 = 0xc" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (expression_statement "(token->opr).idx = 0x20;" (assignment_expression "(token->opr).idx = 0x20" (field_expression "(token->opr).idx" (parenthesized_expression "(token->opr)" ( (field_expression "token->opr" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x28:\n    iVar6 = 1;\n    if ((syntax & 0x2000) == 0) break;\nLAB_0006b4d3:\n    token->field_0x4 = 8;\n    break;" case number_literal : (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (if_statement "if ((syntax & 0x2000) == 0) break;" if (parenthesized_expression "((syntax & 0x2000) == 0)" ( (binary_expression "(syntax & 0x2000) == 0" (parenthesized_expression "(syntax & 0x2000)" ( (binary_expression "syntax & 0x2000" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0006b4d3:\n    token->field_0x4 = 8;" statement_identifier : (expression_statement "token->field_0x4 = 8;" (assignment_expression "token->field_0x4 = 8" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x29:\n    iVar6 = 1;\n    if ((syntax & 0x2000) == 0) break;\nLAB_0006b513:\n    token->field_0x4 = 9;\n    break;" case number_literal : (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (if_statement "if ((syntax & 0x2000) == 0) break;" if (parenthesized_expression "((syntax & 0x2000) == 0)" ( (binary_expression "(syntax & 0x2000) == 0" (parenthesized_expression "(syntax & 0x2000)" ( (binary_expression "syntax & 0x2000" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0006b513:\n    token->field_0x4 = 9;" statement_identifier : (expression_statement "token->field_0x4 = 9;" (assignment_expression "token->field_0x4 = 9" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x2a:\n    token->field_0x4 = 0xb;\n    iVar6 = 1;\n    break;" case number_literal : (expression_statement "token->field_0x4 = 0xb;" (assignment_expression "token->field_0x4 = 0xb" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x2b:\n    iVar6 = 1;\n    if ((syntax & 0x402) != 0) break;\nLAB_0006b543:\n    token->field_0x4 = 0x12;\n    break;" case number_literal : (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (if_statement "if ((syntax & 0x402) != 0) break;" if (parenthesized_expression "((syntax & 0x402) != 0)" ( (binary_expression "(syntax & 0x402) != 0" (parenthesized_expression "(syntax & 0x402)" ( (binary_expression "syntax & 0x402" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0006b543:\n    token->field_0x4 = 0x12;" statement_identifier : (expression_statement "token->field_0x4 = 0x12;" (assignment_expression "token->field_0x4 = 0x12" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x2e:\n    token->field_0x4 = 5;\n    iVar6 = 1;\n    break;" case number_literal : (expression_statement "token->field_0x4 = 5;" (assignment_expression "token->field_0x4 = 5" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x3f:\n    iVar6 = 1;\n    if ((syntax & 0x402) != 0) break;\nLAB_0006b573:\n    token->field_0x4 = 0x13;\n    break;" case number_literal : (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (if_statement "if ((syntax & 0x402) != 0) break;" if (parenthesized_expression "((syntax & 0x402) != 0)" ( (binary_expression "(syntax & 0x402) != 0" (parenthesized_expression "(syntax & 0x402)" ( (binary_expression "syntax & 0x402" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0006b573:\n    token->field_0x4 = 0x13;" statement_identifier : (expression_statement "token->field_0x4 = 0x13;" (assignment_expression "token->field_0x4 = 0x13" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x5b:\n    token->field_0x4 = 0x14;\n    iVar6 = 1;\n    break;" case number_literal : (expression_statement "token->field_0x4 = 0x14;" (assignment_expression "token->field_0x4 = 0x14" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x5e:\n    if ((((syntax & 0x800008) != 0) || (iVar7 == 0)) ||\n       ((puVar4[iVar7 + -1] == '\n' && ((syntax & 0x800) != 0)))) {\n      token->field_0x4 = 0xc;\n      iVar6 = 1;\n      (token->opr).idx = 0x10;\n      break;\n    }\n    goto _L1133;" case number_literal : (if_statement "if ((((syntax & 0x800008) != 0) || (iVar7 == 0)) ||\n       ((puVar4[iVar7 + -1] == '\n' && ((syntax & 0x800) != 0)))) {\n      token->field_0x4 = 0xc;\n      iVar6 = 1;\n      (token->opr).idx = 0x10;\n      break;\n    }" if (parenthesized_expression "((((syntax & 0x800008) != 0) || (iVar7 == 0)) ||\n       ((puVar4[iVar7 + -1] == '\n' && ((syntax & 0x800) != 0))))" ( (binary_expression "(((syntax & 0x800008) != 0) || (iVar7 == 0)) ||\n       ((puVar4[iVar7 + -1] == '\n' && ((syntax & 0x800) != 0)))" (parenthesized_expression "(((syntax & 0x800008) != 0) || (iVar7 == 0))" ( (binary_expression "((syntax & 0x800008) != 0) || (iVar7 == 0)" (parenthesized_expression "((syntax & 0x800008) != 0)" ( (binary_expression "(syntax & 0x800008) != 0" (parenthesized_expression "(syntax & 0x800008)" ( (binary_expression "syntax & 0x800008" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "((puVar4[iVar7 + -1] == '\n' && ((syntax & 0x800) != 0)))" ( (parenthesized_expression "(puVar4[iVar7 + -1] == '\n' && ((syntax & 0x800) != 0))" ( (binary_expression "puVar4[iVar7 + -1] == '\n' && ((syntax & 0x800) != 0)" (binary_expression "puVar4[iVar7 + -1] == '\n'" (subscript_expression "puVar4[iVar7 + -1]" identifier [ (binary_expression "iVar7 + -1" identifier + number_literal) ]) == (char_literal "'\n'" ' escape_sequence ')) && (parenthesized_expression "((syntax & 0x800) != 0)" ( (binary_expression "(syntax & 0x800) != 0" (parenthesized_expression "(syntax & 0x800)" ( (binary_expression "syntax & 0x800" identifier & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n      token->field_0x4 = 0xc;\n      iVar6 = 1;\n      (token->opr).idx = 0x10;\n      break;\n    }" { (expression_statement "token->field_0x4 = 0xc;" (assignment_expression "token->field_0x4 = 0xc" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (expression_statement "(token->opr).idx = 0x10;" (assignment_expression "(token->opr).idx = 0x10" (field_expression "(token->opr).idx" (parenthesized_expression "(token->opr)" ( (field_expression "token->opr" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (break_statement "break;" break ;) })) (goto_statement "goto _L1133;" goto statement_identifier ;)) (case_statement "case 0x7b:\n    iVar6 = 1;\n    if ((syntax & 0x1200) != 0x1200) break;\nLAB_0006b5db:\n    token->field_0x4 = 0x17;\n    break;" case number_literal : (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (if_statement "if ((syntax & 0x1200) != 0x1200) break;" if (parenthesized_expression "((syntax & 0x1200) != 0x1200)" ( (binary_expression "(syntax & 0x1200) != 0x1200" (parenthesized_expression "(syntax & 0x1200)" ( (binary_expression "syntax & 0x1200" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0006b5db:\n    token->field_0x4 = 0x17;" statement_identifier : (expression_statement "token->field_0x4 = 0x17;" (assignment_expression "token->field_0x4 = 0x17" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x7c:\n    if ((syntax & 0x8400) != 0x8000) goto _L1133;\nLAB_0006b5fb:\n    token->field_0x4 = 10;\n    iVar6 = 1;\n    break;" case number_literal : (if_statement "if ((syntax & 0x8400) != 0x8000) goto _L1133;" if (parenthesized_expression "((syntax & 0x8400) != 0x8000)" ( (binary_expression "(syntax & 0x8400) != 0x8000" (parenthesized_expression "(syntax & 0x8400)" ( (binary_expression "syntax & 0x8400" identifier & number_literal) )) != number_literal) )) (goto_statement "goto _L1133;" goto statement_identifier ;)) (labeled_statement "LAB_0006b5fb:\n    token->field_0x4 = 10;" statement_identifier : (expression_statement "token->field_0x4 = 10;" (assignment_expression "token->field_0x4 = 10" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;)) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x7d:\n    iVar6 = 1;\n    if ((syntax & 0x1200) != 0x1200) break;\nLAB_0006b62b:\n    token->field_0x4 = 0x18;" case number_literal : (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (if_statement "if ((syntax & 0x1200) != 0x1200) break;" if (parenthesized_expression "((syntax & 0x1200) != 0x1200)" ( (binary_expression "(syntax & 0x1200) != 0x1200" (parenthesized_expression "(syntax & 0x1200)" ( (binary_expression "syntax & 0x1200" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0006b62b:\n    token->field_0x4 = 0x18;" statement_identifier : (expression_statement "token->field_0x4 = 0x18;" (assignment_expression "token->field_0x4 = 0x18" (field_expression "token->field_0x4" identifier -> field_identifier) = number_literal) ;))) }))) (labeled_statement "LAB_0006b3cc:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return iVar6;\n  }" { (return_statement "return iVar6;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) (labeled_statement "_L1133:\n  iVar6 = 1;" statement_identifier : (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })))
(translation_unit "undefined4 __regparm3 FUN_0006b290(byte *param_1,int *param_2,uint param_3)\n\n{\n  int iVar1;\n  int iVar2;\n  byte bVar3;\n  int iVar4;\n  wint_t wVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  wint_t *pwVar10;\n  int in_GS_OFFSET;\n  uint local_30;\n  char cStack_24;\n  \n  iVar8 = param_2[10];\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar6 = 0;\n  if (param_2[0xe] <= iVar8) {\n    param_1[4] = 2;\n    goto LAB_0006b3cc;\n  }\n  iVar4 = param_2[1];\n  local_30._0_1_ = param_1[6];\n  bVar3 = *(byte *)(iVar4 + iVar8);\n  param_1[6] = (byte)local_30 & 0x9f;\n  *param_1 = bVar3;\n  iVar7 = param_2[0x14];\n  if (iVar7 < 2) {\n    if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\nLAB_0006b3b0:\n    iVar1 = iVar8 + 1;\n    if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }\n  if ((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)) {\n    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;\n    uVar6 = 1;\n    goto LAB_0006b3cc;\n  }\n  if (bVar3 == 0x5c) goto LAB_0006b3b0;\n  iVar7 = param_2[2];\n  param_1[4] = 1;\n  wVar5 = *(wint_t *)(iVar7 + iVar8 * 4);\n  iVar7 = iswalnum(wVar5);\n  param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6;\nLAB_0006b346:\n  switch(bVar3) {\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }\nLAB_0006b3cc:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar6;\n  }\n                    \n  FUN_0007ad20();\nLAB_0006b4f6:\n  uVar6 = 1;\n  goto LAB_0006b3cc;\n}\n\n" (function_definition "undefined4 __regparm3 FUN_0006b290(byte *param_1,int *param_2,uint param_3)\n\n{\n  int iVar1;\n  int iVar2;\n  byte bVar3;\n  int iVar4;\n  wint_t wVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  wint_t *pwVar10;\n  int in_GS_OFFSET;\n  uint local_30;\n  char cStack_24;\n  \n  iVar8 = param_2[10];\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar6 = 0;\n  if (param_2[0xe] <= iVar8) {\n    param_1[4] = 2;\n    goto LAB_0006b3cc;\n  }\n  iVar4 = param_2[1];\n  local_30._0_1_ = param_1[6];\n  bVar3 = *(byte *)(iVar4 + iVar8);\n  param_1[6] = (byte)local_30 & 0x9f;\n  *param_1 = bVar3;\n  iVar7 = param_2[0x14];\n  if (iVar7 < 2) {\n    if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\nLAB_0006b3b0:\n    iVar1 = iVar8 + 1;\n    if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }\n  if ((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)) {\n    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;\n    uVar6 = 1;\n    goto LAB_0006b3cc;\n  }\n  if (bVar3 == 0x5c) goto LAB_0006b3b0;\n  iVar7 = param_2[2];\n  param_1[4] = 1;\n  wVar5 = *(wint_t *)(iVar7 + iVar8 * 4);\n  iVar7 = iswalnum(wVar5);\n  param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6;\nLAB_0006b346:\n  switch(bVar3) {\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }\nLAB_0006b3cc:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar6;\n  }\n                    \n  FUN_0007ad20();\nLAB_0006b4f6:\n  uVar6 = 1;\n  goto LAB_0006b3cc;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_0006b290(byte *param_1,int *param_2,uint param_3)" identifier (parameter_list "(byte *param_1,int *param_2,uint param_3)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  byte bVar3;\n  int iVar4;\n  wint_t wVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  wint_t *pwVar10;\n  int in_GS_OFFSET;\n  uint local_30;\n  char cStack_24;\n  \n  iVar8 = param_2[10];\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar6 = 0;\n  if (param_2[0xe] <= iVar8) {\n    param_1[4] = 2;\n    goto LAB_0006b3cc;\n  }\n  iVar4 = param_2[1];\n  local_30._0_1_ = param_1[6];\n  bVar3 = *(byte *)(iVar4 + iVar8);\n  param_1[6] = (byte)local_30 & 0x9f;\n  *param_1 = bVar3;\n  iVar7 = param_2[0x14];\n  if (iVar7 < 2) {\n    if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\nLAB_0006b3b0:\n    iVar1 = iVar8 + 1;\n    if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }\n  if ((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)) {\n    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;\n    uVar6 = 1;\n    goto LAB_0006b3cc;\n  }\n  if (bVar3 == 0x5c) goto LAB_0006b3b0;\n  iVar7 = param_2[2];\n  param_1[4] = 1;\n  wVar5 = *(wint_t *)(iVar7 + iVar8 * 4);\n  iVar7 = iswalnum(wVar5);\n  param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6;\nLAB_0006b346:\n  switch(bVar3) {\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }\nLAB_0006b3cc:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar6;\n  }\n                    \n  FUN_0007ad20();\nLAB_0006b4f6:\n  uVar6 = 1;\n  goto LAB_0006b3cc;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "wint_t wVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "ushort **ppuVar9;" type_identifier (pointer_declarator "**ppuVar9" * (pointer_declarator "*ppuVar9" * identifier)) ;) (declaration "wint_t *pwVar10;" type_identifier (pointer_declarator "*pwVar10" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "char cStack_24;" primitive_type identifier ;) (expression_statement "iVar8 = param_2[10];" (assignment_expression "iVar8 = param_2[10]" identifier = (subscript_expression "param_2[10]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar2 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (param_2[0xe] <= iVar8) {\n    param_1[4] = 2;\n    goto LAB_0006b3cc;\n  }" if (parenthesized_expression "(param_2[0xe] <= iVar8)" ( (binary_expression "param_2[0xe] <= iVar8" (subscript_expression "param_2[0xe]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n    param_1[4] = 2;\n    goto LAB_0006b3cc;\n  }" { (expression_statement "param_1[4] = 2;" (assignment_expression "param_1[4] = 2" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })) (expression_statement "iVar4 = param_2[1];" (assignment_expression "iVar4 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "local_30._0_1_ = param_1[6];" (assignment_expression "local_30._0_1_ = param_1[6]" (field_expression "local_30._0_1_" identifier . field_identifier) = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "bVar3 = *(byte *)(iVar4 + iVar8);" (assignment_expression "bVar3 = *(byte *)(iVar4 + iVar8)" identifier = (pointer_expression "*(byte *)(iVar4 + iVar8)" * (cast_expression "(byte *)(iVar4 + iVar8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar8)" ( (binary_expression "iVar4 + iVar8" identifier + identifier) ))))) ;) (expression_statement "param_1[6] = (byte)local_30 & 0x9f;" (assignment_expression "param_1[6] = (byte)local_30 & 0x9f" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "(byte)local_30 & 0x9f" (cast_expression "(byte)local_30" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "*param_1 = bVar3;" (assignment_expression "*param_1 = bVar3" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "iVar7 = param_2[0x14];" (assignment_expression "iVar7 = param_2[0x14]" identifier = (subscript_expression "param_2[0x14]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 < 2) {\n    if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\nLAB_0006b3b0:\n    iVar1 = iVar8 + 1;\n    if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }" if (parenthesized_expression "(iVar7 < 2)" ( (binary_expression "iVar7 < 2" identifier < number_literal) )) (compound_statement "{\n    if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\nLAB_0006b3b0:\n    iVar1 = iVar8 + 1;\n    if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }" { (if_statement "if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }" if (parenthesized_expression "(bVar3 != 0x5c)" ( (binary_expression "bVar3 != 0x5c" identifier != number_literal) )) (compound_statement "{\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }" { (expression_statement "param_1[4] = 1;" (assignment_expression "param_1[4] = 1" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_30._0_1_ = (byte)local_30 & 0x9f;" (assignment_expression "local_30._0_1_ = (byte)local_30 & 0x9f" (field_expression "local_30._0_1_" identifier . field_identifier) = (binary_expression "(byte)local_30 & 0x9f" (cast_expression "(byte)local_30" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "ppuVar9 = __ctype_b_loc();" (assignment_expression "ppuVar9 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);" (assignment_expression "param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6)" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "(byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6)" (cast_expression "(byte)local_30" ( (type_descriptor "byte" type_identifier) ) identifier) | (call_expression "(byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6)" ( (binary_expression "((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6" (parenthesized_expression "((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f))" ( (binary_expression "(*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)" (binary_expression "(*ppuVar9)[bVar3] >> 3 & 1" (binary_expression "(*ppuVar9)[bVar3] >> 3" (subscript_expression "(*ppuVar9)[bVar3]" (parenthesized_expression "(*ppuVar9)" ( (pointer_expression "*ppuVar9" * identifier) )) [ identifier ]) >> number_literal) & number_literal) | (call_expression "(uint)(bVar3 == 0x5f)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar3 == 0x5f)" ( (binary_expression "bVar3 == 0x5f" identifier == number_literal) )))) )) << number_literal) ))))) ;) (goto_statement "goto LAB_0006b346;" goto statement_identifier ;) })) (labeled_statement "LAB_0006b3b0:\n    iVar1 = iVar8 + 1;" statement_identifier : (expression_statement "iVar1 = iVar8 + 1;" (assignment_expression "iVar1 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) (if_statement "if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }" if (parenthesized_expression "(param_2[0xc] <= iVar1)" ( (binary_expression "param_2[0xc] <= iVar1" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }" { (expression_statement "param_1[4] = 0x24;" (assignment_expression "param_1[4] = 0x24" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })) (if_statement "if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }" if (parenthesized_expression "(*(char *)((int)param_2 + 0x4b) == '\0')" ( (binary_expression "*(char *)((int)param_2 + 0x4b) == '\0'" (pointer_expression "*(char *)((int)param_2 + 0x4b)" * (cast_expression "(char *)((int)param_2 + 0x4b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x4b)" ( (binary_expression "(int)param_2 + 0x4b" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }" { (labeled_statement "LAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);" statement_identifier : (expression_statement "local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);" (assignment_expression "local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8)" identifier = (binary_expression "(uint)*(byte *)(iVar4 + 1 + iVar8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar4 + 1 + iVar8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1 + iVar8)" ( (binary_expression "iVar4 + 1 + iVar8" (binary_expression "iVar4 + 1" identifier + number_literal) + identifier) ))))) ;)) (labeled_statement "LAB_0006b408:\n      param_1[4] = 1;" statement_identifier : (expression_statement "param_1[4] = 1;" (assignment_expression "param_1[4] = 1" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "*param_1 = (byte)local_30;" (assignment_expression "*param_1 = (byte)local_30" (pointer_expression "*param_1" * identifier) = (cast_expression "(byte)local_30" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }" if (parenthesized_expression "(1 < iVar7)" ( (binary_expression "1 < iVar7" number_literal < identifier) )) (compound_statement "{\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }" { (expression_statement "pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);" (assignment_expression "pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4)" identifier = (cast_expression "(wint_t *)(param_2[2] + iVar1 * 4)" ( (type_descriptor "wint_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[2] + iVar1 * 4)" ( (binary_expression "param_2[2] + iVar1 * 4" (subscript_expression "param_2[2]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) ;) (goto_statement "goto LAB_0006b421;" goto statement_identifier ;) })) (expression_statement "ppuVar9 = __ctype_b_loc();" (assignment_expression "ppuVar9 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;" (assignment_expression "param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "(byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf" (call_expression "(byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6)" ( (binary_expression "((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6" (parenthesized_expression "((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f))" ( (binary_expression "(*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)" (binary_expression "(*ppuVar9)[local_30] >> 3 & 1" (binary_expression "(*ppuVar9)[local_30] >> 3" (subscript_expression "(*ppuVar9)[local_30]" (parenthesized_expression "(*ppuVar9)" ( (pointer_expression "*ppuVar9" * identifier) )) [ identifier ]) >> number_literal) & number_literal) | (call_expression "(uint)((byte)local_30 == 0x5f)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)local_30 == 0x5f)" ( (binary_expression "(byte)local_30 == 0x5f" (cast_expression "(byte)local_30" ( (type_descriptor "byte" type_identifier) ) identifier) == number_literal) )))) )) << number_literal) ))) | (binary_expression "param_1[6] & 0xbf" (subscript_expression "param_1[6]" identifier [ number_literal ]) & number_literal))) ;) }) (else_clause "else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }" else (compound_statement "{\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }" { (if_statement "if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }" if (parenthesized_expression "(iVar7 < 2)" ( (binary_expression "iVar7 < 2" identifier < number_literal) )) (compound_statement "{\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }" { (labeled_statement "LAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }" statement_identifier : (if_statement "if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }" if (parenthesized_expression "((char)param_2[0x13] == '\0')" ( (binary_expression "(char)param_2[0x13] == '\0'" (cast_expression "(char)param_2[0x13]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[0x13]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }" { (expression_statement "local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);" (assignment_expression "local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6])" identifier = (binary_expression "(uint)*(byte *)(*param_2 + iVar1 + param_2[6])" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*param_2 + iVar1 + param_2[6])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_2 + iVar1 + param_2[6])" ( (binary_expression "*param_2 + iVar1 + param_2[6]" (binary_expression "*param_2 + iVar1" (pointer_expression "*param_2" * identifier) + identifier) + (subscript_expression "param_2[6]" identifier [ number_literal ])) ))))) ;) }) (else_clause "else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }" else (compound_statement "{\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }" { (expression_statement "bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));" (assignment_expression "bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4))" identifier = (pointer_expression "*(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4))" * (cast_expression "(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4))" ( (binary_expression "*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4)" (binary_expression "*param_2 + param_2[6]" (pointer_expression "*param_2" * identifier) + (subscript_expression "param_2[6]" identifier [ number_literal ])) + (pointer_expression "*(int *)(param_2[3] + iVar1 * 4)" * (cast_expression "(int *)(param_2[3] + iVar1 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[3] + iVar1 * 4)" ( (binary_expression "param_2[3] + iVar1 * 4" (subscript_expression "param_2[3]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) ))))) ))))) ;) (expression_statement "local_30 = (uint)bVar3;" (assignment_expression "local_30 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;" if (parenthesized_expression "((bVar3 & 0x80) != 0)" ( (binary_expression "(bVar3 & 0x80) != 0" (parenthesized_expression "(bVar3 & 0x80)" ( (binary_expression "bVar3 & 0x80" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0006b3f2;" goto statement_identifier ;)) })))) (goto_statement "goto LAB_0006b408;" goto statement_identifier ;) })) (expression_statement "pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);" (assignment_expression "pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4)" identifier = (cast_expression "(wint_t *)(param_2[2] + iVar1 * 4)" ( (type_descriptor "wint_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[2] + iVar1 * 4)" ( (binary_expression "param_2[2] + iVar1 * 4" (subscript_expression "param_2[2]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) ;) (if_statement "if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;" if (parenthesized_expression "((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))" ( (binary_expression "(*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1)))" (parenthesized_expression "(*pwVar10 != 0xffffffff)" ( (binary_expression "*pwVar10 != 0xffffffff" (pointer_expression "*pwVar10" * identifier) != number_literal) )) && (parenthesized_expression "((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1)))" ( (parenthesized_expression "(param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))" ( (binary_expression "param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1)" (binary_expression "param_2[7] == iVar8 + 2" (subscript_expression "param_2[7]" identifier [ number_literal ]) == (binary_expression "iVar8 + 2" identifier + number_literal)) || (parenthesized_expression "(*(int *)(param_2[2] + 4 + iVar1 * 4) != -1)" ( (binary_expression "*(int *)(param_2[2] + 4 + iVar1 * 4) != -1" (pointer_expression "*(int *)(param_2[2] + 4 + iVar1 * 4)" * (cast_expression "(int *)(param_2[2] + 4 + iVar1 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[2] + 4 + iVar1 * 4)" ( (binary_expression "param_2[2] + 4 + iVar1 * 4" (binary_expression "param_2[2] + 4" (subscript_expression "param_2[2]" identifier [ number_literal ]) + number_literal) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_0006b8f0;" goto statement_identifier ;)) (expression_statement "bVar3 = *(byte *)(iVar4 + 1 + iVar8);" (assignment_expression "bVar3 = *(byte *)(iVar4 + 1 + iVar8)" identifier = (pointer_expression "*(byte *)(iVar4 + 1 + iVar8)" * (cast_expression "(byte *)(iVar4 + 1 + iVar8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1 + iVar8)" ( (binary_expression "iVar4 + 1 + iVar8" (binary_expression "iVar4 + 1" identifier + number_literal) + identifier) ))))) ;) (expression_statement "param_1[4] = 1;" (assignment_expression "param_1[4] = 1" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*param_1 = bVar3;" (assignment_expression "*param_1 = bVar3" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "local_30 = (uint)bVar3;" (assignment_expression "local_30 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (labeled_statement "LAB_0006b421:\n      wVar5 = *pwVar10;" statement_identifier : (expression_statement "wVar5 = *pwVar10;" (assignment_expression "wVar5 = *pwVar10" identifier = (pointer_expression "*pwVar10" * identifier)) ;)) (expression_statement "iVar8 = iswalnum(wVar5);" (assignment_expression "iVar8 = iswalnum(wVar5)" identifier = (call_expression "iswalnum(wVar5)" identifier (argument_list "(wVar5)" ( identifier )))) ;) (expression_statement "param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;" (assignment_expression "param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6" (binary_expression "param_1[6] & 0xbf" (subscript_expression "param_1[6]" identifier [ number_literal ]) & number_literal) | (binary_expression "(iVar8 != 0 || wVar5 == 0x5f) << 6" (parenthesized_expression "(iVar8 != 0 || wVar5 == 0x5f)" ( (binary_expression "iVar8 != 0 || wVar5 == 0x5f" (binary_expression "iVar8 != 0" identifier != number_literal) || (binary_expression "wVar5 == 0x5f" identifier == number_literal)) )) << number_literal))) ;) }))) (switch_statement "switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }" switch (parenthesized_expression "(local_30 - 0x27 & 0xff)" ( (binary_expression "local_30 - 0x27 & 0xff" (binary_expression "local_30 - 0x27" identifier - number_literal) & number_literal) )) (compound_statement "{\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }" { (case_statement "case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" { (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0] = 0x80;" (assignment_expression "param_1[0] = 0x80" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x2000) != 0) break;" if (parenthesized_expression "((param_3 & 0x2000) != 0)" ( (binary_expression "(param_3 & 0x2000) != 0" (parenthesized_expression "(param_3 & 0x2000)" ( (binary_expression "param_3 & 0x2000" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto code_r0x0006b4d3;" goto statement_identifier ;)) (case_statement "case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x2000) != 0) break;" if (parenthesized_expression "((param_3 & 0x2000) != 0)" ( (binary_expression "(param_3 & 0x2000) != 0" (parenthesized_expression "(param_3 & 0x2000)" ( (binary_expression "param_3 & 0x2000" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto code_r0x0006b513;" goto statement_identifier ;)) (case_statement "default:\n      uVar6 = 2;\n      break;" default : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x402) != 2) break;" if (parenthesized_expression "((param_3 & 0x402) != 2)" ( (binary_expression "(param_3 & 0x402) != 2" (parenthesized_expression "(param_3 & 0x402)" ( (binary_expression "param_3 & 0x402" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto code_r0x0006b543;" goto statement_identifier ;)) (case_statement "case 10:" case number_literal :) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0xc:" case number_literal :) (case_statement "case 0xd:" case number_literal :) (case_statement "case 0xe:" case number_literal :) (case_statement "case 0xf:" case number_literal :) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x11:" case number_literal :) (case_statement "case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }" if (parenthesized_expression "((param_3 & 0x4000) == 0)" ( (binary_expression "(param_3 & 0x4000) == 0" (parenthesized_expression "(param_3 & 0x4000)" ( (binary_expression "param_3 & 0x4000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }" { (expression_statement "param_1[4] = 4;" (assignment_expression "param_1[4] = 4" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint *)param_1 = local_30 - 0x31;" (assignment_expression "*(uint *)param_1 = local_30 - 0x31" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "local_30 - 0x31" identifier - number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" { (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0] = 6;" (assignment_expression "param_1[0] = 6" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" { (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0] = 9;" (assignment_expression "param_1[0] = 9" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x402) != 2) break;" if (parenthesized_expression "((param_3 & 0x402) != 2)" ( (binary_expression "(param_3 & 0x402) != 2" (parenthesized_expression "(param_3 & 0x402)" ( (binary_expression "param_3 & 0x402" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto code_r0x0006b573;" goto statement_identifier ;)) (case_statement "case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" { (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0] = 0;" (assignment_expression "param_1[0] = 0" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 2;" (assignment_expression "param_1[1] = 2" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0x23;\n      }" { (expression_statement "param_1[4] = 0x23;" (assignment_expression "param_1[4] = 0x23" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0x21;\n      }" { (expression_statement "param_1[4] = 0x21;" (assignment_expression "param_1[4] = 0x21" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" { (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0] = 0x40;" (assignment_expression "param_1[0] = 0x40" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" { (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0] = 0;" (assignment_expression "param_1[0] = 0" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 1;" (assignment_expression "param_1[1] = 1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0x22;\n      }" { (expression_statement "param_1[4] = 0x22;" (assignment_expression "param_1[4] = 0x22" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }" if (parenthesized_expression "((param_3 & 0x80000) == 0)" ( (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" ( (binary_expression "param_3 & 0x80000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 0x20;\n      }" { (expression_statement "param_1[4] = 0x20;" (assignment_expression "param_1[4] = 0x20" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x1200) != 0x200) break;" if (parenthesized_expression "((param_3 & 0x1200) != 0x200)" ( (binary_expression "(param_3 & 0x1200) != 0x200" (parenthesized_expression "(param_3 & 0x1200)" ( (binary_expression "param_3 & 0x1200" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto code_r0x0006b5db;" goto statement_identifier ;)) (case_statement "case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }" if (parenthesized_expression "((param_3 & 0x8400) == 0)" ( (binary_expression "(param_3 & 0x8400) == 0" (parenthesized_expression "(param_3 & 0x8400)" ( (binary_expression "param_3 & 0x8400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[4] = 10;\n      }" { (expression_statement "param_1[4] = 10;" (assignment_expression "param_1[4] = 10" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;" case number_literal : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x1200) != 0x200) break;" if (parenthesized_expression "((param_3 & 0x1200) != 0x200)" ( (binary_expression "(param_3 & 0x1200) != 0x200" (parenthesized_expression "(param_3 & 0x1200)" ( (binary_expression "param_3 & 0x1200" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto code_r0x0006b62b;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })) (if_statement "if ((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)) {\n    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;\n    uVar6 = 1;\n    goto LAB_0006b3cc;\n  }" if (parenthesized_expression "((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1))" ( (binary_expression "(iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)" (parenthesized_expression "(iVar8 != param_2[7])" ( (binary_expression "iVar8 != param_2[7]" identifier != (subscript_expression "param_2[7]" identifier [ number_literal ])) )) && (parenthesized_expression "(*(int *)(param_2[2] + iVar8 * 4) == -1)" ( (binary_expression "*(int *)(param_2[2] + iVar8 * 4) == -1" (pointer_expression "*(int *)(param_2[2] + iVar8 * 4)" * (cast_expression "(int *)(param_2[2] + iVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[2] + iVar8 * 4)" ( (binary_expression "param_2[2] + iVar8 * 4" (subscript_expression "param_2[2]" identifier [ number_literal ]) + (binary_expression "iVar8 * 4" identifier * number_literal)) )))) == number_literal) ))) )) (compound_statement "{\n    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;\n    uVar6 = 1;\n    goto LAB_0006b3cc;\n  }" { (expression_statement "*(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;" (assignment_expression "*(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001" (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001" (binary_expression "*(uint *)(param_1 + 4) & 0xffdfff00" (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })) (if_statement "if (bVar3 == 0x5c) goto LAB_0006b3b0;" if (parenthesized_expression "(bVar3 == 0x5c)" ( (binary_expression "bVar3 == 0x5c" identifier == number_literal) )) (goto_statement "goto LAB_0006b3b0;" goto statement_identifier ;)) (expression_statement "iVar7 = param_2[2];" (assignment_expression "iVar7 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "param_1[4] = 1;" (assignment_expression "param_1[4] = 1" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "wVar5 = *(wint_t *)(iVar7 + iVar8 * 4);" (assignment_expression "wVar5 = *(wint_t *)(iVar7 + iVar8 * 4)" identifier = (pointer_expression "*(wint_t *)(iVar7 + iVar8 * 4)" * (cast_expression "(wint_t *)(iVar7 + iVar8 * 4)" ( (type_descriptor "wint_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar8 * 4)" ( (binary_expression "iVar7 + iVar8 * 4" identifier + (binary_expression "iVar8 * 4" identifier * number_literal)) ))))) ;) (expression_statement "iVar7 = iswalnum(wVar5);" (assignment_expression "iVar7 = iswalnum(wVar5)" identifier = (call_expression "iswalnum(wVar5)" identifier (argument_list "(wVar5)" ( identifier )))) ;) (expression_statement "param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6;" (assignment_expression "param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6" (binary_expression "param_1[6] & 0xbf" (subscript_expression "param_1[6]" identifier [ number_literal ]) & number_literal) | (binary_expression "(wVar5 == 0x5f || iVar7 != 0) << 6" (parenthesized_expression "(wVar5 == 0x5f || iVar7 != 0)" ( (binary_expression "wVar5 == 0x5f || iVar7 != 0" (binary_expression "wVar5 == 0x5f" identifier == number_literal) || (binary_expression "iVar7 != 0" identifier != number_literal)) )) << number_literal))) ;) (labeled_statement "LAB_0006b346:\n  switch(bVar3) {\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }" statement_identifier : (switch_statement "switch(bVar3) {\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }" switch (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }" { (case_statement "case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;" case number_literal : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x800) == 0) break;" if (parenthesized_expression "((param_3 & 0x800) == 0)" ( (binary_expression "(param_3 & 0x800) == 0" (parenthesized_expression "(param_3 & 0x800)" ( (binary_expression "param_3 & 0x800" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (goto_statement "goto code_r0x0006b5fb;" goto statement_identifier ;)) (case_statement "default:\n    goto LAB_0006b4f6;" default : (goto_statement "goto LAB_0006b4f6;" goto statement_identifier ;)) (case_statement "case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;" case number_literal : (if_statement "if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }" if (parenthesized_expression "(((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc]))" ( (binary_expression "((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])" (parenthesized_expression "((param_3 & 8) == 0)" ( (binary_expression "(param_3 & 8) == 0" (parenthesized_expression "(param_3 & 8)" ( (binary_expression "param_3 & 8" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar8 + 1 != param_2[0xc])" ( (binary_expression "iVar8 + 1 != param_2[0xc]" (binary_expression "iVar8 + 1" identifier + number_literal) != (subscript_expression "param_2[0xc]" identifier [ number_literal ])) ))) )) (compound_statement "{\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }" { (expression_statement "param_2[10] = iVar8 + 1;" (assignment_expression "param_2[10] = iVar8 + 1" (subscript_expression "param_2[10]" identifier [ number_literal ]) = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0006b290();" (call_expression "FUN_0006b290()" identifier (argument_list "()" ( ))) ;) (expression_statement "param_2[10] = param_2[10] + -1;" (assignment_expression "param_2[10] = param_2[10] + -1" (subscript_expression "param_2[10]" identifier [ number_literal ]) = (binary_expression "param_2[10] + -1" (subscript_expression "param_2[10]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if (1 < (byte)(cStack_24 - 9U)) break;" if (parenthesized_expression "(1 < (byte)(cStack_24 - 9U))" ( (binary_expression "1 < (byte)(cStack_24 - 9U)" number_literal < (call_expression "(byte)(cStack_24 - 9U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cStack_24 - 9U)" ( (binary_expression "cStack_24 - 9U" identifier - number_literal) )))) )) (break_statement "break;" break ;)) })) (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "param_1[0] = 0x20;" (assignment_expression "param_1[0] = 0x20" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;" case number_literal : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x2000) == 0) break;" if (parenthesized_expression "((param_3 & 0x2000) == 0)" ( (binary_expression "(param_3 & 0x2000) == 0" (parenthesized_expression "(param_3 & 0x2000)" ( (binary_expression "param_3 & 0x2000" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x0006b4d3:\n    param_1[4] = 8;" statement_identifier : (expression_statement "param_1[4] = 8;" (assignment_expression "param_1[4] = 8" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;" case number_literal : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x2000) == 0) break;" if (parenthesized_expression "((param_3 & 0x2000) == 0)" ( (binary_expression "(param_3 & 0x2000) == 0" (parenthesized_expression "(param_3 & 0x2000)" ( (binary_expression "param_3 & 0x2000" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x0006b513:\n    param_1[4] = 9;" statement_identifier : (expression_statement "param_1[4] = 9;" (assignment_expression "param_1[4] = 9" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;" case number_literal : (expression_statement "param_1[4] = 0xb;" (assignment_expression "param_1[4] = 0xb" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;" case number_literal : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x402) != 0) break;" if (parenthesized_expression "((param_3 & 0x402) != 0)" ( (binary_expression "(param_3 & 0x402) != 0" (parenthesized_expression "(param_3 & 0x402)" ( (binary_expression "param_3 & 0x402" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x0006b543:\n    param_1[4] = 0x12;" statement_identifier : (expression_statement "param_1[4] = 0x12;" (assignment_expression "param_1[4] = 0x12" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;" case number_literal : (expression_statement "param_1[4] = 5;" (assignment_expression "param_1[4] = 5" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;" case number_literal : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x402) != 0) break;" if (parenthesized_expression "((param_3 & 0x402) != 0)" ( (binary_expression "(param_3 & 0x402) != 0" (parenthesized_expression "(param_3 & 0x402)" ( (binary_expression "param_3 & 0x402" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x0006b573:\n    param_1[4] = 0x13;" statement_identifier : (expression_statement "param_1[4] = 0x13;" (assignment_expression "param_1[4] = 0x13" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;" case number_literal : (expression_statement "param_1[4] = 0x14;" (assignment_expression "param_1[4] = 0x14" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;" case number_literal : (if_statement "if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }" if (parenthesized_expression "((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0))))" ( (binary_expression "(((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))" (parenthesized_expression "(((param_3 & 0x800008) != 0) || (iVar8 == 0))" ( (binary_expression "((param_3 & 0x800008) != 0) || (iVar8 == 0)" (parenthesized_expression "((param_3 & 0x800008) != 0)" ( (binary_expression "(param_3 & 0x800008) != 0" (parenthesized_expression "(param_3 & 0x800008)" ( (binary_expression "param_3 & 0x800008" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))" ( (parenthesized_expression "(*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0))" ( (binary_expression "*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)" (binary_expression "*(char *)(iVar4 + -1 + iVar8) == '\n'" (pointer_expression "*(char *)(iVar4 + -1 + iVar8)" * (cast_expression "(char *)(iVar4 + -1 + iVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + -1 + iVar8)" ( (binary_expression "iVar4 + -1 + iVar8" (binary_expression "iVar4 + -1" identifier + number_literal) + identifier) )))) == (char_literal "'\n'" ' escape_sequence ')) && (parenthesized_expression "((param_3 & 0x800) != 0)" ( (binary_expression "(param_3 & 0x800) != 0" (parenthesized_expression "(param_3 & 0x800)" ( (binary_expression "param_3 & 0x800" identifier & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }" { (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "param_1[0] = 0x10;" (assignment_expression "param_1[0] = 0x10" (subscript_expression "param_1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (break_statement "break;" break ;) })) (goto_statement "goto LAB_0006b4f6;" goto statement_identifier ;)) (case_statement "case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;" case number_literal : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x1200) != 0x1200) break;" if (parenthesized_expression "((param_3 & 0x1200) != 0x1200)" ( (binary_expression "(param_3 & 0x1200) != 0x1200" (parenthesized_expression "(param_3 & 0x1200)" ( (binary_expression "param_3 & 0x1200" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x0006b5db:\n    param_1[4] = 0x17;" statement_identifier : (expression_statement "param_1[4] = 0x17;" (assignment_expression "param_1[4] = 0x17" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;" case number_literal : (if_statement "if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;" if (parenthesized_expression "((param_3 & 0x8400) != 0x8000)" ( (binary_expression "(param_3 & 0x8400) != 0x8000" (parenthesized_expression "(param_3 & 0x8400)" ( (binary_expression "param_3 & 0x8400" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0006b4f6;" goto statement_identifier ;)) (labeled_statement "code_r0x0006b5fb:\n    param_1[4] = 10;" statement_identifier : (expression_statement "param_1[4] = 10;" (assignment_expression "param_1[4] = 10" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;" case number_literal : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if ((param_3 & 0x1200) != 0x1200) break;" if (parenthesized_expression "((param_3 & 0x1200) != 0x1200)" ( (binary_expression "(param_3 & 0x1200) != 0x1200" (parenthesized_expression "(param_3 & 0x1200)" ( (binary_expression "param_3 & 0x1200" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x0006b62b:\n    param_1[4] = 0x18;" statement_identifier : (expression_statement "param_1[4] = 0x18;" (assignment_expression "param_1[4] = 0x18" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;))) }))) (labeled_statement "LAB_0006b3cc:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar6;\n  }" statement_identifier : (if_statement "if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar6;\n  }" if (parenthesized_expression "(iVar2 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar2 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar6;\n  }" { (return_statement "return uVar6;" return identifier ;) }))) (expression_statement "FUN_0007ad20();" (call_expression "FUN_0007ad20()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0006b4f6:\n  uVar6 = 1;" statement_identifier : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_0006b3cc;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ IDENT ]) >> LIT) & LIT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) )) << LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ IDENT ]) >> LIT) & LIT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )))) )) << LIT) ))) | (binary_expression (subscript_expression IDENT [ LIT ]) & LIT))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) + IDENT) + (subscript_expression IDENT [ LIT ])) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) + (subscript_expression IDENT [ LIT ])) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) })))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == (binary_expression IDENT + LIT)) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + (binary_expression IDENT * LIT)) )))) != LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT == LIT)) )) << LIT))) ;) }))) (switch_statement switch (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (break_statement break ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (break_statement break ;)) (goto_statement goto statement_identifier ;)) (case_statement default : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (break_statement break ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression IDENT - LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (break_statement break ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (break_statement break ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (break_statement break ;)) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (subscript_expression IDENT [ LIT ])) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT != LIT)) )) << LIT))) ;) (labeled_statement statement_identifier : (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (break_statement break ;)) (goto_statement goto statement_identifier ;)) (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != (subscript_expression IDENT [ LIT ])) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) )) (break_statement break ;)) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) == (char_literal ' escape_sequence ')) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (break_statement break ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })))
(function_definition "undefined4 __regparm3 FUN_0006b290(byte *param_1,int *param_2,uint param_3)\n\n{\n  int iVar1;\n  int iVar2;\n  byte bVar3;\n  int iVar4;\n  wint_t wVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  wint_t *pwVar10;\n  int in_GS_OFFSET;\n  uint local_30;\n  char cStack_24;\n  \n  iVar8 = param_2[10];\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar6 = 0;\n  if (param_2[0xe] <= iVar8) {\n    param_1[4] = 2;\n    goto LAB_0006b3cc;\n  }\n  iVar4 = param_2[1];\n  local_30._0_1_ = param_1[6];\n  bVar3 = *(byte *)(iVar4 + iVar8);\n  param_1[6] = (byte)local_30 & 0x9f;\n  *param_1 = bVar3;\n  iVar7 = param_2[0x14];\n  if (iVar7 < 2) {\n    if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\nLAB_0006b3b0:\n    iVar1 = iVar8 + 1;\n    if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }\n  if ((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)) {\n    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;\n    uVar6 = 1;\n    goto LAB_0006b3cc;\n  }\n  if (bVar3 == 0x5c) goto LAB_0006b3b0;\n  iVar7 = param_2[2];\n  param_1[4] = 1;\n  wVar5 = *(wint_t *)(iVar7 + iVar8 * 4);\n  iVar7 = iswalnum(wVar5);\n  param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6;\nLAB_0006b346:\n  switch(bVar3) {\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }\nLAB_0006b3cc:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar6;\n  }\n                    \n  FUN_0007ad20();\nLAB_0006b4f6:\n  uVar6 = 1;\n  goto LAB_0006b3cc;\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0006b290(byte *param_1,int *param_2,uint param_3)" (identifier "FUN_0006b290") (parameter_list "(byte *param_1,int *param_2,uint param_3)" (( "(") (parameter_declaration "byte *param_1" (type_identifier "byte") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  byte bVar3;\n  int iVar4;\n  wint_t wVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  ushort **ppuVar9;\n  wint_t *pwVar10;\n  int in_GS_OFFSET;\n  uint local_30;\n  char cStack_24;\n  \n  iVar8 = param_2[10];\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  uVar6 = 0;\n  if (param_2[0xe] <= iVar8) {\n    param_1[4] = 2;\n    goto LAB_0006b3cc;\n  }\n  iVar4 = param_2[1];\n  local_30._0_1_ = param_1[6];\n  bVar3 = *(byte *)(iVar4 + iVar8);\n  param_1[6] = (byte)local_30 & 0x9f;\n  *param_1 = bVar3;\n  iVar7 = param_2[0x14];\n  if (iVar7 < 2) {\n    if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\nLAB_0006b3b0:\n    iVar1 = iVar8 + 1;\n    if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }\n  if ((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)) {\n    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;\n    uVar6 = 1;\n    goto LAB_0006b3cc;\n  }\n  if (bVar3 == 0x5c) goto LAB_0006b3b0;\n  iVar7 = param_2[2];\n  param_1[4] = 1;\n  wVar5 = *(wint_t *)(iVar7 + iVar8 * 4);\n  iVar7 = iswalnum(wVar5);\n  param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6;\nLAB_0006b346:\n  switch(bVar3) {\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }\nLAB_0006b3cc:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar6;\n  }\n                    \n  FUN_0007ad20();\nLAB_0006b4f6:\n  uVar6 = 1;\n  goto LAB_0006b3cc;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "wint_t wVar5;" (type_identifier "wint_t") (identifier "wVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "ushort **ppuVar9;" (type_identifier "ushort") (pointer_declarator "**ppuVar9" (* "*") (pointer_declarator "*ppuVar9" (* "*") (identifier "ppuVar9"))) (; ";")) (declaration "wint_t *pwVar10;" (type_identifier "wint_t") (pointer_declarator "*pwVar10" (* "*") (identifier "pwVar10")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "uint local_30;" (type_identifier "uint") (identifier "local_30") (; ";")) (declaration "char cStack_24;" (primitive_type "char") (identifier "cStack_24") (; ";")) (expression_statement "iVar8 = param_2[10];" (assignment_expression "iVar8 = param_2[10]" (identifier "iVar8") (= "=") (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "iVar2 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar2 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_2[0xe] <= iVar8) {\n    param_1[4] = 2;\n    goto LAB_0006b3cc;\n  }" (if "if") (parenthesized_expression "(param_2[0xe] <= iVar8)" (( "(") (binary_expression "param_2[0xe] <= iVar8" (subscript_expression "param_2[0xe]" (identifier "param_2") ([ "[") (number_literal "0xe") (] "]")) (<= "<=") (identifier "iVar8")) () ")")) (compound_statement "{\n    param_1[4] = 2;\n    goto LAB_0006b3cc;\n  }" ({ "{") (expression_statement "param_1[4] = 2;" (assignment_expression "param_1[4] = 2" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "2")) (; ";")) (goto_statement "goto LAB_0006b3cc;" (goto "goto") (statement_identifier "LAB_0006b3cc") (; ";")) (} "}"))) (expression_statement "iVar4 = param_2[1];" (assignment_expression "iVar4 = param_2[1]" (identifier "iVar4") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_30._0_1_ = param_1[6];" (assignment_expression "local_30._0_1_ = param_1[6]" (field_expression "local_30._0_1_" (identifier "local_30") (. ".") (field_identifier "_0_1_")) (= "=") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "bVar3 = *(byte *)(iVar4 + iVar8);" (assignment_expression "bVar3 = *(byte *)(iVar4 + iVar8)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(iVar4 + iVar8)" (* "*") (cast_expression "(byte *)(iVar4 + iVar8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + iVar8)" (( "(") (binary_expression "iVar4 + iVar8" (identifier "iVar4") (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "param_1[6] = (byte)local_30 & 0x9f;" (assignment_expression "param_1[6] = (byte)local_30 & 0x9f" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "(byte)local_30 & 0x9f" (cast_expression "(byte)local_30" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_30")) (& "&") (number_literal "0x9f"))) (; ";")) (expression_statement "*param_1 = bVar3;" (assignment_expression "*param_1 = bVar3" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "iVar7 = param_2[0x14];" (assignment_expression "iVar7 = param_2[0x14]" (identifier "iVar7") (= "=") (subscript_expression "param_2[0x14]" (identifier "param_2") ([ "[") (number_literal "0x14") (] "]"))) (; ";")) (if_statement "if (iVar7 < 2) {\n    if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\nLAB_0006b3b0:\n    iVar1 = iVar8 + 1;\n    if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }" (if "if") (parenthesized_expression "(iVar7 < 2)" (( "(") (binary_expression "iVar7 < 2" (identifier "iVar7") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n    if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }\nLAB_0006b3b0:\n    iVar1 = iVar8 + 1;\n    if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }\n    if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }\n    switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }\n    goto LAB_0006b3cc;\n  }" ({ "{") (if_statement "if (bVar3 != 0x5c) {\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }" (if "if") (parenthesized_expression "(bVar3 != 0x5c)" (( "(") (binary_expression "bVar3 != 0x5c" (identifier "bVar3") (!= "!=") (number_literal "0x5c")) () ")")) (compound_statement "{\n      param_1[4] = 1;\n      local_30._0_1_ = (byte)local_30 & 0x9f;\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);\n      goto LAB_0006b346;\n    }" ({ "{") (expression_statement "param_1[4] = 1;" (assignment_expression "param_1[4] = 1" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "local_30._0_1_ = (byte)local_30 & 0x9f;" (assignment_expression "local_30._0_1_ = (byte)local_30 & 0x9f" (field_expression "local_30._0_1_" (identifier "local_30") (. ".") (field_identifier "_0_1_")) (= "=") (binary_expression "(byte)local_30 & 0x9f" (cast_expression "(byte)local_30" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_30")) (& "&") (number_literal "0x9f"))) (; ";")) (expression_statement "ppuVar9 = __ctype_b_loc();" (assignment_expression "ppuVar9 = __ctype_b_loc()" (identifier "ppuVar9") (= "=") (call_expression "__ctype_b_loc()" (identifier "__ctype_b_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);" (assignment_expression "param_1[6] = (byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6)" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "(byte)local_30 |\n                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6)" (cast_expression "(byte)local_30" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_30")) (| "|") (call_expression "(byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6)" (( "(") (binary_expression "((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6" (parenthesized_expression "((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f))" (( "(") (binary_expression "(*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)" (binary_expression "(*ppuVar9)[bVar3] >> 3 & 1" (binary_expression "(*ppuVar9)[bVar3] >> 3" (subscript_expression "(*ppuVar9)[bVar3]" (parenthesized_expression "(*ppuVar9)" (( "(") (pointer_expression "*ppuVar9" (* "*") (identifier "ppuVar9")) () ")")) ([ "[") (identifier "bVar3") (] "]")) (>> ">>") (number_literal "3")) (& "&") (number_literal "1")) (| "|") (call_expression "(uint)(bVar3 == 0x5f)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(bVar3 == 0x5f)" (( "(") (binary_expression "bVar3 == 0x5f" (identifier "bVar3") (== "==") (number_literal "0x5f")) () ")")))) () ")")) (<< "<<") (number_literal "6")) () ")"))))) (; ";")) (goto_statement "goto LAB_0006b346;" (goto "goto") (statement_identifier "LAB_0006b346") (; ";")) (} "}"))) (labeled_statement "LAB_0006b3b0:\n    iVar1 = iVar8 + 1;" (statement_identifier "LAB_0006b3b0") (: ":") (expression_statement "iVar1 = iVar8 + 1;" (assignment_expression "iVar1 = iVar8 + 1" (identifier "iVar1") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (param_2[0xc] <= iVar1) {\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }" (if "if") (parenthesized_expression "(param_2[0xc] <= iVar1)" (( "(") (binary_expression "param_2[0xc] <= iVar1" (subscript_expression "param_2[0xc]" (identifier "param_2") ([ "[") (number_literal "0xc") (] "]")) (<= "<=") (identifier "iVar1")) () ")")) (compound_statement "{\n      param_1[4] = 0x24;\n      uVar6 = 1;\n      goto LAB_0006b3cc;\n    }" ({ "{") (expression_statement "param_1[4] = 0x24;" (assignment_expression "param_1[4] = 0x24" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x24")) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0006b3cc;" (goto "goto") (statement_identifier "LAB_0006b3cc") (; ";")) (} "}"))) (if_statement "if (*(char *)((int)param_2 + 0x4b) == '\0') {\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }\n    else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }" (if "if") (parenthesized_expression "(*(char *)((int)param_2 + 0x4b) == '\0')" (( "(") (binary_expression "*(char *)((int)param_2 + 0x4b) == '\0'" (pointer_expression "*(char *)((int)param_2 + 0x4b)" (* "*") (cast_expression "(char *)((int)param_2 + 0x4b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x4b)" (( "(") (binary_expression "(int)param_2 + 0x4b" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x4b")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);\nLAB_0006b408:\n      param_1[4] = 1;\n      *param_1 = (byte)local_30;\n      if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }\n      ppuVar9 = __ctype_b_loc();\n      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;\n    }" ({ "{") (labeled_statement "LAB_0006b3f2:\n      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);" (statement_identifier "LAB_0006b3f2") (: ":") (expression_statement "local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);" (assignment_expression "local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8)" (identifier "local_30") (= "=") (binary_expression "(uint)*(byte *)(iVar4 + 1 + iVar8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar4 + 1 + iVar8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 1 + iVar8)" (( "(") (binary_expression "iVar4 + 1 + iVar8" (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";"))) (labeled_statement "LAB_0006b408:\n      param_1[4] = 1;" (statement_identifier "LAB_0006b408") (: ":") (expression_statement "param_1[4] = 1;" (assignment_expression "param_1[4] = 1" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "1")) (; ";"))) (expression_statement "*param_1 = (byte)local_30;" (assignment_expression "*param_1 = (byte)local_30" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(byte)local_30" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_30"))) (; ";")) (if_statement "if (1 < iVar7) {\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }" (if "if") (parenthesized_expression "(1 < iVar7)" (( "(") (binary_expression "1 < iVar7" (number_literal "1") (< "<") (identifier "iVar7")) () ")")) (compound_statement "{\n        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n        goto LAB_0006b421;\n      }" ({ "{") (expression_statement "pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);" (assignment_expression "pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4)" (identifier "pwVar10") (= "=") (cast_expression "(wint_t *)(param_2[2] + iVar1 * 4)" (( "(") (type_descriptor "wint_t *" (type_identifier "wint_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[2] + iVar1 * 4)" (( "(") (binary_expression "param_2[2] + iVar1 * 4" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (+ "+") (binary_expression "iVar1 * 4" (identifier "iVar1") (* "*") (number_literal "4"))) () ")")))) (; ";")) (goto_statement "goto LAB_0006b421;" (goto "goto") (statement_identifier "LAB_0006b421") (; ";")) (} "}"))) (expression_statement "ppuVar9 = __ctype_b_loc();" (assignment_expression "ppuVar9 = __ctype_b_loc()" (identifier "ppuVar9") (= "=") (call_expression "__ctype_b_loc()" (identifier "__ctype_b_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf;" (assignment_expression "param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "(byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |\n                   param_1[6] & 0xbf" (call_expression "(byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6)" (( "(") (binary_expression "((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6" (parenthesized_expression "((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f))" (( "(") (binary_expression "(*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)" (binary_expression "(*ppuVar9)[local_30] >> 3 & 1" (binary_expression "(*ppuVar9)[local_30] >> 3" (subscript_expression "(*ppuVar9)[local_30]" (parenthesized_expression "(*ppuVar9)" (( "(") (pointer_expression "*ppuVar9" (* "*") (identifier "ppuVar9")) () ")")) ([ "[") (identifier "local_30") (] "]")) (>> ">>") (number_literal "3")) (& "&") (number_literal "1")) (| "|") (call_expression "(uint)((byte)local_30 == 0x5f)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((byte)local_30 == 0x5f)" (( "(") (binary_expression "(byte)local_30 == 0x5f" (cast_expression "(byte)local_30" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_30")) (== "==") (number_literal "0x5f")) () ")")))) () ")")) (<< "<<") (number_literal "6")) () ")"))) (| "|") (binary_expression "param_1[6] & 0xbf" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (& "&") (number_literal "0xbf")))) (; ";")) (} "}")) (else_clause "else {\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }" (else "else") (compound_statement "{\n      if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }\n      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);\n      if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;\n      bVar3 = *(byte *)(iVar4 + 1 + iVar8);\n      param_1[4] = 1;\n      *param_1 = bVar3;\n      local_30 = (uint)bVar3;\nLAB_0006b421:\n      wVar5 = *pwVar10;\n      iVar8 = iswalnum(wVar5);\n      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;\n    }" ({ "{") (if_statement "if (iVar7 < 2) {\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }" (if "if") (parenthesized_expression "(iVar7 < 2)" (( "(") (binary_expression "iVar7 < 2" (identifier "iVar7") (< "<") (number_literal "2")) () ")")) (compound_statement "{\nLAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }\n        goto LAB_0006b408;\n      }" ({ "{") (labeled_statement "LAB_0006b8f0:\n        if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }" (statement_identifier "LAB_0006b8f0") (: ":") (if_statement "if ((char)param_2[0x13] == '\0') {\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }\n        else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }" (if "if") (parenthesized_expression "((char)param_2[0x13] == '\0')" (( "(") (binary_expression "(char)param_2[0x13] == '\0'" (cast_expression "(char)param_2[0x13]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_2[0x13]" (identifier "param_2") ([ "[") (number_literal "0x13") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);\n        }" ({ "{") (expression_statement "local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);" (assignment_expression "local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6])" (identifier "local_30") (= "=") (binary_expression "(uint)*(byte *)(*param_2 + iVar1 + param_2[6])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(*param_2 + iVar1 + param_2[6])" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_2 + iVar1 + param_2[6])" (( "(") (binary_expression "*param_2 + iVar1 + param_2[6]" (binary_expression "*param_2 + iVar1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (identifier "iVar1")) (+ "+") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }" (else "else") (compound_statement "{\n          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));\n          local_30 = (uint)bVar3;\n          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;\n        }" ({ "{") (expression_statement "bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));" (assignment_expression "bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4))" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4))" (* "*") (cast_expression "(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4))" (( "(") (binary_expression "*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4)" (binary_expression "*param_2 + param_2[6]" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) (+ "+") (pointer_expression "*(int *)(param_2[3] + iVar1 * 4)" (* "*") (cast_expression "(int *)(param_2[3] + iVar1 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[3] + iVar1 * 4)" (( "(") (binary_expression "param_2[3] + iVar1 * 4" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (+ "+") (binary_expression "iVar1 * 4" (identifier "iVar1") (* "*") (number_literal "4"))) () ")"))))) () ")"))))) (; ";")) (expression_statement "local_30 = (uint)bVar3;" (assignment_expression "local_30 = (uint)bVar3" (identifier "local_30") (= "=") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3"))) (; ";")) (if_statement "if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;" (if "if") (parenthesized_expression "((bVar3 & 0x80) != 0)" (( "(") (binary_expression "(bVar3 & 0x80) != 0" (parenthesized_expression "(bVar3 & 0x80)" (( "(") (binary_expression "bVar3 & 0x80" (identifier "bVar3") (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006b3f2;" (goto "goto") (statement_identifier "LAB_0006b3f2") (; ";"))) (} "}"))))) (goto_statement "goto LAB_0006b408;" (goto "goto") (statement_identifier "LAB_0006b408") (; ";")) (} "}"))) (expression_statement "pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);" (assignment_expression "pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4)" (identifier "pwVar10") (= "=") (cast_expression "(wint_t *)(param_2[2] + iVar1 * 4)" (( "(") (type_descriptor "wint_t *" (type_identifier "wint_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[2] + iVar1 * 4)" (( "(") (binary_expression "param_2[2] + iVar1 * 4" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (+ "+") (binary_expression "iVar1 * 4" (identifier "iVar1") (* "*") (number_literal "4"))) () ")")))) (; ";")) (if_statement "if ((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))\n      goto LAB_0006b8f0;" (if "if") (parenthesized_expression "((*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))" (( "(") (binary_expression "(*pwVar10 != 0xffffffff) &&\n         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1)))" (parenthesized_expression "(*pwVar10 != 0xffffffff)" (( "(") (binary_expression "*pwVar10 != 0xffffffff" (pointer_expression "*pwVar10" (* "*") (identifier "pwVar10")) (!= "!=") (number_literal "0xffffffff")) () ")")) (&& "&&") (parenthesized_expression "((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1)))" (( "(") (parenthesized_expression "(param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))" (( "(") (binary_expression "param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1)" (binary_expression "param_2[7] == iVar8 + 2" (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")) (== "==") (binary_expression "iVar8 + 2" (identifier "iVar8") (+ "+") (number_literal "2"))) (|| "||") (parenthesized_expression "(*(int *)(param_2[2] + 4 + iVar1 * 4) != -1)" (( "(") (binary_expression "*(int *)(param_2[2] + 4 + iVar1 * 4) != -1" (pointer_expression "*(int *)(param_2[2] + 4 + iVar1 * 4)" (* "*") (cast_expression "(int *)(param_2[2] + 4 + iVar1 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[2] + 4 + iVar1 * 4)" (( "(") (binary_expression "param_2[2] + 4 + iVar1 * 4" (binary_expression "param_2[2] + 4" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "4")) (+ "+") (binary_expression "iVar1 * 4" (identifier "iVar1") (* "*") (number_literal "4"))) () ")")))) (!= "!=") (number_literal "-1")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0006b8f0;" (goto "goto") (statement_identifier "LAB_0006b8f0") (; ";"))) (expression_statement "bVar3 = *(byte *)(iVar4 + 1 + iVar8);" (assignment_expression "bVar3 = *(byte *)(iVar4 + 1 + iVar8)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(iVar4 + 1 + iVar8)" (* "*") (cast_expression "(byte *)(iVar4 + 1 + iVar8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 1 + iVar8)" (( "(") (binary_expression "iVar4 + 1 + iVar8" (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "param_1[4] = 1;" (assignment_expression "param_1[4] = 1" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*param_1 = bVar3;" (assignment_expression "*param_1 = bVar3" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "local_30 = (uint)bVar3;" (assignment_expression "local_30 = (uint)bVar3" (identifier "local_30") (= "=") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3"))) (; ";")) (labeled_statement "LAB_0006b421:\n      wVar5 = *pwVar10;" (statement_identifier "LAB_0006b421") (: ":") (expression_statement "wVar5 = *pwVar10;" (assignment_expression "wVar5 = *pwVar10" (identifier "wVar5") (= "=") (pointer_expression "*pwVar10" (* "*") (identifier "pwVar10"))) (; ";"))) (expression_statement "iVar8 = iswalnum(wVar5);" (assignment_expression "iVar8 = iswalnum(wVar5)" (identifier "iVar8") (= "=") (call_expression "iswalnum(wVar5)" (identifier "iswalnum") (argument_list "(wVar5)" (( "(") (identifier "wVar5") () ")")))) (; ";")) (expression_statement "param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;" (assignment_expression "param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6" (binary_expression "param_1[6] & 0xbf" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (& "&") (number_literal "0xbf")) (| "|") (binary_expression "(iVar8 != 0 || wVar5 == 0x5f) << 6" (parenthesized_expression "(iVar8 != 0 || wVar5 == 0x5f)" (( "(") (binary_expression "iVar8 != 0 || wVar5 == 0x5f" (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "wVar5 == 0x5f" (identifier "wVar5") (== "==") (number_literal "0x5f"))) () ")")) (<< "<<") (number_literal "6")))) (; ";")) (} "}")))) (switch_statement "switch(local_30 - 0x27 & 0xff) {\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }" (switch "switch") (parenthesized_expression "(local_30 - 0x27 & 0xff)" (( "(") (binary_expression "local_30 - 0x27 & 0xff" (binary_expression "local_30 - 0x27" (identifier "local_30") (- "-") (number_literal "0x27")) (& "&") (number_literal "0xff")) () ")")) (compound_statement "{\n    case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;\n    case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;\n    default:\n      uVar6 = 2;\n      break;\n    case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;\n    case 10:\n    case 0xb:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;\n    case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;\n    case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;\n    case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;\n    case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;\n    case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;\n    case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;\n    case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;\n    case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;\n    case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;\n    }" ({ "{") (case_statement "case 0:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" (case "case") (number_literal "0") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" (if "if") (parenthesized_expression "((param_3 & 0x80000) == 0)" (( "(") (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" (( "(") (binary_expression "param_3 & 0x80000" (identifier "param_3") (& "&") (number_literal "0x80000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 0x80;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" ({ "{") (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "param_1[0] = 0x80;" (assignment_expression "param_1[0] = 0x80" (subscript_expression "param_1[0]" (identifier "param_1") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0x80")) (; ";")) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b4d3;" (case "case") (number_literal "1") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x2000) != 0) break;" (if "if") (parenthesized_expression "((param_3 & 0x2000) != 0)" (( "(") (binary_expression "(param_3 & 0x2000) != 0" (parenthesized_expression "(param_3 & 0x2000)" (( "(") (binary_expression "param_3 & 0x2000" (identifier "param_3") (& "&") (number_literal "0x2000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (goto_statement "goto code_r0x0006b4d3;" (goto "goto") (statement_identifier "code_r0x0006b4d3") (; ";"))) (case_statement "case 2:\n      uVar6 = 2;\n      if ((param_3 & 0x2000) != 0) break;\n      goto code_r0x0006b513;" (case "case") (number_literal "2") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x2000) != 0) break;" (if "if") (parenthesized_expression "((param_3 & 0x2000) != 0)" (( "(") (binary_expression "(param_3 & 0x2000) != 0" (parenthesized_expression "(param_3 & 0x2000)" (( "(") (binary_expression "param_3 & 0x2000" (identifier "param_3") (& "&") (number_literal "0x2000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (goto_statement "goto code_r0x0006b513;" (goto "goto") (statement_identifier "code_r0x0006b513") (; ";"))) (case_statement "default:\n      uVar6 = 2;\n      break;" (default "default") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b543;" (case "case") (number_literal "4") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x402) != 2) break;" (if "if") (parenthesized_expression "((param_3 & 0x402) != 2)" (( "(") (binary_expression "(param_3 & 0x402) != 2" (parenthesized_expression "(param_3 & 0x402)" (( "(") (binary_expression "param_3 & 0x402" (identifier "param_3") (& "&") (number_literal "0x402")) () ")")) (!= "!=") (number_literal "2")) () ")")) (break_statement "break;" (break "break") (; ";"))) (goto_statement "goto code_r0x0006b543;" (goto "goto") (statement_identifier "code_r0x0006b543") (; ";"))) (case_statement "case 10:" (case "case") (number_literal "10") (: ":")) (case_statement "case 0xb:" (case "case") (number_literal "0xb") (: ":")) (case_statement "case 0xc:" (case "case") (number_literal "0xc") (: ":")) (case_statement "case 0xd:" (case "case") (number_literal "0xd") (: ":")) (case_statement "case 0xe:" (case "case") (number_literal "0xe") (: ":")) (case_statement "case 0xf:" (case "case") (number_literal "0xf") (: ":")) (case_statement "case 0x10:" (case "case") (number_literal "0x10") (: ":")) (case_statement "case 0x11:" (case "case") (number_literal "0x11") (: ":")) (case_statement "case 0x12:\n      uVar6 = 2;\n      if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }\n      break;" (case "case") (number_literal "0x12") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x4000) == 0) {\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }" (if "if") (parenthesized_expression "((param_3 & 0x4000) == 0)" (( "(") (binary_expression "(param_3 & 0x4000) == 0" (parenthesized_expression "(param_3 & 0x4000)" (( "(") (binary_expression "param_3 & 0x4000" (identifier "param_3") (& "&") (number_literal "0x4000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_1[4] = 4;\n        *(uint *)param_1 = local_30 - 0x31;\n      }" ({ "{") (expression_statement "param_1[4] = 4;" (assignment_expression "param_1[4] = 4" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(uint *)param_1 = local_30 - 0x31;" (assignment_expression "*(uint *)param_1 = local_30 - 0x31" (pointer_expression "*(uint *)param_1" (* "*") (cast_expression "(uint *)param_1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (= "=") (binary_expression "local_30 - 0x31" (identifier "local_30") (- "-") (number_literal "0x31"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x15:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" (case "case") (number_literal "0x15") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" (if "if") (parenthesized_expression "((param_3 & 0x80000) == 0)" (( "(") (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" (( "(") (binary_expression "param_3 & 0x80000" (identifier "param_3") (& "&") (number_literal "0x80000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 6;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" ({ "{") (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "param_1[0] = 6;" (assignment_expression "param_1[0] = 6" (subscript_expression "param_1[0]" (identifier "param_1") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "6")) (; ";")) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x17:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" (case "case") (number_literal "0x17") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" (if "if") (parenthesized_expression "((param_3 & 0x80000) == 0)" (( "(") (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" (( "(") (binary_expression "param_3 & 0x80000" (identifier "param_3") (& "&") (number_literal "0x80000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 9;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" ({ "{") (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "param_1[0] = 9;" (assignment_expression "param_1[0] = 9" (subscript_expression "param_1[0]" (identifier "param_1") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "9")) (; ";")) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x18:\n      uVar6 = 2;\n      if ((param_3 & 0x402) != 2) break;\n      goto code_r0x0006b573;" (case "case") (number_literal "0x18") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x402) != 2) break;" (if "if") (parenthesized_expression "((param_3 & 0x402) != 2)" (( "(") (binary_expression "(param_3 & 0x402) != 2" (parenthesized_expression "(param_3 & 0x402)" (( "(") (binary_expression "param_3 & 0x402" (identifier "param_3") (& "&") (number_literal "0x402")) () ")")) (!= "!=") (number_literal "2")) () ")")) (break_statement "break;" (break "break") (; ";"))) (goto_statement "goto code_r0x0006b573;" (goto "goto") (statement_identifier "code_r0x0006b573") (; ";"))) (case_statement "case 0x1b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" (case "case") (number_literal "0x1b") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" (if "if") (parenthesized_expression "((param_3 & 0x80000) == 0)" (( "(") (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" (( "(") (binary_expression "param_3 & 0x80000" (identifier "param_3") (& "&") (number_literal "0x80000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 2;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" ({ "{") (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "param_1[0] = 0;" (assignment_expression "param_1[0] = 0" (subscript_expression "param_1[0]" (identifier "param_1") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[1] = 2;" (assignment_expression "param_1[1] = 2" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x2c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }\n      break;" (case "case") (number_literal "0x2c") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x23;\n      }" (if "if") (parenthesized_expression "((param_3 & 0x80000) == 0)" (( "(") (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" (( "(") (binary_expression "param_3 & 0x80000" (identifier "param_3") (& "&") (number_literal "0x80000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_1[4] = 0x23;\n      }" ({ "{") (expression_statement "param_1[4] = 0x23;" (assignment_expression "param_1[4] = 0x23" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x23")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x30:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }\n      break;" (case "case") (number_literal "0x30") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x21;\n      }" (if "if") (parenthesized_expression "((param_3 & 0x80000) == 0)" (( "(") (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" (( "(") (binary_expression "param_3 & 0x80000" (identifier "param_3") (& "&") (number_literal "0x80000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_1[4] = 0x21;\n      }" ({ "{") (expression_statement "param_1[4] = 0x21;" (assignment_expression "param_1[4] = 0x21" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x21")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x39:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" (case "case") (number_literal "0x39") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" (if "if") (parenthesized_expression "((param_3 & 0x80000) == 0)" (( "(") (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" (( "(") (binary_expression "param_3 & 0x80000" (identifier "param_3") (& "&") (number_literal "0x80000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 0x40;\n        param_1[1] = 0;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" ({ "{") (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "param_1[0] = 0x40;" (assignment_expression "param_1[0] = 0x40" (subscript_expression "param_1[0]" (identifier "param_1") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0x40")) (; ";")) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x3b:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }\n      break;" (case "case") (number_literal "0x3b") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" (if "if") (parenthesized_expression "((param_3 & 0x80000) == 0)" (( "(") (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" (( "(") (binary_expression "param_3 & 0x80000" (identifier "param_3") (& "&") (number_literal "0x80000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_1[4] = 0xc;\n        param_1[0] = 0;\n        param_1[1] = 1;\n        param_1[2] = 0;\n        param_1[3] = 0;\n      }" ({ "{") (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "param_1[0] = 0;" (assignment_expression "param_1[0] = 0" (subscript_expression "param_1[0]" (identifier "param_1") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[1] = 1;" (assignment_expression "param_1[1] = 1" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x4c:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }\n      break;" (case "case") (number_literal "0x4c") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x22;\n      }" (if "if") (parenthesized_expression "((param_3 & 0x80000) == 0)" (( "(") (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" (( "(") (binary_expression "param_3 & 0x80000" (identifier "param_3") (& "&") (number_literal "0x80000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_1[4] = 0x22;\n      }" ({ "{") (expression_statement "param_1[4] = 0x22;" (assignment_expression "param_1[4] = 0x22" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x22")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x50:\n      uVar6 = 2;\n      if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }\n      break;" (case "case") (number_literal "0x50") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x80000) == 0) {\n        param_1[4] = 0x20;\n      }" (if "if") (parenthesized_expression "((param_3 & 0x80000) == 0)" (( "(") (binary_expression "(param_3 & 0x80000) == 0" (parenthesized_expression "(param_3 & 0x80000)" (( "(") (binary_expression "param_3 & 0x80000" (identifier "param_3") (& "&") (number_literal "0x80000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_1[4] = 0x20;\n      }" ({ "{") (expression_statement "param_1[4] = 0x20;" (assignment_expression "param_1[4] = 0x20" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x20")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x54:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b5db;" (case "case") (number_literal "0x54") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x1200) != 0x200) break;" (if "if") (parenthesized_expression "((param_3 & 0x1200) != 0x200)" (( "(") (binary_expression "(param_3 & 0x1200) != 0x200" (parenthesized_expression "(param_3 & 0x1200)" (( "(") (binary_expression "param_3 & 0x1200" (identifier "param_3") (& "&") (number_literal "0x1200")) () ")")) (!= "!=") (number_literal "0x200")) () ")")) (break_statement "break;" (break "break") (; ";"))) (goto_statement "goto code_r0x0006b5db;" (goto "goto") (statement_identifier "code_r0x0006b5db") (; ";"))) (case_statement "case 0x55:\n      uVar6 = 2;\n      if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }\n      break;" (case "case") (number_literal "0x55") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x8400) == 0) {\n        param_1[4] = 10;\n      }" (if "if") (parenthesized_expression "((param_3 & 0x8400) == 0)" (( "(") (binary_expression "(param_3 & 0x8400) == 0" (parenthesized_expression "(param_3 & 0x8400)" (( "(") (binary_expression "param_3 & 0x8400" (identifier "param_3") (& "&") (number_literal "0x8400")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_1[4] = 10;\n      }" ({ "{") (expression_statement "param_1[4] = 10;" (assignment_expression "param_1[4] = 10" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "10")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x56:\n      uVar6 = 2;\n      if ((param_3 & 0x1200) != 0x200) break;\n      goto code_r0x0006b62b;" (case "case") (number_literal "0x56") (: ":") (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((param_3 & 0x1200) != 0x200) break;" (if "if") (parenthesized_expression "((param_3 & 0x1200) != 0x200)" (( "(") (binary_expression "(param_3 & 0x1200) != 0x200" (parenthesized_expression "(param_3 & 0x1200)" (( "(") (binary_expression "param_3 & 0x1200" (identifier "param_3") (& "&") (number_literal "0x1200")) () ")")) (!= "!=") (number_literal "0x200")) () ")")) (break_statement "break;" (break "break") (; ";"))) (goto_statement "goto code_r0x0006b62b;" (goto "goto") (statement_identifier "code_r0x0006b62b") (; ";"))) (} "}"))) (goto_statement "goto LAB_0006b3cc;" (goto "goto") (statement_identifier "LAB_0006b3cc") (; ";")) (} "}"))) (if_statement "if ((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)) {\n    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;\n    uVar6 = 1;\n    goto LAB_0006b3cc;\n  }" (if "if") (parenthesized_expression "((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1))" (( "(") (binary_expression "(iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)" (parenthesized_expression "(iVar8 != param_2[7])" (( "(") (binary_expression "iVar8 != param_2[7]" (identifier "iVar8") (!= "!=") (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_2[2] + iVar8 * 4) == -1)" (( "(") (binary_expression "*(int *)(param_2[2] + iVar8 * 4) == -1" (pointer_expression "*(int *)(param_2[2] + iVar8 * 4)" (* "*") (cast_expression "(int *)(param_2[2] + iVar8 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[2] + iVar8 * 4)" (( "(") (binary_expression "param_2[2] + iVar8 * 4" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (+ "+") (binary_expression "iVar8 * 4" (identifier "iVar8") (* "*") (number_literal "4"))) () ")")))) (== "==") (number_literal "-1")) () ")"))) () ")")) (compound_statement "{\n    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;\n    uVar6 = 1;\n    goto LAB_0006b3cc;\n  }" ({ "{") (expression_statement "*(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;" (assignment_expression "*(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001" (pointer_expression "*(uint *)(param_1 + 4)" (* "*") (cast_expression "(uint *)(param_1 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001" (binary_expression "*(uint *)(param_1 + 4) & 0xffdfff00" (pointer_expression "*(uint *)(param_1 + 4)" (* "*") (cast_expression "(uint *)(param_1 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0xffdfff00")) (| "|") (number_literal "0x200001"))) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0006b3cc;" (goto "goto") (statement_identifier "LAB_0006b3cc") (; ";")) (} "}"))) (if_statement "if (bVar3 == 0x5c) goto LAB_0006b3b0;" (if "if") (parenthesized_expression "(bVar3 == 0x5c)" (( "(") (binary_expression "bVar3 == 0x5c" (identifier "bVar3") (== "==") (number_literal "0x5c")) () ")")) (goto_statement "goto LAB_0006b3b0;" (goto "goto") (statement_identifier "LAB_0006b3b0") (; ";"))) (expression_statement "iVar7 = param_2[2];" (assignment_expression "iVar7 = param_2[2]" (identifier "iVar7") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_1[4] = 1;" (assignment_expression "param_1[4] = 1" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "wVar5 = *(wint_t *)(iVar7 + iVar8 * 4);" (assignment_expression "wVar5 = *(wint_t *)(iVar7 + iVar8 * 4)" (identifier "wVar5") (= "=") (pointer_expression "*(wint_t *)(iVar7 + iVar8 * 4)" (* "*") (cast_expression "(wint_t *)(iVar7 + iVar8 * 4)" (( "(") (type_descriptor "wint_t *" (type_identifier "wint_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + iVar8 * 4)" (( "(") (binary_expression "iVar7 + iVar8 * 4" (identifier "iVar7") (+ "+") (binary_expression "iVar8 * 4" (identifier "iVar8") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "iVar7 = iswalnum(wVar5);" (assignment_expression "iVar7 = iswalnum(wVar5)" (identifier "iVar7") (= "=") (call_expression "iswalnum(wVar5)" (identifier "iswalnum") (argument_list "(wVar5)" (( "(") (identifier "wVar5") () ")")))) (; ";")) (expression_statement "param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6;" (assignment_expression "param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6" (binary_expression "param_1[6] & 0xbf" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (& "&") (number_literal "0xbf")) (| "|") (binary_expression "(wVar5 == 0x5f || iVar7 != 0) << 6" (parenthesized_expression "(wVar5 == 0x5f || iVar7 != 0)" (( "(") (binary_expression "wVar5 == 0x5f || iVar7 != 0" (binary_expression "wVar5 == 0x5f" (identifier "wVar5") (== "==") (number_literal "0x5f")) (|| "||") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0"))) () ")")) (<< "<<") (number_literal "6")))) (; ";")) (labeled_statement "LAB_0006b346:\n  switch(bVar3) {\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }" (statement_identifier "LAB_0006b346") (: ":") (switch_statement "switch(bVar3) {\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }" (switch "switch") (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")")) (compound_statement "{\n  case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;\n  default:\n    goto LAB_0006b4f6;\n  case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;\n  case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;\n  case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;\n  case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;\n  case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;\n  case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;\n  case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;\n  case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;\n  case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;\n  case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;\n  case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;\n  case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;\n  }" ({ "{") (case_statement "case 10:\n    uVar6 = 1;\n    if ((param_3 & 0x800) == 0) break;\n    goto code_r0x0006b5fb;" (case "case") (number_literal "10") (: ":") (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((param_3 & 0x800) == 0) break;" (if "if") (parenthesized_expression "((param_3 & 0x800) == 0)" (( "(") (binary_expression "(param_3 & 0x800) == 0" (parenthesized_expression "(param_3 & 0x800)" (( "(") (binary_expression "param_3 & 0x800" (identifier "param_3") (& "&") (number_literal "0x800")) () ")")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (goto_statement "goto code_r0x0006b5fb;" (goto "goto") (statement_identifier "code_r0x0006b5fb") (; ";"))) (case_statement "default:\n    goto LAB_0006b4f6;" (default "default") (: ":") (goto_statement "goto LAB_0006b4f6;" (goto "goto") (statement_identifier "LAB_0006b4f6") (; ";"))) (case_statement "case 0x24:\n    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }\n    param_1[4] = 0xc;\n    uVar6 = 1;\n    param_1[0] = 0x20;\n    param_1[1] = 0;\n    param_1[2] = 0;\n    param_1[3] = 0;\n    break;" (case "case") (number_literal "0x24") (: ":") (if_statement "if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }" (if "if") (parenthesized_expression "(((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc]))" (( "(") (binary_expression "((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])" (parenthesized_expression "((param_3 & 8) == 0)" (( "(") (binary_expression "(param_3 & 8) == 0" (parenthesized_expression "(param_3 & 8)" (( "(") (binary_expression "param_3 & 8" (identifier "param_3") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar8 + 1 != param_2[0xc])" (( "(") (binary_expression "iVar8 + 1 != param_2[0xc]" (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1")) (!= "!=") (subscript_expression "param_2[0xc]" (identifier "param_2") ([ "[") (number_literal "0xc") (] "]"))) () ")"))) () ")")) (compound_statement "{\n      param_2[10] = iVar8 + 1;\n      FUN_0006b290();\n      param_2[10] = param_2[10] + -1;\n      uVar6 = 1;\n      if (1 < (byte)(cStack_24 - 9U)) break;\n    }" ({ "{") (expression_statement "param_2[10] = iVar8 + 1;" (assignment_expression "param_2[10] = iVar8 + 1" (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")) (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0006b290();" (call_expression "FUN_0006b290()" (identifier "FUN_0006b290") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "param_2[10] = param_2[10] + -1;" (assignment_expression "param_2[10] = param_2[10] + -1" (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")) (= "=") (binary_expression "param_2[10] + -1" (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (if_statement "if (1 < (byte)(cStack_24 - 9U)) break;" (if "if") (parenthesized_expression "(1 < (byte)(cStack_24 - 9U))" (( "(") (binary_expression "1 < (byte)(cStack_24 - 9U)" (number_literal "1") (< "<") (call_expression "(byte)(cStack_24 - 9U)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(cStack_24 - 9U)" (( "(") (binary_expression "cStack_24 - 9U" (identifier "cStack_24") (- "-") (number_literal "9U")) () ")")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[0] = 0x20;" (assignment_expression "param_1[0] = 0x20" (subscript_expression "param_1[0]" (identifier "param_1") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x28:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b4d3:\n    param_1[4] = 8;\n    break;" (case "case") (number_literal "0x28") (: ":") (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((param_3 & 0x2000) == 0) break;" (if "if") (parenthesized_expression "((param_3 & 0x2000) == 0)" (( "(") (binary_expression "(param_3 & 0x2000) == 0" (parenthesized_expression "(param_3 & 0x2000)" (( "(") (binary_expression "param_3 & 0x2000" (identifier "param_3") (& "&") (number_literal "0x2000")) () ")")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "code_r0x0006b4d3:\n    param_1[4] = 8;" (statement_identifier "code_r0x0006b4d3") (: ":") (expression_statement "param_1[4] = 8;" (assignment_expression "param_1[4] = 8" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "8")) (; ";"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x29:\n    uVar6 = 1;\n    if ((param_3 & 0x2000) == 0) break;\ncode_r0x0006b513:\n    param_1[4] = 9;\n    break;" (case "case") (number_literal "0x29") (: ":") (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((param_3 & 0x2000) == 0) break;" (if "if") (parenthesized_expression "((param_3 & 0x2000) == 0)" (( "(") (binary_expression "(param_3 & 0x2000) == 0" (parenthesized_expression "(param_3 & 0x2000)" (( "(") (binary_expression "param_3 & 0x2000" (identifier "param_3") (& "&") (number_literal "0x2000")) () ")")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "code_r0x0006b513:\n    param_1[4] = 9;" (statement_identifier "code_r0x0006b513") (: ":") (expression_statement "param_1[4] = 9;" (assignment_expression "param_1[4] = 9" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "9")) (; ";"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x2a:\n    param_1[4] = 0xb;\n    uVar6 = 1;\n    break;" (case "case") (number_literal "0x2a") (: ":") (expression_statement "param_1[4] = 0xb;" (assignment_expression "param_1[4] = 0xb" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0xb")) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x2b:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b543:\n    param_1[4] = 0x12;\n    break;" (case "case") (number_literal "0x2b") (: ":") (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((param_3 & 0x402) != 0) break;" (if "if") (parenthesized_expression "((param_3 & 0x402) != 0)" (( "(") (binary_expression "(param_3 & 0x402) != 0" (parenthesized_expression "(param_3 & 0x402)" (( "(") (binary_expression "param_3 & 0x402" (identifier "param_3") (& "&") (number_literal "0x402")) () ")")) (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "code_r0x0006b543:\n    param_1[4] = 0x12;" (statement_identifier "code_r0x0006b543") (: ":") (expression_statement "param_1[4] = 0x12;" (assignment_expression "param_1[4] = 0x12" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x12")) (; ";"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x2e:\n    param_1[4] = 5;\n    uVar6 = 1;\n    break;" (case "case") (number_literal "0x2e") (: ":") (expression_statement "param_1[4] = 5;" (assignment_expression "param_1[4] = 5" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "5")) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x3f:\n    uVar6 = 1;\n    if ((param_3 & 0x402) != 0) break;\ncode_r0x0006b573:\n    param_1[4] = 0x13;\n    break;" (case "case") (number_literal "0x3f") (: ":") (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((param_3 & 0x402) != 0) break;" (if "if") (parenthesized_expression "((param_3 & 0x402) != 0)" (( "(") (binary_expression "(param_3 & 0x402) != 0" (parenthesized_expression "(param_3 & 0x402)" (( "(") (binary_expression "param_3 & 0x402" (identifier "param_3") (& "&") (number_literal "0x402")) () ")")) (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "code_r0x0006b573:\n    param_1[4] = 0x13;" (statement_identifier "code_r0x0006b573") (: ":") (expression_statement "param_1[4] = 0x13;" (assignment_expression "param_1[4] = 0x13" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x13")) (; ";"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x5b:\n    param_1[4] = 0x14;\n    uVar6 = 1;\n    break;" (case "case") (number_literal "0x5b") (: ":") (expression_statement "param_1[4] = 0x14;" (assignment_expression "param_1[4] = 0x14" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x14")) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x5e:\n    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }\n    goto LAB_0006b4f6;" (case "case") (number_literal "0x5e") (: ":") (if_statement "if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }" (if "if") (parenthesized_expression "((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0))))" (( "(") (binary_expression "(((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||\n       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))" (parenthesized_expression "(((param_3 & 0x800008) != 0) || (iVar8 == 0))" (( "(") (binary_expression "((param_3 & 0x800008) != 0) || (iVar8 == 0)" (parenthesized_expression "((param_3 & 0x800008) != 0)" (( "(") (binary_expression "(param_3 & 0x800008) != 0" (parenthesized_expression "(param_3 & 0x800008)" (( "(") (binary_expression "param_3 & 0x800008" (identifier "param_3") (& "&") (number_literal "0x800008")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))" (( "(") (parenthesized_expression "(*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0))" (( "(") (binary_expression "*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)" (binary_expression "*(char *)(iVar4 + -1 + iVar8) == '\n'" (pointer_expression "*(char *)(iVar4 + -1 + iVar8)" (* "*") (cast_expression "(char *)(iVar4 + -1 + iVar8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + -1 + iVar8)" (( "(") (binary_expression "iVar4 + -1 + iVar8" (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1")) (+ "+") (identifier "iVar8")) () ")")))) (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) (&& "&&") (parenthesized_expression "((param_3 & 0x800) != 0)" (( "(") (binary_expression "(param_3 & 0x800) != 0" (parenthesized_expression "(param_3 & 0x800)" (( "(") (binary_expression "param_3 & 0x800" (identifier "param_3") (& "&") (number_literal "0x800")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      param_1[4] = 0xc;\n      uVar6 = 1;\n      param_1[0] = 0x10;\n      param_1[1] = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      break;\n    }" ({ "{") (expression_statement "param_1[4] = 0xc;" (assignment_expression "param_1[4] = 0xc" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[0] = 0x10;" (assignment_expression "param_1[0] = 0x10" (subscript_expression "param_1[0]" (identifier "param_1") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (goto_statement "goto LAB_0006b4f6;" (goto "goto") (statement_identifier "LAB_0006b4f6") (; ";"))) (case_statement "case 0x7b:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b5db:\n    param_1[4] = 0x17;\n    break;" (case "case") (number_literal "0x7b") (: ":") (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((param_3 & 0x1200) != 0x1200) break;" (if "if") (parenthesized_expression "((param_3 & 0x1200) != 0x1200)" (( "(") (binary_expression "(param_3 & 0x1200) != 0x1200" (parenthesized_expression "(param_3 & 0x1200)" (( "(") (binary_expression "param_3 & 0x1200" (identifier "param_3") (& "&") (number_literal "0x1200")) () ")")) (!= "!=") (number_literal "0x1200")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "code_r0x0006b5db:\n    param_1[4] = 0x17;" (statement_identifier "code_r0x0006b5db") (: ":") (expression_statement "param_1[4] = 0x17;" (assignment_expression "param_1[4] = 0x17" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x17")) (; ";"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x7c:\n    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;\ncode_r0x0006b5fb:\n    param_1[4] = 10;\n    uVar6 = 1;\n    break;" (case "case") (number_literal "0x7c") (: ":") (if_statement "if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;" (if "if") (parenthesized_expression "((param_3 & 0x8400) != 0x8000)" (( "(") (binary_expression "(param_3 & 0x8400) != 0x8000" (parenthesized_expression "(param_3 & 0x8400)" (( "(") (binary_expression "param_3 & 0x8400" (identifier "param_3") (& "&") (number_literal "0x8400")) () ")")) (!= "!=") (number_literal "0x8000")) () ")")) (goto_statement "goto LAB_0006b4f6;" (goto "goto") (statement_identifier "LAB_0006b4f6") (; ";"))) (labeled_statement "code_r0x0006b5fb:\n    param_1[4] = 10;" (statement_identifier "code_r0x0006b5fb") (: ":") (expression_statement "param_1[4] = 10;" (assignment_expression "param_1[4] = 10" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "10")) (; ";"))) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x7d:\n    uVar6 = 1;\n    if ((param_3 & 0x1200) != 0x1200) break;\ncode_r0x0006b62b:\n    param_1[4] = 0x18;" (case "case") (number_literal "0x7d") (: ":") (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((param_3 & 0x1200) != 0x1200) break;" (if "if") (parenthesized_expression "((param_3 & 0x1200) != 0x1200)" (( "(") (binary_expression "(param_3 & 0x1200) != 0x1200" (parenthesized_expression "(param_3 & 0x1200)" (( "(") (binary_expression "param_3 & 0x1200" (identifier "param_3") (& "&") (number_literal "0x1200")) () ")")) (!= "!=") (number_literal "0x1200")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "code_r0x0006b62b:\n    param_1[4] = 0x18;" (statement_identifier "code_r0x0006b62b") (: ":") (expression_statement "param_1[4] = 0x18;" (assignment_expression "param_1[4] = 0x18" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x18")) (; ";")))) (} "}")))) (labeled_statement "LAB_0006b3cc:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar6;\n  }" (statement_identifier "LAB_0006b3cc") (: ":") (if_statement "if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar6;\n  }" (if "if") (parenthesized_expression "(iVar2 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "iVar2 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "iVar2") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return uVar6;\n  }" ({ "{") (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}")))) (expression_statement "FUN_0007ad20();" (call_expression "FUN_0007ad20()" (identifier "FUN_0007ad20") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0006b4f6:\n  uVar6 = 1;" (statement_identifier "LAB_0006b4f6") (: ":") (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";"))) (goto_statement "goto LAB_0006b3cc;" (goto "goto") (statement_identifier "LAB_0006b3cc") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int __regparm3 function_1(type_1 *token,type_2 *input,type_3 var_11)

{
  int var_6;
  type_4 var_4;
  type_5 uVar3;
  type_5 *puVar4;
  type_6 var_9;
  int var_3;
  int var_2;
  type_7 **ppuVar8;
  type_6 *pwVar9;
  int var_1;
  type_8 *in_stack_ffffffb8;
  type_9 var_10;
  type_1 rStack_28;
  int var_12;
  type_10 uStack_14;
  
  uStack_14 = 0x6b29d;
  var_2 = input->cur_idx;
  var_12 = *(int *)(var_1 + 0x14);
  var_3 = 0;
  if (input->stop <= var_2) {
    token->field_0x4 = 2;
    goto LAB_0006b3cc;
  }
  puVar4 = input->mbs;
  var_10._0_1_ = token->field_0x6;
  var_4 = puVar4[var_2];
  token->field_0x6 = (type_4)var_10 & 0x9f;
  (token->opr).c = var_4;
  var_3 = input->mb_cur_max;
  if (var_3 < 2) {
    if (var_4 != 0x5c) {
      token->field_0x4 = 1;
      var_10._0_1_ = (type_4)var_10 & 0x9f;
      ppuVar8 = var_5();
      token->field_0x6 =
           (type_4)var_10 | (type_4)(((*ppuVar8)[var_4] >> 3 & 1 | (type_9)(var_4 == 0x5f)) << 6);
      goto LAB_0006b346;
    }
peek_token_lexical_block_5:
    var_6 = var_2 + 1;
    if (input->len <= var_6) {
      token->field_0x4 = 0x24;
      var_3 = 1;
      goto LAB_0006b3cc;
    }
    if (input->mbs_allocated == '\0') {
LAB_0006b3f2:
      var_10 = (type_9)puVar4[var_2 + 1];
    }
    else {
      if (1 < var_3) {
        pwVar9 = input->wcs + var_6;
        if ((*pwVar9 == 0xffffffff) ||
           ((input->valid_len != var_2 + 2 && (input->wcs[var_2 + 2] == 0xffffffff)))) {
          uVar3 = puVar4[var_2 + 1];
          token->field_0x4 = 1;
          (token->opr).c = uVar3;
          peek_token::lexical_block_5::var_7(in_stack_ffffffb8);
          return (int)pwVar9;
        }
      }
      if (input->offsets_needed == '\0') {
        var_10 = (type_9)input->raw_mbs[input->raw_mbs_idx + var_6];
      }
      else {
        var_4 = input->raw_mbs[input->offsets[var_6] + input->raw_mbs_idx];
        var_10 = (type_9)var_4;
        if ((var_4 & 0x80) != 0) goto LAB_0006b3f2;
      }
    }
    token->field_0x4 = 1;
    (token->opr).c = (type_5)var_10;
    if (var_3 < 2) {
      ppuVar8 = var_5();
      token->field_0x6 =
           (type_4)(((*ppuVar8)[var_10] >> 3 & 1 | (type_9)((type_5)var_10 == '_')) << 6) |
           token->field_0x6 & 0xbf;
    }
    else {
      var_9 = input->wcs[var_6];
      var_2 = var_8(var_9);
      token->field_0x6 = token->field_0x6 & 0xbf | (var_2 != 0 || var_9 == 0x5f) << 6;
    }
    switch(var_10 - 0x27 & 0xff) {
    case 0:
      var_3 = 2;
      if ((var_11 & 0x80000) == 0) {
        token->field_0x4 = 0xc;
        (token->opr).idx = 0x80;
      }
      break;
    case 1:
      var_3 = 2;
      if ((var_11 & 0x2000) != 0) break;
      goto LAB_0006b4d3;
    case 2:
      var_3 = 2;
      if ((var_11 & 0x2000) != 0) break;
      goto LAB_0006b513;
    default:
      var_3 = 2;
      break;
    case 4:
      var_3 = 2;
      if ((var_11 & 0x402) != 2) break;
      goto LAB_0006b543;
    case 10:
    case 0xb:
    case 0xc:
    case 0xd:
    case 0xe:
    case 0xf:
    case 0x10:
    case 0x11:
    case 0x12:
      var_3 = 2;
      if ((var_11 & 0x4000) == 0) {
        token->field_0x4 = 4;
        (token->opr).sbcset = (re_bitset_ptr_t)(var_10 - 0x31);
      }
      break;
    case 0x15:
      var_3 = 2;
      if ((var_11 & 0x80000) == 0) {
        token->field_0x4 = 0xc;
        (token->opr).idx = 6;
      }
      break;
    case 0x17:
      var_3 = 2;
      if ((var_11 & 0x80000) == 0) {
        token->field_0x4 = 0xc;
        (token->opr).idx = 9;
      }
      break;
    case 0x18:
      var_3 = 2;
      if ((var_11 & 0x402) != 2) break;
      goto LAB_0006b573;
    case 0x1b:
      var_3 = 2;
      if ((var_11 & 0x80000) == 0) {
        token->field_0x4 = 0xc;
        (token->opr).idx = 0x200;
      }
      break;
    case 0x2c:
      var_3 = 2;
      if ((var_11 & 0x80000) == 0) {
        token->field_0x4 = 0x23;
      }
      break;
    case 0x30:
      var_3 = 2;
      if ((var_11 & 0x80000) == 0) {
        token->field_0x4 = 0x21;
      }
      break;
    case 0x39:
      var_3 = 2;
      if ((var_11 & 0x80000) == 0) {
        token->field_0x4 = 0xc;
        (token->opr).idx = 0x40;
      }
      break;
    case 0x3b:
      var_3 = 2;
      if ((var_11 & 0x80000) == 0) {
        token->field_0x4 = 0xc;
        (token->opr).idx = 0x100;
      }
      break;
    case 0x4c:
      var_3 = 2;
      if ((var_11 & 0x80000) == 0) {
        token->field_0x4 = 0x22;
      }
      break;
    case 0x50:
      var_3 = 2;
      if ((var_11 & 0x80000) == 0) {
        token->field_0x4 = 0x20;
      }
      break;
    case 0x54:
      var_3 = 2;
      if ((var_11 & 0x1200) != 0x200) break;
      goto LAB_0006b5db;
    case 0x55:
      var_3 = 2;
      if ((var_11 & 0x8400) == 0) {
        token->field_0x4 = 10;
      }
      break;
    case 0x56:
      var_3 = 2;
      if ((var_11 & 0x1200) != 0x200) break;
      goto LAB_0006b62b;
    }
    goto LAB_0006b3cc;
  }
  if ((var_2 != input->valid_len) && (input->wcs[var_2] == 0xffffffff)) {
    *(type_9 *)&token->field_0x4 = *(type_9 *)&token->field_0x4 & 0xffdfff00 | 0x200001;
    var_3 = 1;
    goto LAB_0006b3cc;
  }
  if (var_4 == 0x5c) goto peek_token_lexical_block_5;
  pwVar9 = input->wcs;
  token->field_0x4 = 1;
  var_9 = pwVar9[var_2];
  var_3 = var_8(var_9);
  token->field_0x6 = token->field_0x6 & 0xbf | (var_9 == 0x5f || var_3 != 0) << 6;
LAB_0006b346:
  switch(var_4) {
  case 10:
    var_3 = 1;
    if ((var_11 & 0x800) == 0) break;
    goto LAB_0006b5fb;
  default:
    goto _L1133;
  case 0x24:
    if (((var_11 & 8) == 0) && (var_2 + 1 != input->len)) {
      input->cur_idx = var_2 + 1;
      function_1(&rStack_28,input,var_11);
      input->cur_idx = input->cur_idx + -1;
      var_3 = 1;
      if (1 < (type_4)(rStack_28._4_1_ - 9)) break;
    }
    token->field_0x4 = 0xc;
    var_3 = 1;
    (token->opr).idx = 0x20;
    break;
  case 0x28:
    var_3 = 1;
    if ((var_11 & 0x2000) == 0) break;
LAB_0006b4d3:
    token->field_0x4 = 8;
    break;
  case 0x29:
    var_3 = 1;
    if ((var_11 & 0x2000) == 0) break;
LAB_0006b513:
    token->field_0x4 = 9;
    break;
  case 0x2a:
    token->field_0x4 = 0xb;
    var_3 = 1;
    break;
  case 0x2b:
    var_3 = 1;
    if ((var_11 & 0x402) != 0) break;
LAB_0006b543:
    token->field_0x4 = 0x12;
    break;
  case 0x2e:
    token->field_0x4 = 5;
    var_3 = 1;
    break;
  case 0x3f:
    var_3 = 1;
    if ((var_11 & 0x402) != 0) break;
LAB_0006b573:
    token->field_0x4 = 0x13;
    break;
  case 0x5b:
    token->field_0x4 = 0x14;
    var_3 = 1;
    break;
  case 0x5e:
    if ((((var_11 & 0x800008) != 0) || (var_2 == 0)) ||
       ((puVar4[var_2 + -1] == '\n' && ((var_11 & 0x800) != 0)))) {
      token->field_0x4 = 0xc;
      var_3 = 1;
      (token->opr).idx = 0x10;
      break;
    }
    goto _L1133;
  case 0x7b:
    var_3 = 1;
    if ((var_11 & 0x1200) != 0x1200) break;
LAB_0006b5db:
    token->field_0x4 = 0x17;
    break;
  case 0x7c:
    if ((var_11 & 0x8400) != 0x8000) goto _L1133;
LAB_0006b5fb:
    token->field_0x4 = 10;
    var_3 = 1;
    break;
  case 0x7d:
    var_3 = 1;
    if ((var_11 & 0x1200) != 0x1200) break;
LAB_0006b62b:
    token->field_0x4 = 0x18;
  }
LAB_0006b3cc:
  if (var_12 == *(int *)(var_1 + 0x14)) {
    return var_3;
  }
                    /* WARNING: Subroutine does not return */
  var_13();
_L1133:
  var_3 = 1;
  goto LAB_0006b3cc;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined4 __regparm3 MASKED(byte *param_1,int *param_2,uint param_3)

{
  int iVar1;
  int iVar2;
  byte bVar3;
  int iVar4;
  wint_t wVar5;
  undefined4 uVar6;
  int iVar7;
  int iVar8;
  ushort **ppuVar9;
  wint_t *pwVar10;
  int in_GS_OFFSET;
  uint local_30;
  char cStack_24;
  
  iVar8 = param_2[10];
  iVar2 = *(int *)(in_GS_OFFSET + 0x14);
  uVar6 = 0;
  if (param_2[0xe] <= iVar8) {
    param_1[4] = 2;
    goto LAB_0006b3cc;
  }
  iVar4 = param_2[1];
  local_30._0_1_ = param_1[6];
  bVar3 = *(byte *)(iVar4 + iVar8);
  param_1[6] = (byte)local_30 & 0x9f;
  *param_1 = bVar3;
  iVar7 = param_2[0x14];
  if (iVar7 < 2) {
    if (bVar3 != 0x5c) {
      param_1[4] = 1;
      local_30._0_1_ = (byte)local_30 & 0x9f;
      ppuVar9 = __ctype_b_loc();
      param_1[6] = (byte)local_30 |
                   (byte)(((*ppuVar9)[bVar3] >> 3 & 1 | (uint)(bVar3 == 0x5f)) << 6);
      goto LAB_0006b346;
    }
LAB_0006b3b0:
    iVar1 = iVar8 + 1;
    if (param_2[0xc] <= iVar1) {
      param_1[4] = 0x24;
      uVar6 = 1;
      goto LAB_0006b3cc;
    }
    if (*(char *)((int)param_2 + 0x4b) == '\0') {
LAB_0006b3f2:
      local_30 = (uint)*(byte *)(iVar4 + 1 + iVar8);
LAB_0006b408:
      param_1[4] = 1;
      *param_1 = (byte)local_30;
      if (1 < iVar7) {
        pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);
        goto LAB_0006b421;
      }
      ppuVar9 = __ctype_b_loc();
      param_1[6] = (byte)(((*ppuVar9)[local_30] >> 3 & 1 | (uint)((byte)local_30 == 0x5f)) << 6) |
                   param_1[6] & 0xbf;
    }
    else {
      if (iVar7 < 2) {
LAB_0006b8f0:
        if ((char)param_2[0x13] == '\0') {
          local_30 = (uint)*(byte *)(*param_2 + iVar1 + param_2[6]);
        }
        else {
          bVar3 = *(byte *)(*param_2 + param_2[6] + *(int *)(param_2[3] + iVar1 * 4));
          local_30 = (uint)bVar3;
          if ((bVar3 & 0x80) != 0) goto LAB_0006b3f2;
        }
        goto LAB_0006b408;
      }
      pwVar10 = (wint_t *)(param_2[2] + iVar1 * 4);
      if ((*pwVar10 != 0xffffffff) &&
         ((param_2[7] == iVar8 + 2 || (*(int *)(param_2[2] + 4 + iVar1 * 4) != -1))))
      goto LAB_0006b8f0;
      bVar3 = *(byte *)(iVar4 + 1 + iVar8);
      param_1[4] = 1;
      *param_1 = bVar3;
      local_30 = (uint)bVar3;
LAB_0006b421:
      wVar5 = *pwVar10;
      iVar8 = iswalnum(wVar5);
      param_1[6] = param_1[6] & 0xbf | (iVar8 != 0 || wVar5 == 0x5f) << 6;
    }
    switch(local_30 - 0x27 & 0xff) {
    case 0:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0xc;
        param_1[0] = 0x80;
        param_1[1] = 0;
        param_1[2] = 0;
        param_1[3] = 0;
      }
      break;
    case 1:
      uVar6 = 2;
      if ((param_3 & 0x2000) != 0) break;
      goto code_r0x0006b4d3;
    case 2:
      uVar6 = 2;
      if ((param_3 & 0x2000) != 0) break;
      goto code_r0x0006b513;
    default:
      uVar6 = 2;
      break;
    case 4:
      uVar6 = 2;
      if ((param_3 & 0x402) != 2) break;
      goto code_r0x0006b543;
    case 10:
    case 0xb:
    case 0xc:
    case 0xd:
    case 0xe:
    case 0xf:
    case 0x10:
    case 0x11:
    case 0x12:
      uVar6 = 2;
      if ((param_3 & 0x4000) == 0) {
        param_1[4] = 4;
        *(uint *)param_1 = local_30 - 0x31;
      }
      break;
    case 0x15:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0xc;
        param_1[0] = 6;
        param_1[1] = 0;
        param_1[2] = 0;
        param_1[3] = 0;
      }
      break;
    case 0x17:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0xc;
        param_1[0] = 9;
        param_1[1] = 0;
        param_1[2] = 0;
        param_1[3] = 0;
      }
      break;
    case 0x18:
      uVar6 = 2;
      if ((param_3 & 0x402) != 2) break;
      goto code_r0x0006b573;
    case 0x1b:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0xc;
        param_1[0] = 0;
        param_1[1] = 2;
        param_1[2] = 0;
        param_1[3] = 0;
      }
      break;
    case 0x2c:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0x23;
      }
      break;
    case 0x30:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0x21;
      }
      break;
    case 0x39:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0xc;
        param_1[0] = 0x40;
        param_1[1] = 0;
        param_1[2] = 0;
        param_1[3] = 0;
      }
      break;
    case 0x3b:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0xc;
        param_1[0] = 0;
        param_1[1] = 1;
        param_1[2] = 0;
        param_1[3] = 0;
      }
      break;
    case 0x4c:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0x22;
      }
      break;
    case 0x50:
      uVar6 = 2;
      if ((param_3 & 0x80000) == 0) {
        param_1[4] = 0x20;
      }
      break;
    case 0x54:
      uVar6 = 2;
      if ((param_3 & 0x1200) != 0x200) break;
      goto code_r0x0006b5db;
    case 0x55:
      uVar6 = 2;
      if ((param_3 & 0x8400) == 0) {
        param_1[4] = 10;
      }
      break;
    case 0x56:
      uVar6 = 2;
      if ((param_3 & 0x1200) != 0x200) break;
      goto code_r0x0006b62b;
    }
    goto LAB_0006b3cc;
  }
  if ((iVar8 != param_2[7]) && (*(int *)(param_2[2] + iVar8 * 4) == -1)) {
    *(uint *)(param_1 + 4) = *(uint *)(param_1 + 4) & 0xffdfff00 | 0x200001;
    uVar6 = 1;
    goto LAB_0006b3cc;
  }
  if (bVar3 == 0x5c) goto LAB_0006b3b0;
  iVar7 = param_2[2];
  param_1[4] = 1;
  wVar5 = *(wint_t *)(iVar7 + iVar8 * 4);
  iVar7 = iswalnum(wVar5);
  param_1[6] = param_1[6] & 0xbf | (wVar5 == 0x5f || iVar7 != 0) << 6;
LAB_0006b346:
  switch(bVar3) {
  case 10:
    uVar6 = 1;
    if ((param_3 & 0x800) == 0) break;
    goto code_r0x0006b5fb;
  default:
    goto LAB_0006b4f6;
  case 0x24:
    if (((param_3 & 8) == 0) && (iVar8 + 1 != param_2[0xc])) {
      param_2[10] = iVar8 + 1;
      MASKED();
      param_2[10] = param_2[10] + -1;
      uVar6 = 1;
      if (1 < (byte)(cStack_24 - 9U)) break;
    }
    param_1[4] = 0xc;
    uVar6 = 1;
    param_1[0] = 0x20;
    param_1[1] = 0;
    param_1[2] = 0;
    param_1[3] = 0;
    break;
  case 0x28:
    uVar6 = 1;
    if ((param_3 & 0x2000) == 0) break;
code_r0x0006b4d3:
    param_1[4] = 8;
    break;
  case 0x29:
    uVar6 = 1;
    if ((param_3 & 0x2000) == 0) break;
code_r0x0006b513:
    param_1[4] = 9;
    break;
  case 0x2a:
    param_1[4] = 0xb;
    uVar6 = 1;
    break;
  case 0x2b:
    uVar6 = 1;
    if ((param_3 & 0x402) != 0) break;
code_r0x0006b543:
    param_1[4] = 0x12;
    break;
  case 0x2e:
    param_1[4] = 5;
    uVar6 = 1;
    break;
  case 0x3f:
    uVar6 = 1;
    if ((param_3 & 0x402) != 0) break;
code_r0x0006b573:
    param_1[4] = 0x13;
    break;
  case 0x5b:
    param_1[4] = 0x14;
    uVar6 = 1;
    break;
  case 0x5e:
    if ((((param_3 & 0x800008) != 0) || (iVar8 == 0)) ||
       ((*(char *)(iVar4 + -1 + iVar8) == '\n' && ((param_3 & 0x800) != 0)))) {
      param_1[4] = 0xc;
      uVar6 = 1;
      param_1[0] = 0x10;
      param_1[1] = 0;
      param_1[2] = 0;
      param_1[3] = 0;
      break;
    }
    goto LAB_0006b4f6;
  case 0x7b:
    uVar6 = 1;
    if ((param_3 & 0x1200) != 0x1200) break;
code_r0x0006b5db:
    param_1[4] = 0x17;
    break;
  case 0x7c:
    if ((param_3 & 0x8400) != 0x8000) goto LAB_0006b4f6;
code_r0x0006b5fb:
    param_1[4] = 10;
    uVar6 = 1;
    break;
  case 0x7d:
    uVar6 = 1;
    if ((param_3 & 0x1200) != 0x1200) break;
code_r0x0006b62b:
    param_1[4] = 0x18;
  }
LAB_0006b3cc:
  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar6;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0007ad20();
LAB_0006b4f6:
  uVar6 = 1;
  goto LAB_0006b3cc;
}

