
/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */

int type_builtin(WORD_LIST *list)

{
  byte bVar1;
  char *pcVar2;
  int iVar3;
  word_list *pwVar4;
  byte *pbVar5;
  uint uVar6;
  byte *pbVar7;
  byte *pbVar8;
  bool bVar9;
  bool bVar10;
  bool bVar11;
  int local_24;
  
  if (list == (WORD_LIST *)0x0) {
    return 0;
  }
  pwVar4 = list;
  do {
    while( true ) {
      pcVar2 = pwVar4->word->word;
      if (*pcVar2 != '-') goto LAB_000c2d20;
      bVar1 = pcVar2[1];
      pbVar5 = (byte *)(pcVar2 + 1);
      bVar9 = bVar1 < 0x74;
      bVar11 = bVar1 == 0x74;
      if (bVar11) break;
      bVar9 = bVar1 < 0x2d;
      bVar11 = bVar1 == 0x2d;
      if (bVar11) {
        iVar3 = 6;
        pbVar7 = pbVar5;
        pbVar8 = (byte *)"-type";
        do {
          if (iVar3 == 0) break;
          iVar3 = iVar3 + -1;
          bVar9 = *pbVar7 < *pbVar8;
          bVar11 = *pbVar7 == *pbVar8;
          pbVar7 = pbVar7 + 1;
          pbVar8 = pbVar8 + 1;
        } while (bVar11);
        bVar10 = false;
        bVar9 = (!bVar9 && !bVar11) == bVar9;
        if (bVar9) goto LAB_000c2d05;
        iVar3 = 6;
        pbVar7 = pbVar5;
        pbVar8 = (byte *)"-path";
        do {
          if (iVar3 == 0) break;
          iVar3 = iVar3 + -1;
          bVar10 = *pbVar7 < *pbVar8;
          bVar9 = *pbVar7 == *pbVar8;
          pbVar7 = pbVar7 + 1;
          pbVar8 = pbVar8 + 1;
        } while (bVar9);
        bVar11 = false;
        bVar9 = (!bVar10 && !bVar9) == bVar10;
        if (bVar9) goto LAB_000c2dfb;
        iVar3 = 5;
        pbVar7 = &DAT_00125a49;
LAB_000c2cb2:
        do {
          if (iVar3 == 0) break;
          iVar3 = iVar3 + -1;
          bVar11 = *pbVar5 < *pbVar7;
          bVar9 = *pbVar5 == *pbVar7;
          pbVar5 = pbVar5 + 1;
          pbVar7 = pbVar7 + 1;
        } while (bVar9);
        if ((!bVar11 && !bVar9) == bVar11) {
          pcVar2[1] = 'a';
          pwVar4->word->word[2] = '\0';
        }
      }
      else {
        bVar9 = bVar1 < 0x70;
        bVar11 = bVar1 == 0x70;
        if (bVar11) {
          iVar3 = 5;
          pbVar7 = (byte *)"-path";
          do {
            pbVar7 = pbVar7 + 1;
            if (iVar3 == 0) break;
            iVar3 = iVar3 + -1;
            bVar9 = *pbVar5 < *pbVar7;
            bVar11 = *pbVar5 == *pbVar7;
            pbVar5 = pbVar5 + 1;
          } while (bVar11);
          if ((!bVar9 && !bVar11) == bVar9) {
LAB_000c2dfb:
            pcVar2[1] = 'p';
            pwVar4->word->word[2] = '\0';
          }
        }
        else {
          bVar11 = bVar1 < 0x61;
          bVar9 = bVar1 == 0x61;
          if (bVar9) {
            iVar3 = 4;
            pbVar7 = &DAT_00125a4a;
            goto LAB_000c2cb2;
          }
        }
      }
LAB_000c2cd0:
      pwVar4 = pwVar4->next;
      if (pwVar4 == (word_list *)0x0) goto LAB_000c2d20;
    }
    iVar3 = 5;
    pbVar7 = (byte *)0x113186;
    do {
      if (iVar3 == 0) break;
      iVar3 = iVar3 + -1;
      bVar9 = *pbVar5 < *pbVar7;
      bVar11 = *pbVar5 == *pbVar7;
      pbVar5 = pbVar5 + 1;
      pbVar7 = pbVar7 + 1;
    } while (bVar11);
    if ((!bVar9 && !bVar11) != bVar9) goto LAB_000c2cd0;
LAB_000c2d05:
    pcVar2[1] = 't';
    pwVar4->word->word[2] = '\0';
    pwVar4 = pwVar4->next;
  } while (pwVar4 != (word_list *)0x0);
LAB_000c2d20:
  uVar6 = 2;
  reset_internal_getopt();
  while (iVar3 = internal_getopt(list,"afptP"), iVar3 != -1) {
    if (iVar3 == 0x61) {
      uVar6 = uVar6 | 1;
    }
    else if (iVar3 < 0x62) {
      if (iVar3 == -99) {
        builtin_help();
        return 0x102;
      }
      if (iVar3 != 0x50) goto LAB_000c2d77;
      uVar6 = uVar6 & 0xfffffff5 | 0x30;
    }
    else if (iVar3 == 0x70) {
      uVar6 = uVar6 & 0xfffffff5 | 0x10;
    }
    else if (iVar3 == 0x74) {
      uVar6 = uVar6 & 0xffffffed | 8;
    }
    else {
      if (iVar3 != 0x66) {
LAB_000c2d77:
        builtin_usage();
        return 0x102;
      }
      uVar6 = uVar6 | 0x40;
    }
  }
  if (loptend == (WORD_LIST *)0x0) {
    uVar6 = 0;
  }
  else {
    local_24 = 0;
    pwVar4 = loptend;
    do {
      while (iVar3 = describe_command(pwVar4->word->word,uVar6), (uVar6 & 0x18) == 0 && iVar3 == 0)
      {
        sh_notfound(pwVar4->word->word);
        pwVar4 = pwVar4->next;
        local_24 = local_24 + 1;
        if (pwVar4 == (word_list *)0x0) goto LAB_000c2eeb;
      }
      pwVar4 = pwVar4->next;
      local_24 = local_24 + (uint)(iVar3 == 0);
    } while (pwVar4 != (word_list *)0x0);
LAB_000c2eeb:
    uVar6 = (uint)(local_24 != 0);
  }
  iVar3 = sh_chkwrite(uVar6);
  return iVar3;
}



undefined4 type_builtin(int *param_1)

{
  byte bVar1;
  char *pcVar2;
  undefined4 uVar3;
  int iVar4;
  int *piVar5;
  int unaff_EBP;
  code *pcVar6;
  uint uVar7;
  code *pcVar8;
  code *pcVar9;
  bool bVar10;
  bool bVar11;
  bool bVar12;
  byte bVar13;
  int local_24;
  
  bVar13 = 0;
  FUN_00041277();
  if (param_1 == (int *)0x0) {
    return 0;
  }
  piVar5 = param_1;
  do {
    while( true ) {
      pcVar2 = *(char **)piVar5[1];
      if (*pcVar2 != '-') goto LAB_000c2d20;
      bVar1 = pcVar2[1];
      pcVar6 = (code *)(pcVar2 + 1);
      bVar10 = bVar1 < 0x74;
      bVar12 = bVar1 == 0x74;
      if (bVar12) break;
      bVar10 = bVar1 < 0x2d;
      bVar12 = bVar1 == 0x2d;
      if (bVar12) {
        iVar4 = 6;
        pcVar8 = pcVar6;
        pcVar9 = (code *)(unaff_EBP + 0x62de7);
        do {
          if (iVar4 == 0) break;
          iVar4 = iVar4 + -1;
          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;
          bVar12 = *pcVar8 == *pcVar9;
          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;
          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;
        } while (bVar12);
        bVar11 = false;
        bVar10 = (!bVar10 && !bVar12) == bVar10;
        if (bVar10) goto LAB_000c2d05;
        iVar4 = 6;
        pcVar8 = pcVar6;
        pcVar9 = (code *)(unaff_EBP + 0x62ded);
        do {
          if (iVar4 == 0) break;
          iVar4 = iVar4 + -1;
          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;
          bVar10 = *pcVar8 == *pcVar9;
          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;
          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;
        } while (bVar10);
        bVar12 = false;
        bVar10 = (!bVar11 && !bVar10) == bVar11;
        if (bVar10) goto LAB_000c2dfb;
        iVar4 = 5;
        pcVar8 = err_readonly + unaff_EBP + 3;
LAB_000c2cb2:
        do {
          if (iVar4 == 0) break;
          iVar4 = iVar4 + -1;
          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;
          bVar10 = *pcVar6 == *pcVar8;
          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;
        } while (bVar10);
        if ((!bVar12 && !bVar10) == bVar12) {
          pcVar2[1] = 'a';
          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;
        }
      }
      else {
        bVar10 = bVar1 < 0x70;
        bVar12 = bVar1 == 0x70;
        if (bVar12) {
          iVar4 = 5;
          pcVar8 = (code *)(unaff_EBP + 0x62dee);
          do {
            if (iVar4 == 0) break;
            iVar4 = iVar4 + -1;
            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;
            bVar12 = *pcVar6 == *pcVar8;
            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;
          } while (bVar12);
          if ((!bVar10 && !bVar12) == bVar10) {
LAB_000c2dfb:
            pcVar2[1] = 'p';
            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;
          }
        }
        else {
          bVar12 = bVar1 < 0x61;
          bVar10 = bVar1 == 0x61;
          if (bVar10) {
            iVar4 = 4;
            pcVar8 = (code *)(unaff_EBP + 0x62df4);
            goto LAB_000c2cb2;
          }
        }
      }
LAB_000c2cd0:
      piVar5 = (int *)*piVar5;
      if (piVar5 == (int *)0x0) goto LAB_000c2d20;
    }
    iVar4 = 5;
    pcVar8 = (code *)(unaff_EBP + 0x50530);
    do {
      if (iVar4 == 0) break;
      iVar4 = iVar4 + -1;
      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;
      bVar12 = *pcVar6 == *pcVar8;
      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;
      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;
    } while (bVar12);
    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;
LAB_000c2d05:
    pcVar2[1] = 't';
    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;
    piVar5 = (int *)*piVar5;
  } while (piVar5 != (int *)0x0);
LAB_000c2d20:
  uVar7 = 2;
  reset_internal_getopt();
  while (iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1) {
    if (iVar4 == 0x61) {
      uVar7 = uVar7 | 1;
    }
    else if (iVar4 < 0x62) {
      if (iVar4 == -99) {
        builtin_help();
        return 0x102;
      }
      if (iVar4 != 0x50) goto LAB_000c2d77;
      uVar7 = uVar7 & 0xfffffff5 | 0x30;
    }
    else if (iVar4 == 0x70) {
      uVar7 = uVar7 & 0xfffffff5 | 0x10;
    }
    else if (iVar4 == 0x74) {
      uVar7 = uVar7 & 0xffffffed | 8;
    }
    else {
      if (iVar4 != 0x66) {
LAB_000c2d77:
        builtin_usage();
        return 0x102;
      }
      uVar7 = uVar7 | 0x40;
    }
  }
  piVar5 = *(int **)(unaff_EBP + 0xbcc4e);
  if (piVar5 == (int *)0x0) {
    bVar10 = false;
  }
  else {
    local_24 = 0;
    do {
      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),
            (uVar7 & 0x18) == 0 && iVar4 == 0) {
        sh_notfound(*(undefined4 *)piVar5[1]);
        piVar5 = (int *)*piVar5;
        local_24 = local_24 + 1;
        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;
      }
      piVar5 = (int *)*piVar5;
      local_24 = local_24 + (uint)(iVar4 == 0);
    } while (piVar5 != (int *)0x0);
LAB_000c2eeb:
    bVar10 = local_24 != 0;
  }
  uVar3 = sh_chkwrite(bVar10);
  return uVar3;
}


PUSH EBP
CALL 0x00041277
ADD EBP,0xaf3aa
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x1c
MOV ECX,dword ptr [ESP + 0x30]
TEST ECX,ECX
JZ 0x000c2e80
LEA EAX,[EBP + 0xfffb3a4a]
MOV EBX,dword ptr [ESP + 0x30]
MOV dword ptr [ESP + 0xc],EAX
LEA EAX,[EBP + 0xfffb3a44]
MOV dword ptr [ESP + 0x8],EAX
JMP 0x000c2cd6
CMP CL,0x2d
JZ 0x000c2d90
CMP CL,0x70
JZ 0x000c2de0
CMP CL,0x61
JNZ 0x000c2cd0
MOV EDI,dword ptr [ESP + 0xc]
MOV ECX,0x4
MOV ESI,EDX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JNZ 0x000c2cd0
MOV byte ptr [EAX + 0x1],0x61
MOV EAX,dword ptr [EBX + 0x4]
MOV EAX,dword ptr [EAX]
MOV byte ptr [EAX + 0x2],0x0
LEA ESI,[ESI]
NOP
MOV EBX,dword ptr [EBX]
TEST EBX,EBX
JZ 0x000c2d20
MOV EAX,dword ptr [EBX + 0x4]
MOV EAX,dword ptr [EAX]
CMP byte ptr [EAX],0x2d
JNZ 0x000c2d20
MOVZX ECX,byte ptr [EAX + 0x1]
LEA EDX,[EAX + 0x1]
CMP CL,0x74
JNZ 0x000c2c90
MOV ESI,EDX
MOV ECX,0x5
LEA EDI,[EBP + 0xfffa1186]
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JNZ 0x000c2cd0
MOV byte ptr [EAX + 0x1],0x74
MOV EAX,dword ptr [EBX + 0x4]
MOV EAX,dword ptr [EAX]
MOV byte ptr [EAX + 0x2],0x0
MOV EBX,dword ptr [EBX]
TEST EBX,EBX
JNZ 0x000c2cd6
LEA ESI,[ESI]
NOP
MOV EBX,EBP
MOV ESI,0x2
LEA EDI,[EBP + 0xfffb3a4e]
CALL 0x000c9e40
SUB ESP,0x8
MOV EBX,EBP
PUSH EDI
PUSH dword ptr [ESP + 0x3c]
CALL 0x000c99f0
ADD ESP,0x10
CMP EAX,-0x1
JZ 0x000c2e90
CMP EAX,0x61
JZ 0x000c2e30
JLE 0x000c2e10
CMP EAX,0x70
JZ 0x000c2e70
CMP EAX,0x74
JZ 0x000c2e58
CMP EAX,0x66
JZ 0x000c2e68
MOV EBX,EBP
CALL 0x000afbb0
MOV EAX,0x102
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV ECX,0x6
LEA EDI,[EBP + 0xfffb3a3d]
MOV ESI,EDX
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
TEST CL,CL
JZ 0x000c2d05
MOV ECX,0x6
LEA EDI,[EBP + 0xfffb3a43]
MOV ESI,EDX
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
TEST CL,CL
JZ 0x000c2dfb
MOV ECX,0x5
LEA EDI,[EBP + 0xfffb3a49]
MOV ESI,EDX
JMP 0x000c2cb2
MOV EDI,dword ptr [ESP + 0x8]
MOV ESI,EDX
MOV ECX,0x5
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JNZ 0x000c2cd0
MOV byte ptr [EAX + 0x1],0x70
MOV EAX,dword ptr [EBX + 0x4]
MOV EAX,dword ptr [EAX]
MOV byte ptr [EAX + 0x2],0x0
JMP 0x000c2cd0
CMP EAX,-0x63
JZ 0x000c2e40
CMP EAX,0x50
JNZ 0x000c2d77
AND ESI,0xfffffff5
OR ESI,0x30
JMP 0x000c2d32
OR ESI,0x1
JMP 0x000c2d32
MOV EBX,EBP
CALL 0x000b91f0
ADD ESP,0x1c
MOV EAX,0x102
POP EBX
POP ESI
POP EDI
POP EBP
RET
AND ESI,0xffffffed
OR ESI,0x8
JMP 0x000c2d32
OR ESI,0x40
JMP 0x000c2d32
AND ESI,0xfffffff5
OR ESI,0x10
JMP 0x000c2d32
ADD ESP,0x1c
XOR EAX,EAX
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EBP + 0xd8a4]
MOV EDI,dword ptr [EAX]
TEST EDI,EDI
JZ 0x000c2f2f
MOV EAX,ESI
MOV dword ptr [ESP + 0x8],0x0
AND EAX,0x18
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,EDI
MOV EDI,ESI
MOV ESI,EAX
LEA ESI,[ESI]
NOP
SUB ESP,0x8
PUSH EDI
MOV EAX,dword ptr [ESI + 0x4]
PUSH dword ptr [EAX]
CALL 0x000c24d0
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0xc]
OR EBX,EAX
JZ 0x000c2f10
TEST EAX,EAX
MOV ESI,dword ptr [ESI]
SETZ AL
MOVZX EAX,AL
ADD dword ptr [ESP + 0x8],EAX
TEST ESI,ESI
JNZ 0x000c2ec0
MOV EDX,dword ptr [ESP + 0x8]
XOR EAX,EAX
TEST EDX,EDX
SETNZ AL
SUB ESP,0xc
MOV EBX,EBP
PUSH EAX
CALL 0x000b01d0
ADD ESP,0x10
JMP 0x000c2d83
MOV EAX,dword ptr [ESI + 0x4]
SUB ESP,0xc
MOV EBX,EBP
PUSH dword ptr [EAX]
CALL 0x000afd20
MOV ESI,dword ptr [ESI]
ADD dword ptr [ESP + 0x18],0x1
ADD ESP,0x10
TEST ESI,ESI
JNZ 0x000c2ec0
JMP 0x000c2eeb
XOR EAX,EAX
JMP 0x000c2ef6
(translation_unit "undefined4 type_builtin(int *param_1)\n\n{\n  byte bVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int unaff_EBP;\n  code *pcVar6;\n  uint uVar7;\n  code *pcVar8;\n  code *pcVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  int local_24;\n  \n  bVar13 = 0;\n  FUN_00041277();\n  if (param_1 == (int *)0x0) {\n    return 0;\n  }\n  piVar5 = param_1;\n  do {\n    while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }\n    iVar4 = 5;\n    pcVar8 = (code *)(unaff_EBP + 0x50530);\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);\n    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n    piVar5 = (int *)*piVar5;\n  } while (piVar5 != (int *)0x0);\nLAB_000c2d20:\n  uVar7 = 2;\n  reset_internal_getopt();\n  while (iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1) {\n    if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }\n  }\n  piVar5 = *(int **)(unaff_EBP + 0xbcc4e);\n  if (piVar5 == (int *)0x0) {\n    bVar10 = false;\n  }\n  else {\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }\n  uVar3 = sh_chkwrite(bVar10);\n  return uVar3;\n}\n\n" (function_definition "undefined4 type_builtin(int *param_1)\n\n{\n  byte bVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int unaff_EBP;\n  code *pcVar6;\n  uint uVar7;\n  code *pcVar8;\n  code *pcVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  int local_24;\n  \n  bVar13 = 0;\n  FUN_00041277();\n  if (param_1 == (int *)0x0) {\n    return 0;\n  }\n  piVar5 = param_1;\n  do {\n    while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }\n    iVar4 = 5;\n    pcVar8 = (code *)(unaff_EBP + 0x50530);\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);\n    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n    piVar5 = (int *)*piVar5;\n  } while (piVar5 != (int *)0x0);\nLAB_000c2d20:\n  uVar7 = 2;\n  reset_internal_getopt();\n  while (iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1) {\n    if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }\n  }\n  piVar5 = *(int **)(unaff_EBP + 0xbcc4e);\n  if (piVar5 == (int *)0x0) {\n    bVar10 = false;\n  }\n  else {\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }\n  uVar3 = sh_chkwrite(bVar10);\n  return uVar3;\n}" type_identifier (function_declarator "type_builtin(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int unaff_EBP;\n  code *pcVar6;\n  uint uVar7;\n  code *pcVar8;\n  code *pcVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  int local_24;\n  \n  bVar13 = 0;\n  FUN_00041277();\n  if (param_1 == (int *)0x0) {\n    return 0;\n  }\n  piVar5 = param_1;\n  do {\n    while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }\n    iVar4 = 5;\n    pcVar8 = (code *)(unaff_EBP + 0x50530);\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);\n    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n    piVar5 = (int *)*piVar5;\n  } while (piVar5 != (int *)0x0);\nLAB_000c2d20:\n  uVar7 = 2;\n  reset_internal_getopt();\n  while (iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1) {\n    if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }\n  }\n  piVar5 = *(int **)(unaff_EBP + 0xbcc4e);\n  if (piVar5 == (int *)0x0) {\n    bVar10 = false;\n  }\n  else {\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }\n  uVar3 = sh_chkwrite(bVar10);\n  return uVar3;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "code *pcVar8;" type_identifier (pointer_declarator "*pcVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "FUN_00041277();" (call_expression "FUN_00041277()" identifier (argument_list "()" ( ))) ;) (if_statement "if (param_1 == (int *)0x0) {\n    return 0;\n  }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar5 = param_1;" (assignment_expression "piVar5 = param_1" identifier = identifier) ;) (do_statement "do {\n    while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }\n    iVar4 = 5;\n    pcVar8 = (code *)(unaff_EBP + 0x50530);\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);\n    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n    piVar5 = (int *)*piVar5;\n  } while (piVar5 != (int *)0x0);" do (compound_statement "{\n    while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }\n    iVar4 = 5;\n    pcVar8 = (code *)(unaff_EBP + 0x50530);\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);\n    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n    piVar5 = (int *)*piVar5;\n  }" { (while_statement "while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }" { (expression_statement "pcVar2 = *(char **)piVar5[1];" (assignment_expression "pcVar2 = *(char **)piVar5[1]" identifier = (pointer_expression "*(char **)piVar5[1]" * (cast_expression "(char **)piVar5[1]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar5[1]" identifier [ number_literal ])))) ;) (if_statement "if (*pcVar2 != '-') goto LAB_000c2d20;" if (parenthesized_expression "(*pcVar2 != '-')" ( (binary_expression "*pcVar2 != '-'" (pointer_expression "*pcVar2" * identifier) != (char_literal "'-'" ' character ')) )) (goto_statement "goto LAB_000c2d20;" goto statement_identifier ;)) (expression_statement "bVar1 = pcVar2[1];" (assignment_expression "bVar1 = pcVar2[1]" identifier = (subscript_expression "pcVar2[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar6 = (code *)(pcVar2 + 1);" (assignment_expression "pcVar6 = (code *)(pcVar2 + 1)" identifier = (cast_expression "(code *)(pcVar2 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar2 + 1)" ( (binary_expression "pcVar2 + 1" identifier + number_literal) )))) ;) (expression_statement "bVar10 = bVar1 < 0x74;" (assignment_expression "bVar10 = bVar1 < 0x74" identifier = (binary_expression "bVar1 < 0x74" identifier < number_literal)) ;) (expression_statement "bVar12 = bVar1 == 0x74;" (assignment_expression "bVar12 = bVar1 == 0x74" identifier = (binary_expression "bVar1 == 0x74" identifier == number_literal)) ;) (if_statement "if (bVar12) break;" if (parenthesized_expression "(bVar12)" ( identifier )) (break_statement "break;" break ;)) (expression_statement "bVar10 = bVar1 < 0x2d;" (assignment_expression "bVar10 = bVar1 < 0x2d" identifier = (binary_expression "bVar1 < 0x2d" identifier < number_literal)) ;) (expression_statement "bVar12 = bVar1 == 0x2d;" (assignment_expression "bVar12 = bVar1 == 0x2d" identifier = (binary_expression "bVar1 == 0x2d" identifier == number_literal)) ;) (if_statement "if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }" if (parenthesized_expression "(bVar12)" ( identifier )) (compound_statement "{\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }" { (expression_statement "iVar4 = 6;" (assignment_expression "iVar4 = 6" identifier = number_literal) ;) (expression_statement "pcVar8 = pcVar6;" (assignment_expression "pcVar8 = pcVar6" identifier = identifier) ;) (expression_statement "pcVar9 = (code *)(unaff_EBP + 0x62de7);" (assignment_expression "pcVar9 = (code *)(unaff_EBP + 0x62de7)" identifier = (cast_expression "(code *)(unaff_EBP + 0x62de7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x62de7)" ( (binary_expression "unaff_EBP + 0x62de7" identifier + number_literal) )))) ;) (do_statement "do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);" do (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = (byte)*pcVar8 < (byte)*pcVar9;" (assignment_expression "bVar10 = (byte)*pcVar8 < (byte)*pcVar9" identifier = (binary_expression "(byte)*pcVar8 < (byte)*pcVar9" (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier) < (binary_expression "(byte)*pcVar9" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar12 = *pcVar8 == *pcVar9;" (assignment_expression "bVar12 = *pcVar8 == *pcVar9" identifier = (binary_expression "*pcVar8 == *pcVar9" (pointer_expression "*pcVar8" * identifier) == (pointer_expression "*pcVar9" * identifier))) ;) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar9 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar9 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar10 && !bVar12) == bVar10;" (assignment_expression "bVar10 = (!bVar10 && !bVar12) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) goto LAB_000c2d05;" if (parenthesized_expression "(bVar10)" ( identifier )) (goto_statement "goto LAB_000c2d05;" goto statement_identifier ;)) (expression_statement "iVar4 = 6;" (assignment_expression "iVar4 = 6" identifier = number_literal) ;) (expression_statement "pcVar8 = pcVar6;" (assignment_expression "pcVar8 = pcVar6" identifier = identifier) ;) (expression_statement "pcVar9 = (code *)(unaff_EBP + 0x62ded);" (assignment_expression "pcVar9 = (code *)(unaff_EBP + 0x62ded)" identifier = (cast_expression "(code *)(unaff_EBP + 0x62ded)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x62ded)" ( (binary_expression "unaff_EBP + 0x62ded" identifier + number_literal) )))) ;) (do_statement "do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);" do (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = (byte)*pcVar8 < (byte)*pcVar9;" (assignment_expression "bVar11 = (byte)*pcVar8 < (byte)*pcVar9" identifier = (binary_expression "(byte)*pcVar8 < (byte)*pcVar9" (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier) < (binary_expression "(byte)*pcVar9" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar10 = *pcVar8 == *pcVar9;" (assignment_expression "bVar10 = *pcVar8 == *pcVar9" identifier = (binary_expression "*pcVar8 == *pcVar9" (pointer_expression "*pcVar8" * identifier) == (pointer_expression "*pcVar9" * identifier))) ;) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar9 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar9 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) goto LAB_000c2dfb;" if (parenthesized_expression "(bVar10)" ( identifier )) (goto_statement "goto LAB_000c2dfb;" goto statement_identifier ;)) (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" identifier = number_literal) ;) (expression_statement "pcVar8 = err_readonly + unaff_EBP + 3;" (assignment_expression "pcVar8 = err_readonly + unaff_EBP + 3" identifier = (binary_expression "err_readonly + unaff_EBP + 3" (binary_expression "err_readonly + unaff_EBP" identifier + identifier) + number_literal)) ;) (labeled_statement "LAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);" statement_identifier : (do_statement "do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);" do (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = (byte)*pcVar6 < (byte)*pcVar8;" (assignment_expression "bVar12 = (byte)*pcVar6 < (byte)*pcVar8" identifier = (binary_expression "(byte)*pcVar6 < (byte)*pcVar8" (binary_expression "(byte)*pcVar6" (parenthesized_expression "(byte)" ( identifier )) * identifier) < (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar10 = *pcVar6 == *pcVar8;" (assignment_expression "bVar10 = *pcVar6 == *pcVar8" identifier = (binary_expression "*pcVar6 == *pcVar8" (pointer_expression "*pcVar6" * identifier) == (pointer_expression "*pcVar8" * identifier))) ;) (expression_statement "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar6 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar6 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;)) (if_statement "if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }" if (parenthesized_expression "((!bVar12 && !bVar10) == bVar12)" ( (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier) )) (compound_statement "{\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }" { (expression_statement "pcVar2[1] = 'a';" (assignment_expression "pcVar2[1] = 'a'" (subscript_expression "pcVar2[1]" identifier [ number_literal ]) = (char_literal "'a'" ' character ')) ;) (expression_statement "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0;" (assignment_expression "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0" (pointer_expression "*(undefined1 *)(*(int *)piVar5[1] + 2)" * (cast_expression "(undefined1 *)(*(int *)piVar5[1] + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)piVar5[1] + 2)" ( (binary_expression "*(int *)piVar5[1] + 2" (pointer_expression "*(int *)piVar5[1]" * (cast_expression "(int *)piVar5[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }" else (compound_statement "{\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }" { (expression_statement "bVar10 = bVar1 < 0x70;" (assignment_expression "bVar10 = bVar1 < 0x70" identifier = (binary_expression "bVar1 < 0x70" identifier < number_literal)) ;) (expression_statement "bVar12 = bVar1 == 0x70;" (assignment_expression "bVar12 = bVar1 == 0x70" identifier = (binary_expression "bVar1 == 0x70" identifier == number_literal)) ;) (if_statement "if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }" if (parenthesized_expression "(bVar12)" ( identifier )) (compound_statement "{\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }" { (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" identifier = number_literal) ;) (expression_statement "pcVar8 = (code *)(unaff_EBP + 0x62dee);" (assignment_expression "pcVar8 = (code *)(unaff_EBP + 0x62dee)" identifier = (cast_expression "(code *)(unaff_EBP + 0x62dee)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x62dee)" ( (binary_expression "unaff_EBP + 0x62dee" identifier + number_literal) )))) ;) (do_statement "do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);" do (compound_statement "{\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = (byte)*pcVar6 < (byte)*pcVar8;" (assignment_expression "bVar10 = (byte)*pcVar6 < (byte)*pcVar8" identifier = (binary_expression "(byte)*pcVar6 < (byte)*pcVar8" (binary_expression "(byte)*pcVar6" (parenthesized_expression "(byte)" ( identifier )) * identifier) < (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar12 = *pcVar6 == *pcVar8;" (assignment_expression "bVar12 = *pcVar6 == *pcVar8" identifier = (binary_expression "*pcVar6 == *pcVar8" (pointer_expression "*pcVar6" * identifier) == (pointer_expression "*pcVar8" * identifier))) ;) (expression_statement "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar6 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar6 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }" if (parenthesized_expression "((!bVar10 && !bVar12) == bVar10)" ( (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier) )) (compound_statement "{\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }" { (labeled_statement "LAB_000c2dfb:\n            pcVar2[1] = 'p';" statement_identifier : (expression_statement "pcVar2[1] = 'p';" (assignment_expression "pcVar2[1] = 'p'" (subscript_expression "pcVar2[1]" identifier [ number_literal ]) = (char_literal "'p'" ' character ')) ;)) (expression_statement "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0;" (assignment_expression "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0" (pointer_expression "*(undefined1 *)(*(int *)piVar5[1] + 2)" * (cast_expression "(undefined1 *)(*(int *)piVar5[1] + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)piVar5[1] + 2)" ( (binary_expression "*(int *)piVar5[1] + 2" (pointer_expression "*(int *)piVar5[1]" * (cast_expression "(int *)piVar5[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }" else (compound_statement "{\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }" { (expression_statement "bVar12 = bVar1 < 0x61;" (assignment_expression "bVar12 = bVar1 < 0x61" identifier = (binary_expression "bVar1 < 0x61" identifier < number_literal)) ;) (expression_statement "bVar10 = bVar1 == 0x61;" (assignment_expression "bVar10 = bVar1 == 0x61" identifier = (binary_expression "bVar1 == 0x61" identifier == number_literal)) ;) (if_statement "if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }" { (expression_statement "iVar4 = 4;" (assignment_expression "iVar4 = 4" identifier = number_literal) ;) (expression_statement "pcVar8 = (code *)(unaff_EBP + 0x62df4);" (assignment_expression "pcVar8 = (code *)(unaff_EBP + 0x62df4)" identifier = (cast_expression "(code *)(unaff_EBP + 0x62df4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x62df4)" ( (binary_expression "unaff_EBP + 0x62df4" identifier + number_literal) )))) ;) (goto_statement "goto LAB_000c2cb2;" goto statement_identifier ;) })) }))) }))) (labeled_statement "LAB_000c2cd0:\n      piVar5 = (int *)*piVar5;" statement_identifier : (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;)) (if_statement "if (piVar5 == (int *)0x0) goto LAB_000c2d20;" if (parenthesized_expression "(piVar5 == (int *)0x0)" ( (binary_expression "piVar5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c2d20;" goto statement_identifier ;)) })) (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" identifier = number_literal) ;) (expression_statement "pcVar8 = (code *)(unaff_EBP + 0x50530);" (assignment_expression "pcVar8 = (code *)(unaff_EBP + 0x50530)" identifier = (cast_expression "(code *)(unaff_EBP + 0x50530)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x50530)" ( (binary_expression "unaff_EBP + 0x50530" identifier + number_literal) )))) ;) (do_statement "do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);" do (compound_statement "{\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = (byte)*pcVar6 < (byte)*pcVar8;" (assignment_expression "bVar10 = (byte)*pcVar6 < (byte)*pcVar8" identifier = (binary_expression "(byte)*pcVar6 < (byte)*pcVar8" (binary_expression "(byte)*pcVar6" (parenthesized_expression "(byte)" ( identifier )) * identifier) < (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar12 = *pcVar6 == *pcVar8;" (assignment_expression "bVar12 = *pcVar6 == *pcVar8" identifier = (binary_expression "*pcVar6 == *pcVar8" (pointer_expression "*pcVar6" * identifier) == (pointer_expression "*pcVar8" * identifier))) ;) (expression_statement "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar6 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar6 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;" if (parenthesized_expression "((!bVar10 && !bVar12) != bVar10)" ( (binary_expression "(!bVar10 && !bVar12) != bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_000c2cd0;" goto statement_identifier ;)) (labeled_statement "LAB_000c2d05:\n    pcVar2[1] = 't';" statement_identifier : (expression_statement "pcVar2[1] = 't';" (assignment_expression "pcVar2[1] = 't'" (subscript_expression "pcVar2[1]" identifier [ number_literal ]) = (char_literal "'t'" ' character ')) ;)) (expression_statement "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0;" (assignment_expression "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0" (pointer_expression "*(undefined1 *)(*(int *)piVar5[1] + 2)" * (cast_expression "(undefined1 *)(*(int *)piVar5[1] + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)piVar5[1] + 2)" ( (binary_expression "*(int *)piVar5[1] + 2" (pointer_expression "*(int *)piVar5[1]" * (cast_expression "(int *)piVar5[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) }) while (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_000c2d20:\n  uVar7 = 2;" statement_identifier : (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" identifier = number_literal) ;)) (expression_statement "reset_internal_getopt();" (call_expression "reset_internal_getopt()" identifier (argument_list "()" ( ))) ;) (while_statement "while (iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1) {\n    if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }\n  }" while (parenthesized_expression "(iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1)" ( (comma_expression "iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1" (assignment_expression "iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8)" identifier = (call_expression "internal_getopt(param_1,unaff_EBP + 0x62df8)" identifier (argument_list "(param_1,unaff_EBP + 0x62df8)" ( identifier , (binary_expression "unaff_EBP + 0x62df8" identifier + number_literal) )))) , (binary_expression "iVar4 != -1" identifier != number_literal)) )) (compound_statement "{\n    if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }\n  }" { (if_statement "if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" if (parenthesized_expression "(iVar4 == 0x61)" ( (binary_expression "iVar4 == 0x61" identifier == number_literal) )) (compound_statement "{\n      uVar7 = uVar7 | 1;\n    }" { (expression_statement "uVar7 = uVar7 | 1;" (assignment_expression "uVar7 = uVar7 | 1" identifier = (binary_expression "uVar7 | 1" identifier | number_literal)) ;) }) (else_clause "else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" else (if_statement "if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" if (parenthesized_expression "(iVar4 < 0x62)" ( (binary_expression "iVar4 < 0x62" identifier < number_literal) )) (compound_statement "{\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }" { (if_statement "if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }" if (parenthesized_expression "(iVar4 == -99)" ( (binary_expression "iVar4 == -99" identifier == number_literal) )) (compound_statement "{\n        builtin_help();\n        return 0x102;\n      }" { (expression_statement "builtin_help();" (call_expression "builtin_help()" identifier (argument_list "()" ( ))) ;) (return_statement "return 0x102;" return number_literal ;) })) (if_statement "if (iVar4 != 0x50) goto LAB_000c2d77;" if (parenthesized_expression "(iVar4 != 0x50)" ( (binary_expression "iVar4 != 0x50" identifier != number_literal) )) (goto_statement "goto LAB_000c2d77;" goto statement_identifier ;)) (expression_statement "uVar7 = uVar7 & 0xfffffff5 | 0x30;" (assignment_expression "uVar7 = uVar7 & 0xfffffff5 | 0x30" identifier = (binary_expression "uVar7 & 0xfffffff5 | 0x30" (binary_expression "uVar7 & 0xfffffff5" identifier & number_literal) | number_literal)) ;) }) (else_clause "else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" else (if_statement "if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" if (parenthesized_expression "(iVar4 == 0x70)" ( (binary_expression "iVar4 == 0x70" identifier == number_literal) )) (compound_statement "{\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }" { (expression_statement "uVar7 = uVar7 & 0xfffffff5 | 0x10;" (assignment_expression "uVar7 = uVar7 & 0xfffffff5 | 0x10" identifier = (binary_expression "uVar7 & 0xfffffff5 | 0x10" (binary_expression "uVar7 & 0xfffffff5" identifier & number_literal) | number_literal)) ;) }) (else_clause "else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" else (if_statement "if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" if (parenthesized_expression "(iVar4 == 0x74)" ( (binary_expression "iVar4 == 0x74" identifier == number_literal) )) (compound_statement "{\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }" { (expression_statement "uVar7 = uVar7 & 0xffffffed | 8;" (assignment_expression "uVar7 = uVar7 & 0xffffffed | 8" identifier = (binary_expression "uVar7 & 0xffffffed | 8" (binary_expression "uVar7 & 0xffffffed" identifier & number_literal) | number_literal)) ;) }) (else_clause "else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" else (compound_statement "{\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" { (if_statement "if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }" if (parenthesized_expression "(iVar4 != 0x66)" ( (binary_expression "iVar4 != 0x66" identifier != number_literal) )) (compound_statement "{\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }" { (labeled_statement "LAB_000c2d77:\n        builtin_usage();" statement_identifier : (expression_statement "builtin_usage();" (call_expression "builtin_usage()" identifier (argument_list "()" ( ))) ;)) (return_statement "return 0x102;" return number_literal ;) })) (expression_statement "uVar7 = uVar7 | 0x40;" (assignment_expression "uVar7 = uVar7 | 0x40" identifier = (binary_expression "uVar7 | 0x40" identifier | number_literal)) ;) }))))))))) })) (expression_statement "piVar5 = *(int **)(unaff_EBP + 0xbcc4e);" (assignment_expression "piVar5 = *(int **)(unaff_EBP + 0xbcc4e)" identifier = (pointer_expression "*(int **)(unaff_EBP + 0xbcc4e)" * (cast_expression "(int **)(unaff_EBP + 0xbcc4e)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + 0xbcc4e)" ( (binary_expression "unaff_EBP + 0xbcc4e" identifier + number_literal) ))))) ;) (if_statement "if (piVar5 == (int *)0x0) {\n    bVar10 = false;\n  }\n  else {\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }" if (parenthesized_expression "(piVar5 == (int *)0x0)" ( (binary_expression "piVar5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    bVar10 = false;\n  }" { (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) }) (else_clause "else {\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }" else (compound_statement "{\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }" { (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (do_statement "do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);" do (compound_statement "{\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    }" { (while_statement "while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }" while (parenthesized_expression "(iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0)" ( (comma_expression "iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0" (assignment_expression "iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7)" identifier = (call_expression "describe_command(*(undefined4 *)piVar5[1],uVar7)" identifier (argument_list "(*(undefined4 *)piVar5[1],uVar7)" ( (pointer_expression "*(undefined4 *)piVar5[1]" * (cast_expression "(undefined4 *)piVar5[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) , identifier )))) , (binary_expression "(uVar7 & 0x18) == 0 && iVar4 == 0" (binary_expression "(uVar7 & 0x18) == 0" (parenthesized_expression "(uVar7 & 0x18)" ( (binary_expression "uVar7 & 0x18" identifier & number_literal) )) == number_literal) && (binary_expression "iVar4 == 0" identifier == number_literal))) )) (compound_statement "{\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }" { (expression_statement "sh_notfound(*(undefined4 *)piVar5[1]);" (call_expression "sh_notfound(*(undefined4 *)piVar5[1])" identifier (argument_list "(*(undefined4 *)piVar5[1])" ( (pointer_expression "*(undefined4 *)piVar5[1]" * (cast_expression "(undefined4 *)piVar5[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) ))) ;) (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (expression_statement "local_24 = local_24 + 1;" (assignment_expression "local_24 = local_24 + 1" identifier = (binary_expression "local_24 + 1" identifier + number_literal)) ;) (if_statement "if (piVar5 == (int *)0x0) goto LAB_000c2eeb;" if (parenthesized_expression "(piVar5 == (int *)0x0)" ( (binary_expression "piVar5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c2eeb;" goto statement_identifier ;)) })) (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (expression_statement "local_24 = local_24 + (uint)(iVar4 == 0);" (assignment_expression "local_24 = local_24 + (uint)(iVar4 == 0)" identifier = (binary_expression "local_24 + (uint)(iVar4 == 0)" identifier + (call_expression "(uint)(iVar4 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) ))))) ;) }) while (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_000c2eeb:\n    bVar10 = local_24 != 0;" statement_identifier : (expression_statement "bVar10 = local_24 != 0;" (assignment_expression "bVar10 = local_24 != 0" identifier = (binary_expression "local_24 != 0" identifier != number_literal)) ;)) }))) (expression_statement "uVar3 = sh_chkwrite(bVar10);" (assignment_expression "uVar3 = sh_chkwrite(bVar10)" identifier = (call_expression "sh_chkwrite(bVar10)" identifier (argument_list "(bVar10)" ( identifier )))) ;) (return_statement "return uVar3;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */\n\nint type_builtin(WORD_LIST *list)\n\n{\n  byte bVar1;\n  char *pcVar2;\n  int iVar3;\n  word_list *pwVar4;\n  byte *pbVar5;\n  uint uVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  int local_24;\n  \n  if (list == (WORD_LIST *)0x0) {\n    return 0;\n  }\n  pwVar4 = list;\n  do {\n    while( true ) {\n      pcVar2 = pwVar4->word->word;\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pbVar5 = (byte *)(pcVar2 + 1);\n      bVar9 = bVar1 < 0x74;\n      bVar11 = bVar1 == 0x74;\n      if (bVar11) break;\n      bVar9 = bVar1 < 0x2d;\n      bVar11 = bVar1 == 0x2d;\n      if (bVar11) {\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-type";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar7 < *pbVar8;\n          bVar11 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar11);\n        bVar10 = false;\n        bVar9 = (!bVar9 && !bVar11) == bVar9;\n        if (bVar9) goto LAB_000c2d05;\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-path";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar11 = false;\n        bVar9 = (!bVar10 && !bVar9) == bVar10;\n        if (bVar9) goto LAB_000c2dfb;\n        iVar3 = 5;\n        pbVar7 = &DAT_00125a49;\nLAB_000c2cb2:\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar5 < *pbVar7;\n          bVar9 = *pbVar5 == *pbVar7;\n          pbVar5 = pbVar5 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar9);\n        if ((!bVar11 && !bVar9) == bVar11) {\n          pcVar2[1] = 'a';\n          pwVar4->word->word[2] = '\0';\n        }\n      }\n      else {\n        bVar9 = bVar1 < 0x70;\n        bVar11 = bVar1 == 0x70;\n        if (bVar11) {\n          iVar3 = 5;\n          pbVar7 = (byte *)"-path";\n          do {\n            pbVar7 = pbVar7 + 1;\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar5 < *pbVar7;\n            bVar11 = *pbVar5 == *pbVar7;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            pwVar4->word->word[2] = '\0';\n          }\n        }\n        else {\n          bVar11 = bVar1 < 0x61;\n          bVar9 = bVar1 == 0x61;\n          if (bVar9) {\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      pwVar4 = pwVar4->next;\n      if (pwVar4 == (word_list *)0x0) goto LAB_000c2d20;\n    }\n    iVar3 = 5;\n    pbVar7 = (byte *)0x113186;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar5 < *pbVar7;\n      bVar11 = *pbVar5 == *pbVar7;\n      pbVar5 = pbVar5 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar11);\n    if ((!bVar9 && !bVar11) != bVar9) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    pwVar4->word->word[2] = '\0';\n    pwVar4 = pwVar4->next;\n  } while (pwVar4 != (word_list *)0x0);\nLAB_000c2d20:\n  uVar6 = 2;\n  reset_internal_getopt();\n  while (iVar3 = internal_getopt(list,"afptP"), iVar3 != -1) {\n    if (iVar3 == 0x61) {\n      uVar6 = uVar6 | 1;\n    }\n    else if (iVar3 < 0x62) {\n      if (iVar3 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar3 != 0x50) goto LAB_000c2d77;\n      uVar6 = uVar6 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar3 == 0x70) {\n      uVar6 = uVar6 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar3 == 0x74) {\n      uVar6 = uVar6 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar6 = uVar6 | 0x40;\n    }\n  }\n  if (loptend == (WORD_LIST *)0x0) {\n    uVar6 = 0;\n  }\n  else {\n    local_24 = 0;\n    pwVar4 = loptend;\n    do {\n      while (iVar3 = describe_command(pwVar4->word->word,uVar6), (uVar6 & 0x18) == 0 && iVar3 == 0)\n      {\n        sh_notfound(pwVar4->word->word);\n        pwVar4 = pwVar4->next;\n        local_24 = local_24 + 1;\n        if (pwVar4 == (word_list *)0x0) goto LAB_000c2eeb;\n      }\n      pwVar4 = pwVar4->next;\n      local_24 = local_24 + (uint)(iVar3 == 0);\n    } while (pwVar4 != (word_list *)0x0);\nLAB_000c2eeb:\n    uVar6 = (uint)(local_24 != 0);\n  }\n  iVar3 = sh_chkwrite(uVar6);\n  return iVar3;\n}\n\n" comment (function_definition "int type_builtin(WORD_LIST *list)\n\n{\n  byte bVar1;\n  char *pcVar2;\n  int iVar3;\n  word_list *pwVar4;\n  byte *pbVar5;\n  uint uVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  int local_24;\n  \n  if (list == (WORD_LIST *)0x0) {\n    return 0;\n  }\n  pwVar4 = list;\n  do {\n    while( true ) {\n      pcVar2 = pwVar4->word->word;\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pbVar5 = (byte *)(pcVar2 + 1);\n      bVar9 = bVar1 < 0x74;\n      bVar11 = bVar1 == 0x74;\n      if (bVar11) break;\n      bVar9 = bVar1 < 0x2d;\n      bVar11 = bVar1 == 0x2d;\n      if (bVar11) {\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-type";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar7 < *pbVar8;\n          bVar11 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar11);\n        bVar10 = false;\n        bVar9 = (!bVar9 && !bVar11) == bVar9;\n        if (bVar9) goto LAB_000c2d05;\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-path";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar11 = false;\n        bVar9 = (!bVar10 && !bVar9) == bVar10;\n        if (bVar9) goto LAB_000c2dfb;\n        iVar3 = 5;\n        pbVar7 = &DAT_00125a49;\nLAB_000c2cb2:\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar5 < *pbVar7;\n          bVar9 = *pbVar5 == *pbVar7;\n          pbVar5 = pbVar5 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar9);\n        if ((!bVar11 && !bVar9) == bVar11) {\n          pcVar2[1] = 'a';\n          pwVar4->word->word[2] = '\0';\n        }\n      }\n      else {\n        bVar9 = bVar1 < 0x70;\n        bVar11 = bVar1 == 0x70;\n        if (bVar11) {\n          iVar3 = 5;\n          pbVar7 = (byte *)"-path";\n          do {\n            pbVar7 = pbVar7 + 1;\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar5 < *pbVar7;\n            bVar11 = *pbVar5 == *pbVar7;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            pwVar4->word->word[2] = '\0';\n          }\n        }\n        else {\n          bVar11 = bVar1 < 0x61;\n          bVar9 = bVar1 == 0x61;\n          if (bVar9) {\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      pwVar4 = pwVar4->next;\n      if (pwVar4 == (word_list *)0x0) goto LAB_000c2d20;\n    }\n    iVar3 = 5;\n    pbVar7 = (byte *)0x113186;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar5 < *pbVar7;\n      bVar11 = *pbVar5 == *pbVar7;\n      pbVar5 = pbVar5 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar11);\n    if ((!bVar9 && !bVar11) != bVar9) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    pwVar4->word->word[2] = '\0';\n    pwVar4 = pwVar4->next;\n  } while (pwVar4 != (word_list *)0x0);\nLAB_000c2d20:\n  uVar6 = 2;\n  reset_internal_getopt();\n  while (iVar3 = internal_getopt(list,"afptP"), iVar3 != -1) {\n    if (iVar3 == 0x61) {\n      uVar6 = uVar6 | 1;\n    }\n    else if (iVar3 < 0x62) {\n      if (iVar3 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar3 != 0x50) goto LAB_000c2d77;\n      uVar6 = uVar6 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar3 == 0x70) {\n      uVar6 = uVar6 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar3 == 0x74) {\n      uVar6 = uVar6 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar6 = uVar6 | 0x40;\n    }\n  }\n  if (loptend == (WORD_LIST *)0x0) {\n    uVar6 = 0;\n  }\n  else {\n    local_24 = 0;\n    pwVar4 = loptend;\n    do {\n      while (iVar3 = describe_command(pwVar4->word->word,uVar6), (uVar6 & 0x18) == 0 && iVar3 == 0)\n      {\n        sh_notfound(pwVar4->word->word);\n        pwVar4 = pwVar4->next;\n        local_24 = local_24 + 1;\n        if (pwVar4 == (word_list *)0x0) goto LAB_000c2eeb;\n      }\n      pwVar4 = pwVar4->next;\n      local_24 = local_24 + (uint)(iVar3 == 0);\n    } while (pwVar4 != (word_list *)0x0);\nLAB_000c2eeb:\n    uVar6 = (uint)(local_24 != 0);\n  }\n  iVar3 = sh_chkwrite(uVar6);\n  return iVar3;\n}" primitive_type (function_declarator "type_builtin(WORD_LIST *list)" identifier (parameter_list "(WORD_LIST *list)" ( (parameter_declaration "WORD_LIST *list" type_identifier (pointer_declarator "*list" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  char *pcVar2;\n  int iVar3;\n  word_list *pwVar4;\n  byte *pbVar5;\n  uint uVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  int local_24;\n  \n  if (list == (WORD_LIST *)0x0) {\n    return 0;\n  }\n  pwVar4 = list;\n  do {\n    while( true ) {\n      pcVar2 = pwVar4->word->word;\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pbVar5 = (byte *)(pcVar2 + 1);\n      bVar9 = bVar1 < 0x74;\n      bVar11 = bVar1 == 0x74;\n      if (bVar11) break;\n      bVar9 = bVar1 < 0x2d;\n      bVar11 = bVar1 == 0x2d;\n      if (bVar11) {\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-type";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar7 < *pbVar8;\n          bVar11 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar11);\n        bVar10 = false;\n        bVar9 = (!bVar9 && !bVar11) == bVar9;\n        if (bVar9) goto LAB_000c2d05;\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-path";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar11 = false;\n        bVar9 = (!bVar10 && !bVar9) == bVar10;\n        if (bVar9) goto LAB_000c2dfb;\n        iVar3 = 5;\n        pbVar7 = &DAT_00125a49;\nLAB_000c2cb2:\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar5 < *pbVar7;\n          bVar9 = *pbVar5 == *pbVar7;\n          pbVar5 = pbVar5 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar9);\n        if ((!bVar11 && !bVar9) == bVar11) {\n          pcVar2[1] = 'a';\n          pwVar4->word->word[2] = '\0';\n        }\n      }\n      else {\n        bVar9 = bVar1 < 0x70;\n        bVar11 = bVar1 == 0x70;\n        if (bVar11) {\n          iVar3 = 5;\n          pbVar7 = (byte *)"-path";\n          do {\n            pbVar7 = pbVar7 + 1;\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar5 < *pbVar7;\n            bVar11 = *pbVar5 == *pbVar7;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            pwVar4->word->word[2] = '\0';\n          }\n        }\n        else {\n          bVar11 = bVar1 < 0x61;\n          bVar9 = bVar1 == 0x61;\n          if (bVar9) {\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      pwVar4 = pwVar4->next;\n      if (pwVar4 == (word_list *)0x0) goto LAB_000c2d20;\n    }\n    iVar3 = 5;\n    pbVar7 = (byte *)0x113186;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar5 < *pbVar7;\n      bVar11 = *pbVar5 == *pbVar7;\n      pbVar5 = pbVar5 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar11);\n    if ((!bVar9 && !bVar11) != bVar9) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    pwVar4->word->word[2] = '\0';\n    pwVar4 = pwVar4->next;\n  } while (pwVar4 != (word_list *)0x0);\nLAB_000c2d20:\n  uVar6 = 2;\n  reset_internal_getopt();\n  while (iVar3 = internal_getopt(list,"afptP"), iVar3 != -1) {\n    if (iVar3 == 0x61) {\n      uVar6 = uVar6 | 1;\n    }\n    else if (iVar3 < 0x62) {\n      if (iVar3 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar3 != 0x50) goto LAB_000c2d77;\n      uVar6 = uVar6 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar3 == 0x70) {\n      uVar6 = uVar6 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar3 == 0x74) {\n      uVar6 = uVar6 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar6 = uVar6 | 0x40;\n    }\n  }\n  if (loptend == (WORD_LIST *)0x0) {\n    uVar6 = 0;\n  }\n  else {\n    local_24 = 0;\n    pwVar4 = loptend;\n    do {\n      while (iVar3 = describe_command(pwVar4->word->word,uVar6), (uVar6 & 0x18) == 0 && iVar3 == 0)\n      {\n        sh_notfound(pwVar4->word->word);\n        pwVar4 = pwVar4->next;\n        local_24 = local_24 + 1;\n        if (pwVar4 == (word_list *)0x0) goto LAB_000c2eeb;\n      }\n      pwVar4 = pwVar4->next;\n      local_24 = local_24 + (uint)(iVar3 == 0);\n    } while (pwVar4 != (word_list *)0x0);\nLAB_000c2eeb:\n    uVar6 = (uint)(local_24 != 0);\n  }\n  iVar3 = sh_chkwrite(uVar6);\n  return iVar3;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "word_list *pwVar4;" type_identifier (pointer_declarator "*pwVar4" * identifier) ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "int local_24;" primitive_type identifier ;) (if_statement "if (list == (WORD_LIST *)0x0) {\n    return 0;\n  }" if (parenthesized_expression "(list == (WORD_LIST *)0x0)" ( (binary_expression "list == (WORD_LIST *)0x0" identifier == (cast_expression "(WORD_LIST *)0x0" ( (type_descriptor "WORD_LIST *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pwVar4 = list;" (assignment_expression "pwVar4 = list" identifier = identifier) ;) (do_statement "do {\n    while( true ) {\n      pcVar2 = pwVar4->word->word;\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pbVar5 = (byte *)(pcVar2 + 1);\n      bVar9 = bVar1 < 0x74;\n      bVar11 = bVar1 == 0x74;\n      if (bVar11) break;\n      bVar9 = bVar1 < 0x2d;\n      bVar11 = bVar1 == 0x2d;\n      if (bVar11) {\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-type";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar7 < *pbVar8;\n          bVar11 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar11);\n        bVar10 = false;\n        bVar9 = (!bVar9 && !bVar11) == bVar9;\n        if (bVar9) goto LAB_000c2d05;\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-path";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar11 = false;\n        bVar9 = (!bVar10 && !bVar9) == bVar10;\n        if (bVar9) goto LAB_000c2dfb;\n        iVar3 = 5;\n        pbVar7 = &DAT_00125a49;\nLAB_000c2cb2:\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar5 < *pbVar7;\n          bVar9 = *pbVar5 == *pbVar7;\n          pbVar5 = pbVar5 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar9);\n        if ((!bVar11 && !bVar9) == bVar11) {\n          pcVar2[1] = 'a';\n          pwVar4->word->word[2] = '\0';\n        }\n      }\n      else {\n        bVar9 = bVar1 < 0x70;\n        bVar11 = bVar1 == 0x70;\n        if (bVar11) {\n          iVar3 = 5;\n          pbVar7 = (byte *)"-path";\n          do {\n            pbVar7 = pbVar7 + 1;\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar5 < *pbVar7;\n            bVar11 = *pbVar5 == *pbVar7;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            pwVar4->word->word[2] = '\0';\n          }\n        }\n        else {\n          bVar11 = bVar1 < 0x61;\n          bVar9 = bVar1 == 0x61;\n          if (bVar9) {\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      pwVar4 = pwVar4->next;\n      if (pwVar4 == (word_list *)0x0) goto LAB_000c2d20;\n    }\n    iVar3 = 5;\n    pbVar7 = (byte *)0x113186;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar5 < *pbVar7;\n      bVar11 = *pbVar5 == *pbVar7;\n      pbVar5 = pbVar5 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar11);\n    if ((!bVar9 && !bVar11) != bVar9) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    pwVar4->word->word[2] = '\0';\n    pwVar4 = pwVar4->next;\n  } while (pwVar4 != (word_list *)0x0);" do (compound_statement "{\n    while( true ) {\n      pcVar2 = pwVar4->word->word;\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pbVar5 = (byte *)(pcVar2 + 1);\n      bVar9 = bVar1 < 0x74;\n      bVar11 = bVar1 == 0x74;\n      if (bVar11) break;\n      bVar9 = bVar1 < 0x2d;\n      bVar11 = bVar1 == 0x2d;\n      if (bVar11) {\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-type";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar7 < *pbVar8;\n          bVar11 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar11);\n        bVar10 = false;\n        bVar9 = (!bVar9 && !bVar11) == bVar9;\n        if (bVar9) goto LAB_000c2d05;\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-path";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar11 = false;\n        bVar9 = (!bVar10 && !bVar9) == bVar10;\n        if (bVar9) goto LAB_000c2dfb;\n        iVar3 = 5;\n        pbVar7 = &DAT_00125a49;\nLAB_000c2cb2:\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar5 < *pbVar7;\n          bVar9 = *pbVar5 == *pbVar7;\n          pbVar5 = pbVar5 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar9);\n        if ((!bVar11 && !bVar9) == bVar11) {\n          pcVar2[1] = 'a';\n          pwVar4->word->word[2] = '\0';\n        }\n      }\n      else {\n        bVar9 = bVar1 < 0x70;\n        bVar11 = bVar1 == 0x70;\n        if (bVar11) {\n          iVar3 = 5;\n          pbVar7 = (byte *)"-path";\n          do {\n            pbVar7 = pbVar7 + 1;\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar5 < *pbVar7;\n            bVar11 = *pbVar5 == *pbVar7;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            pwVar4->word->word[2] = '\0';\n          }\n        }\n        else {\n          bVar11 = bVar1 < 0x61;\n          bVar9 = bVar1 == 0x61;\n          if (bVar9) {\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      pwVar4 = pwVar4->next;\n      if (pwVar4 == (word_list *)0x0) goto LAB_000c2d20;\n    }\n    iVar3 = 5;\n    pbVar7 = (byte *)0x113186;\n    do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar5 < *pbVar7;\n      bVar11 = *pbVar5 == *pbVar7;\n      pbVar5 = pbVar5 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar11);\n    if ((!bVar9 && !bVar11) != bVar9) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    pwVar4->word->word[2] = '\0';\n    pwVar4 = pwVar4->next;\n  }" { (while_statement "while( true ) {\n      pcVar2 = pwVar4->word->word;\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pbVar5 = (byte *)(pcVar2 + 1);\n      bVar9 = bVar1 < 0x74;\n      bVar11 = bVar1 == 0x74;\n      if (bVar11) break;\n      bVar9 = bVar1 < 0x2d;\n      bVar11 = bVar1 == 0x2d;\n      if (bVar11) {\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-type";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar7 < *pbVar8;\n          bVar11 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar11);\n        bVar10 = false;\n        bVar9 = (!bVar9 && !bVar11) == bVar9;\n        if (bVar9) goto LAB_000c2d05;\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-path";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar11 = false;\n        bVar9 = (!bVar10 && !bVar9) == bVar10;\n        if (bVar9) goto LAB_000c2dfb;\n        iVar3 = 5;\n        pbVar7 = &DAT_00125a49;\nLAB_000c2cb2:\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar5 < *pbVar7;\n          bVar9 = *pbVar5 == *pbVar7;\n          pbVar5 = pbVar5 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar9);\n        if ((!bVar11 && !bVar9) == bVar11) {\n          pcVar2[1] = 'a';\n          pwVar4->word->word[2] = '\0';\n        }\n      }\n      else {\n        bVar9 = bVar1 < 0x70;\n        bVar11 = bVar1 == 0x70;\n        if (bVar11) {\n          iVar3 = 5;\n          pbVar7 = (byte *)"-path";\n          do {\n            pbVar7 = pbVar7 + 1;\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar5 < *pbVar7;\n            bVar11 = *pbVar5 == *pbVar7;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            pwVar4->word->word[2] = '\0';\n          }\n        }\n        else {\n          bVar11 = bVar1 < 0x61;\n          bVar9 = bVar1 == 0x61;\n          if (bVar9) {\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      pwVar4 = pwVar4->next;\n      if (pwVar4 == (word_list *)0x0) goto LAB_000c2d20;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      pcVar2 = pwVar4->word->word;\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pbVar5 = (byte *)(pcVar2 + 1);\n      bVar9 = bVar1 < 0x74;\n      bVar11 = bVar1 == 0x74;\n      if (bVar11) break;\n      bVar9 = bVar1 < 0x2d;\n      bVar11 = bVar1 == 0x2d;\n      if (bVar11) {\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-type";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar7 < *pbVar8;\n          bVar11 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar11);\n        bVar10 = false;\n        bVar9 = (!bVar9 && !bVar11) == bVar9;\n        if (bVar9) goto LAB_000c2d05;\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-path";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar11 = false;\n        bVar9 = (!bVar10 && !bVar9) == bVar10;\n        if (bVar9) goto LAB_000c2dfb;\n        iVar3 = 5;\n        pbVar7 = &DAT_00125a49;\nLAB_000c2cb2:\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar5 < *pbVar7;\n          bVar9 = *pbVar5 == *pbVar7;\n          pbVar5 = pbVar5 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar9);\n        if ((!bVar11 && !bVar9) == bVar11) {\n          pcVar2[1] = 'a';\n          pwVar4->word->word[2] = '\0';\n        }\n      }\n      else {\n        bVar9 = bVar1 < 0x70;\n        bVar11 = bVar1 == 0x70;\n        if (bVar11) {\n          iVar3 = 5;\n          pbVar7 = (byte *)"-path";\n          do {\n            pbVar7 = pbVar7 + 1;\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar5 < *pbVar7;\n            bVar11 = *pbVar5 == *pbVar7;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            pwVar4->word->word[2] = '\0';\n          }\n        }\n        else {\n          bVar11 = bVar1 < 0x61;\n          bVar9 = bVar1 == 0x61;\n          if (bVar9) {\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      pwVar4 = pwVar4->next;\n      if (pwVar4 == (word_list *)0x0) goto LAB_000c2d20;\n    }" { (expression_statement "pcVar2 = pwVar4->word->word;" (assignment_expression "pcVar2 = pwVar4->word->word" identifier = (field_expression "pwVar4->word->word" (field_expression "pwVar4->word" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (*pcVar2 != '-') goto LAB_000c2d20;" if (parenthesized_expression "(*pcVar2 != '-')" ( (binary_expression "*pcVar2 != '-'" (pointer_expression "*pcVar2" * identifier) != (char_literal "'-'" ' character ')) )) (goto_statement "goto LAB_000c2d20;" goto statement_identifier ;)) (expression_statement "bVar1 = pcVar2[1];" (assignment_expression "bVar1 = pcVar2[1]" identifier = (subscript_expression "pcVar2[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar5 = (byte *)(pcVar2 + 1);" (assignment_expression "pbVar5 = (byte *)(pcVar2 + 1)" identifier = (cast_expression "(byte *)(pcVar2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar2 + 1)" ( (binary_expression "pcVar2 + 1" identifier + number_literal) )))) ;) (expression_statement "bVar9 = bVar1 < 0x74;" (assignment_expression "bVar9 = bVar1 < 0x74" identifier = (binary_expression "bVar1 < 0x74" identifier < number_literal)) ;) (expression_statement "bVar11 = bVar1 == 0x74;" (assignment_expression "bVar11 = bVar1 == 0x74" identifier = (binary_expression "bVar1 == 0x74" identifier == number_literal)) ;) (if_statement "if (bVar11) break;" if (parenthesized_expression "(bVar11)" ( identifier )) (break_statement "break;" break ;)) (expression_statement "bVar9 = bVar1 < 0x2d;" (assignment_expression "bVar9 = bVar1 < 0x2d" identifier = (binary_expression "bVar1 < 0x2d" identifier < number_literal)) ;) (expression_statement "bVar11 = bVar1 == 0x2d;" (assignment_expression "bVar11 = bVar1 == 0x2d" identifier = (binary_expression "bVar1 == 0x2d" identifier == number_literal)) ;) (if_statement "if (bVar11) {\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-type";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar7 < *pbVar8;\n          bVar11 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar11);\n        bVar10 = false;\n        bVar9 = (!bVar9 && !bVar11) == bVar9;\n        if (bVar9) goto LAB_000c2d05;\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-path";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar11 = false;\n        bVar9 = (!bVar10 && !bVar9) == bVar10;\n        if (bVar9) goto LAB_000c2dfb;\n        iVar3 = 5;\n        pbVar7 = &DAT_00125a49;\nLAB_000c2cb2:\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar5 < *pbVar7;\n          bVar9 = *pbVar5 == *pbVar7;\n          pbVar5 = pbVar5 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar9);\n        if ((!bVar11 && !bVar9) == bVar11) {\n          pcVar2[1] = 'a';\n          pwVar4->word->word[2] = '\0';\n        }\n      }\n      else {\n        bVar9 = bVar1 < 0x70;\n        bVar11 = bVar1 == 0x70;\n        if (bVar11) {\n          iVar3 = 5;\n          pbVar7 = (byte *)"-path";\n          do {\n            pbVar7 = pbVar7 + 1;\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar5 < *pbVar7;\n            bVar11 = *pbVar5 == *pbVar7;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            pwVar4->word->word[2] = '\0';\n          }\n        }\n        else {\n          bVar11 = bVar1 < 0x61;\n          bVar9 = bVar1 == 0x61;\n          if (bVar9) {\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }\n        }\n      }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-type";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar7 < *pbVar8;\n          bVar11 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar11);\n        bVar10 = false;\n        bVar9 = (!bVar9 && !bVar11) == bVar9;\n        if (bVar9) goto LAB_000c2d05;\n        iVar3 = 6;\n        pbVar7 = pbVar5;\n        pbVar8 = (byte *)"-path";\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);\n        bVar11 = false;\n        bVar9 = (!bVar10 && !bVar9) == bVar10;\n        if (bVar9) goto LAB_000c2dfb;\n        iVar3 = 5;\n        pbVar7 = &DAT_00125a49;\nLAB_000c2cb2:\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar5 < *pbVar7;\n          bVar9 = *pbVar5 == *pbVar7;\n          pbVar5 = pbVar5 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar9);\n        if ((!bVar11 && !bVar9) == bVar11) {\n          pcVar2[1] = 'a';\n          pwVar4->word->word[2] = '\0';\n        }\n      }" { (expression_statement "iVar3 = 6;" (assignment_expression "iVar3 = 6" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar5;" (assignment_expression "pbVar7 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"-type";" (assignment_expression "pbVar8 = (byte *)"-type"" identifier = (cast_expression "(byte *)"-type"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""-type"" " string_content "))) ;) (do_statement "do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar7 < *pbVar8;\n          bVar11 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar11);" do (compound_statement "{\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar9 = *pbVar7 < *pbVar8;\n          bVar11 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar7 < *pbVar8;" (assignment_expression "bVar9 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar11 = *pbVar7 == *pbVar8;" (assignment_expression "bVar11 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar9 && !bVar11) == bVar9;" (assignment_expression "bVar9 = (!bVar9 && !bVar11) == bVar9" identifier = (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) goto LAB_000c2d05;" if (parenthesized_expression "(bVar9)" ( identifier )) (goto_statement "goto LAB_000c2d05;" goto statement_identifier ;)) (expression_statement "iVar3 = 6;" (assignment_expression "iVar3 = 6" identifier = number_literal) ;) (expression_statement "pbVar7 = pbVar5;" (assignment_expression "pbVar7 = pbVar5" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)"-path";" (assignment_expression "pbVar8 = (byte *)"-path"" identifier = (cast_expression "(byte *)"-path"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""-path"" " string_content "))) ;) (do_statement "do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        } while (bVar9);" do (compound_statement "{\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar10 = *pbVar7 < *pbVar8;\n          bVar9 = *pbVar7 == *pbVar8;\n          pbVar7 = pbVar7 + 1;\n          pbVar8 = pbVar8 + 1;\n        }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar7 < *pbVar8;" (assignment_expression "bVar10 = *pbVar7 < *pbVar8" identifier = (binary_expression "*pbVar7 < *pbVar8" (pointer_expression "*pbVar7" * identifier) < (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "bVar9 = *pbVar7 == *pbVar8;" (assignment_expression "bVar9 = *pbVar7 == *pbVar8" identifier = (binary_expression "*pbVar7 == *pbVar8" (pointer_expression "*pbVar7" * identifier) == (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar9 = (!bVar10 && !bVar9) == bVar10;" (assignment_expression "bVar9 = (!bVar10 && !bVar9) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar9) == bVar10" (parenthesized_expression "(!bVar10 && !bVar9)" ( (binary_expression "!bVar10 && !bVar9" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar9) goto LAB_000c2dfb;" if (parenthesized_expression "(bVar9)" ( identifier )) (goto_statement "goto LAB_000c2dfb;" goto statement_identifier ;)) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar7 = &DAT_00125a49;" (assignment_expression "pbVar7 = &DAT_00125a49" identifier = (pointer_expression "&DAT_00125a49" & identifier)) ;) (labeled_statement "LAB_000c2cb2:\n        do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar5 < *pbVar7;\n          bVar9 = *pbVar5 == *pbVar7;\n          pbVar5 = pbVar5 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar9);" statement_identifier : (do_statement "do {\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar5 < *pbVar7;\n          bVar9 = *pbVar5 == *pbVar7;\n          pbVar5 = pbVar5 + 1;\n          pbVar7 = pbVar7 + 1;\n        } while (bVar9);" do (compound_statement "{\n          if (iVar3 == 0) break;\n          iVar3 = iVar3 + -1;\n          bVar11 = *pbVar5 < *pbVar7;\n          bVar9 = *pbVar5 == *pbVar7;\n          pbVar5 = pbVar5 + 1;\n          pbVar7 = pbVar7 + 1;\n        }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar5 < *pbVar7;" (assignment_expression "bVar11 = *pbVar5 < *pbVar7" identifier = (binary_expression "*pbVar5 < *pbVar7" (pointer_expression "*pbVar5" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar9 = *pbVar5 == *pbVar7;" (assignment_expression "bVar9 = *pbVar5 == *pbVar7" identifier = (binary_expression "*pbVar5 == *pbVar7" (pointer_expression "*pbVar5" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar9)" ( identifier )) ;)) (if_statement "if ((!bVar11 && !bVar9) == bVar11) {\n          pcVar2[1] = 'a';\n          pwVar4->word->word[2] = '\0';\n        }" if (parenthesized_expression "((!bVar11 && !bVar9) == bVar11)" ( (binary_expression "(!bVar11 && !bVar9) == bVar11" (parenthesized_expression "(!bVar11 && !bVar9)" ( (binary_expression "!bVar11 && !bVar9" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar9" ! identifier)) )) == identifier) )) (compound_statement "{\n          pcVar2[1] = 'a';\n          pwVar4->word->word[2] = '\0';\n        }" { (expression_statement "pcVar2[1] = 'a';" (assignment_expression "pcVar2[1] = 'a'" (subscript_expression "pcVar2[1]" identifier [ number_literal ]) = (char_literal "'a'" ' character ')) ;) (expression_statement "pwVar4->word->word[2] = '\0';" (assignment_expression "pwVar4->word->word[2] = '\0'" (subscript_expression "pwVar4->word->word[2]" (field_expression "pwVar4->word->word" (field_expression "pwVar4->word" identifier -> field_identifier) -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) })) }) (else_clause "else {\n        bVar9 = bVar1 < 0x70;\n        bVar11 = bVar1 == 0x70;\n        if (bVar11) {\n          iVar3 = 5;\n          pbVar7 = (byte *)"-path";\n          do {\n            pbVar7 = pbVar7 + 1;\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar5 < *pbVar7;\n            bVar11 = *pbVar5 == *pbVar7;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            pwVar4->word->word[2] = '\0';\n          }\n        }\n        else {\n          bVar11 = bVar1 < 0x61;\n          bVar9 = bVar1 == 0x61;\n          if (bVar9) {\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }\n        }\n      }" else (compound_statement "{\n        bVar9 = bVar1 < 0x70;\n        bVar11 = bVar1 == 0x70;\n        if (bVar11) {\n          iVar3 = 5;\n          pbVar7 = (byte *)"-path";\n          do {\n            pbVar7 = pbVar7 + 1;\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar5 < *pbVar7;\n            bVar11 = *pbVar5 == *pbVar7;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            pwVar4->word->word[2] = '\0';\n          }\n        }\n        else {\n          bVar11 = bVar1 < 0x61;\n          bVar9 = bVar1 == 0x61;\n          if (bVar9) {\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }\n        }\n      }" { (expression_statement "bVar9 = bVar1 < 0x70;" (assignment_expression "bVar9 = bVar1 < 0x70" identifier = (binary_expression "bVar1 < 0x70" identifier < number_literal)) ;) (expression_statement "bVar11 = bVar1 == 0x70;" (assignment_expression "bVar11 = bVar1 == 0x70" identifier = (binary_expression "bVar1 == 0x70" identifier == number_literal)) ;) (if_statement "if (bVar11) {\n          iVar3 = 5;\n          pbVar7 = (byte *)"-path";\n          do {\n            pbVar7 = pbVar7 + 1;\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar5 < *pbVar7;\n            bVar11 = *pbVar5 == *pbVar7;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            pwVar4->word->word[2] = '\0';\n          }\n        }\n        else {\n          bVar11 = bVar1 < 0x61;\n          bVar9 = bVar1 == 0x61;\n          if (bVar9) {\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }\n        }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n          iVar3 = 5;\n          pbVar7 = (byte *)"-path";\n          do {\n            pbVar7 = pbVar7 + 1;\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar5 < *pbVar7;\n            bVar11 = *pbVar5 == *pbVar7;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar11);\n          if ((!bVar9 && !bVar11) == bVar9) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            pwVar4->word->word[2] = '\0';\n          }\n        }" { (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar7 = (byte *)"-path";" (assignment_expression "pbVar7 = (byte *)"-path"" identifier = (cast_expression "(byte *)"-path"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""-path"" " string_content "))) ;) (do_statement "do {\n            pbVar7 = pbVar7 + 1;\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar5 < *pbVar7;\n            bVar11 = *pbVar5 == *pbVar7;\n            pbVar5 = pbVar5 + 1;\n          } while (bVar11);" do (compound_statement "{\n            pbVar7 = pbVar7 + 1;\n            if (iVar3 == 0) break;\n            iVar3 = iVar3 + -1;\n            bVar9 = *pbVar5 < *pbVar7;\n            bVar11 = *pbVar5 == *pbVar7;\n            pbVar5 = pbVar5 + 1;\n          }" { (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar5 < *pbVar7;" (assignment_expression "bVar9 = *pbVar5 < *pbVar7" identifier = (binary_expression "*pbVar5 < *pbVar7" (pointer_expression "*pbVar5" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar11 = *pbVar5 == *pbVar7;" (assignment_expression "bVar11 = *pbVar5 == *pbVar7" identifier = (binary_expression "*pbVar5 == *pbVar7" (pointer_expression "*pbVar5" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (if_statement "if ((!bVar9 && !bVar11) == bVar9) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            pwVar4->word->word[2] = '\0';\n          }" if (parenthesized_expression "((!bVar9 && !bVar11) == bVar9)" ( (binary_expression "(!bVar9 && !bVar11) == bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier) )) (compound_statement "{\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            pwVar4->word->word[2] = '\0';\n          }" { (labeled_statement "LAB_000c2dfb:\n            pcVar2[1] = 'p';" statement_identifier : (expression_statement "pcVar2[1] = 'p';" (assignment_expression "pcVar2[1] = 'p'" (subscript_expression "pcVar2[1]" identifier [ number_literal ]) = (char_literal "'p'" ' character ')) ;)) (expression_statement "pwVar4->word->word[2] = '\0';" (assignment_expression "pwVar4->word->word[2] = '\0'" (subscript_expression "pwVar4->word->word[2]" (field_expression "pwVar4->word->word" (field_expression "pwVar4->word" identifier -> field_identifier) -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) })) }) (else_clause "else {\n          bVar11 = bVar1 < 0x61;\n          bVar9 = bVar1 == 0x61;\n          if (bVar9) {\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }\n        }" else (compound_statement "{\n          bVar11 = bVar1 < 0x61;\n          bVar9 = bVar1 == 0x61;\n          if (bVar9) {\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }\n        }" { (expression_statement "bVar11 = bVar1 < 0x61;" (assignment_expression "bVar11 = bVar1 < 0x61" identifier = (binary_expression "bVar1 < 0x61" identifier < number_literal)) ;) (expression_statement "bVar9 = bVar1 == 0x61;" (assignment_expression "bVar9 = bVar1 == 0x61" identifier = (binary_expression "bVar1 == 0x61" identifier == number_literal)) ;) (if_statement "if (bVar9) {\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n            iVar3 = 4;\n            pbVar7 = &DAT_00125a4a;\n            goto LAB_000c2cb2;\n          }" { (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" identifier = number_literal) ;) (expression_statement "pbVar7 = &DAT_00125a4a;" (assignment_expression "pbVar7 = &DAT_00125a4a" identifier = (pointer_expression "&DAT_00125a4a" & identifier)) ;) (goto_statement "goto LAB_000c2cb2;" goto statement_identifier ;) })) }))) }))) (labeled_statement "LAB_000c2cd0:\n      pwVar4 = pwVar4->next;" statement_identifier : (expression_statement "pwVar4 = pwVar4->next;" (assignment_expression "pwVar4 = pwVar4->next" identifier = (field_expression "pwVar4->next" identifier -> field_identifier)) ;)) (if_statement "if (pwVar4 == (word_list *)0x0) goto LAB_000c2d20;" if (parenthesized_expression "(pwVar4 == (word_list *)0x0)" ( (binary_expression "pwVar4 == (word_list *)0x0" identifier == (cast_expression "(word_list *)0x0" ( (type_descriptor "word_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c2d20;" goto statement_identifier ;)) })) (expression_statement "iVar3 = 5;" (assignment_expression "iVar3 = 5" identifier = number_literal) ;) (expression_statement "pbVar7 = (byte *)0x113186;" (assignment_expression "pbVar7 = (byte *)0x113186" identifier = (cast_expression "(byte *)0x113186" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar5 < *pbVar7;\n      bVar11 = *pbVar5 == *pbVar7;\n      pbVar5 = pbVar5 + 1;\n      pbVar7 = pbVar7 + 1;\n    } while (bVar11);" do (compound_statement "{\n      if (iVar3 == 0) break;\n      iVar3 = iVar3 + -1;\n      bVar9 = *pbVar5 < *pbVar7;\n      bVar11 = *pbVar5 == *pbVar7;\n      pbVar5 = pbVar5 + 1;\n      pbVar7 = pbVar7 + 1;\n    }" { (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (expression_statement "bVar9 = *pbVar5 < *pbVar7;" (assignment_expression "bVar9 = *pbVar5 < *pbVar7" identifier = (binary_expression "*pbVar5 < *pbVar7" (pointer_expression "*pbVar5" * identifier) < (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "bVar11 = *pbVar5 == *pbVar7;" (assignment_expression "bVar11 = *pbVar5 == *pbVar7" identifier = (binary_expression "*pbVar5 == *pbVar7" (pointer_expression "*pbVar5" * identifier) == (pointer_expression "*pbVar7" * identifier))) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (if_statement "if ((!bVar9 && !bVar11) != bVar9) goto LAB_000c2cd0;" if (parenthesized_expression "((!bVar9 && !bVar11) != bVar9)" ( (binary_expression "(!bVar9 && !bVar11) != bVar9" (parenthesized_expression "(!bVar9 && !bVar11)" ( (binary_expression "!bVar9 && !bVar11" (unary_expression "!bVar9" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_000c2cd0;" goto statement_identifier ;)) (labeled_statement "LAB_000c2d05:\n    pcVar2[1] = 't';" statement_identifier : (expression_statement "pcVar2[1] = 't';" (assignment_expression "pcVar2[1] = 't'" (subscript_expression "pcVar2[1]" identifier [ number_literal ]) = (char_literal "'t'" ' character ')) ;)) (expression_statement "pwVar4->word->word[2] = '\0';" (assignment_expression "pwVar4->word->word[2] = '\0'" (subscript_expression "pwVar4->word->word[2]" (field_expression "pwVar4->word->word" (field_expression "pwVar4->word" identifier -> field_identifier) -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pwVar4 = pwVar4->next;" (assignment_expression "pwVar4 = pwVar4->next" identifier = (field_expression "pwVar4->next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(pwVar4 != (word_list *)0x0)" ( (binary_expression "pwVar4 != (word_list *)0x0" identifier != (cast_expression "(word_list *)0x0" ( (type_descriptor "word_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_000c2d20:\n  uVar6 = 2;" statement_identifier : (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;)) (expression_statement "reset_internal_getopt();" (call_expression "reset_internal_getopt()" identifier (argument_list "()" ( ))) ;) (while_statement "while (iVar3 = internal_getopt(list,"afptP"), iVar3 != -1) {\n    if (iVar3 == 0x61) {\n      uVar6 = uVar6 | 1;\n    }\n    else if (iVar3 < 0x62) {\n      if (iVar3 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar3 != 0x50) goto LAB_000c2d77;\n      uVar6 = uVar6 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar3 == 0x70) {\n      uVar6 = uVar6 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar3 == 0x74) {\n      uVar6 = uVar6 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar6 = uVar6 | 0x40;\n    }\n  }" while (parenthesized_expression "(iVar3 = internal_getopt(list,"afptP"), iVar3 != -1)" ( (comma_expression "iVar3 = internal_getopt(list,"afptP"), iVar3 != -1" (assignment_expression "iVar3 = internal_getopt(list,"afptP")" identifier = (call_expression "internal_getopt(list,"afptP")" identifier (argument_list "(list,"afptP")" ( identifier , (string_literal ""afptP"" " string_content ") )))) , (binary_expression "iVar3 != -1" identifier != number_literal)) )) (compound_statement "{\n    if (iVar3 == 0x61) {\n      uVar6 = uVar6 | 1;\n    }\n    else if (iVar3 < 0x62) {\n      if (iVar3 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar3 != 0x50) goto LAB_000c2d77;\n      uVar6 = uVar6 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar3 == 0x70) {\n      uVar6 = uVar6 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar3 == 0x74) {\n      uVar6 = uVar6 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar6 = uVar6 | 0x40;\n    }\n  }" { (if_statement "if (iVar3 == 0x61) {\n      uVar6 = uVar6 | 1;\n    }\n    else if (iVar3 < 0x62) {\n      if (iVar3 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar3 != 0x50) goto LAB_000c2d77;\n      uVar6 = uVar6 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar3 == 0x70) {\n      uVar6 = uVar6 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar3 == 0x74) {\n      uVar6 = uVar6 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar6 = uVar6 | 0x40;\n    }" if (parenthesized_expression "(iVar3 == 0x61)" ( (binary_expression "iVar3 == 0x61" identifier == number_literal) )) (compound_statement "{\n      uVar6 = uVar6 | 1;\n    }" { (expression_statement "uVar6 = uVar6 | 1;" (assignment_expression "uVar6 = uVar6 | 1" identifier = (binary_expression "uVar6 | 1" identifier | number_literal)) ;) }) (else_clause "else if (iVar3 < 0x62) {\n      if (iVar3 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar3 != 0x50) goto LAB_000c2d77;\n      uVar6 = uVar6 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar3 == 0x70) {\n      uVar6 = uVar6 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar3 == 0x74) {\n      uVar6 = uVar6 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar6 = uVar6 | 0x40;\n    }" else (if_statement "if (iVar3 < 0x62) {\n      if (iVar3 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar3 != 0x50) goto LAB_000c2d77;\n      uVar6 = uVar6 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar3 == 0x70) {\n      uVar6 = uVar6 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar3 == 0x74) {\n      uVar6 = uVar6 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar6 = uVar6 | 0x40;\n    }" if (parenthesized_expression "(iVar3 < 0x62)" ( (binary_expression "iVar3 < 0x62" identifier < number_literal) )) (compound_statement "{\n      if (iVar3 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar3 != 0x50) goto LAB_000c2d77;\n      uVar6 = uVar6 & 0xfffffff5 | 0x30;\n    }" { (if_statement "if (iVar3 == -99) {\n        builtin_help();\n        return 0x102;\n      }" if (parenthesized_expression "(iVar3 == -99)" ( (binary_expression "iVar3 == -99" identifier == number_literal) )) (compound_statement "{\n        builtin_help();\n        return 0x102;\n      }" { (expression_statement "builtin_help();" (call_expression "builtin_help()" identifier (argument_list "()" ( ))) ;) (return_statement "return 0x102;" return number_literal ;) })) (if_statement "if (iVar3 != 0x50) goto LAB_000c2d77;" if (parenthesized_expression "(iVar3 != 0x50)" ( (binary_expression "iVar3 != 0x50" identifier != number_literal) )) (goto_statement "goto LAB_000c2d77;" goto statement_identifier ;)) (expression_statement "uVar6 = uVar6 & 0xfffffff5 | 0x30;" (assignment_expression "uVar6 = uVar6 & 0xfffffff5 | 0x30" identifier = (binary_expression "uVar6 & 0xfffffff5 | 0x30" (binary_expression "uVar6 & 0xfffffff5" identifier & number_literal) | number_literal)) ;) }) (else_clause "else if (iVar3 == 0x70) {\n      uVar6 = uVar6 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar3 == 0x74) {\n      uVar6 = uVar6 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar6 = uVar6 | 0x40;\n    }" else (if_statement "if (iVar3 == 0x70) {\n      uVar6 = uVar6 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar3 == 0x74) {\n      uVar6 = uVar6 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar6 = uVar6 | 0x40;\n    }" if (parenthesized_expression "(iVar3 == 0x70)" ( (binary_expression "iVar3 == 0x70" identifier == number_literal) )) (compound_statement "{\n      uVar6 = uVar6 & 0xfffffff5 | 0x10;\n    }" { (expression_statement "uVar6 = uVar6 & 0xfffffff5 | 0x10;" (assignment_expression "uVar6 = uVar6 & 0xfffffff5 | 0x10" identifier = (binary_expression "uVar6 & 0xfffffff5 | 0x10" (binary_expression "uVar6 & 0xfffffff5" identifier & number_literal) | number_literal)) ;) }) (else_clause "else if (iVar3 == 0x74) {\n      uVar6 = uVar6 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar6 = uVar6 | 0x40;\n    }" else (if_statement "if (iVar3 == 0x74) {\n      uVar6 = uVar6 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar6 = uVar6 | 0x40;\n    }" if (parenthesized_expression "(iVar3 == 0x74)" ( (binary_expression "iVar3 == 0x74" identifier == number_literal) )) (compound_statement "{\n      uVar6 = uVar6 & 0xffffffed | 8;\n    }" { (expression_statement "uVar6 = uVar6 & 0xffffffed | 8;" (assignment_expression "uVar6 = uVar6 & 0xffffffed | 8" identifier = (binary_expression "uVar6 & 0xffffffed | 8" (binary_expression "uVar6 & 0xffffffed" identifier & number_literal) | number_literal)) ;) }) (else_clause "else {\n      if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar6 = uVar6 | 0x40;\n    }" else (compound_statement "{\n      if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar6 = uVar6 | 0x40;\n    }" { (if_statement "if (iVar3 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }" if (parenthesized_expression "(iVar3 != 0x66)" ( (binary_expression "iVar3 != 0x66" identifier != number_literal) )) (compound_statement "{\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }" { (labeled_statement "LAB_000c2d77:\n        builtin_usage();" statement_identifier : (expression_statement "builtin_usage();" (call_expression "builtin_usage()" identifier (argument_list "()" ( ))) ;)) (return_statement "return 0x102;" return number_literal ;) })) (expression_statement "uVar6 = uVar6 | 0x40;" (assignment_expression "uVar6 = uVar6 | 0x40" identifier = (binary_expression "uVar6 | 0x40" identifier | number_literal)) ;) }))))))))) })) (if_statement "if (loptend == (WORD_LIST *)0x0) {\n    uVar6 = 0;\n  }\n  else {\n    local_24 = 0;\n    pwVar4 = loptend;\n    do {\n      while (iVar3 = describe_command(pwVar4->word->word,uVar6), (uVar6 & 0x18) == 0 && iVar3 == 0)\n      {\n        sh_notfound(pwVar4->word->word);\n        pwVar4 = pwVar4->next;\n        local_24 = local_24 + 1;\n        if (pwVar4 == (word_list *)0x0) goto LAB_000c2eeb;\n      }\n      pwVar4 = pwVar4->next;\n      local_24 = local_24 + (uint)(iVar3 == 0);\n    } while (pwVar4 != (word_list *)0x0);\nLAB_000c2eeb:\n    uVar6 = (uint)(local_24 != 0);\n  }" if (parenthesized_expression "(loptend == (WORD_LIST *)0x0)" ( (binary_expression "loptend == (WORD_LIST *)0x0" identifier == (cast_expression "(WORD_LIST *)0x0" ( (type_descriptor "WORD_LIST *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar6 = 0;\n  }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    local_24 = 0;\n    pwVar4 = loptend;\n    do {\n      while (iVar3 = describe_command(pwVar4->word->word,uVar6), (uVar6 & 0x18) == 0 && iVar3 == 0)\n      {\n        sh_notfound(pwVar4->word->word);\n        pwVar4 = pwVar4->next;\n        local_24 = local_24 + 1;\n        if (pwVar4 == (word_list *)0x0) goto LAB_000c2eeb;\n      }\n      pwVar4 = pwVar4->next;\n      local_24 = local_24 + (uint)(iVar3 == 0);\n    } while (pwVar4 != (word_list *)0x0);\nLAB_000c2eeb:\n    uVar6 = (uint)(local_24 != 0);\n  }" else (compound_statement "{\n    local_24 = 0;\n    pwVar4 = loptend;\n    do {\n      while (iVar3 = describe_command(pwVar4->word->word,uVar6), (uVar6 & 0x18) == 0 && iVar3 == 0)\n      {\n        sh_notfound(pwVar4->word->word);\n        pwVar4 = pwVar4->next;\n        local_24 = local_24 + 1;\n        if (pwVar4 == (word_list *)0x0) goto LAB_000c2eeb;\n      }\n      pwVar4 = pwVar4->next;\n      local_24 = local_24 + (uint)(iVar3 == 0);\n    } while (pwVar4 != (word_list *)0x0);\nLAB_000c2eeb:\n    uVar6 = (uint)(local_24 != 0);\n  }" { (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "pwVar4 = loptend;" (assignment_expression "pwVar4 = loptend" identifier = identifier) ;) (do_statement "do {\n      while (iVar3 = describe_command(pwVar4->word->word,uVar6), (uVar6 & 0x18) == 0 && iVar3 == 0)\n      {\n        sh_notfound(pwVar4->word->word);\n        pwVar4 = pwVar4->next;\n        local_24 = local_24 + 1;\n        if (pwVar4 == (word_list *)0x0) goto LAB_000c2eeb;\n      }\n      pwVar4 = pwVar4->next;\n      local_24 = local_24 + (uint)(iVar3 == 0);\n    } while (pwVar4 != (word_list *)0x0);" do (compound_statement "{\n      while (iVar3 = describe_command(pwVar4->word->word,uVar6), (uVar6 & 0x18) == 0 && iVar3 == 0)\n      {\n        sh_notfound(pwVar4->word->word);\n        pwVar4 = pwVar4->next;\n        local_24 = local_24 + 1;\n        if (pwVar4 == (word_list *)0x0) goto LAB_000c2eeb;\n      }\n      pwVar4 = pwVar4->next;\n      local_24 = local_24 + (uint)(iVar3 == 0);\n    }" { (while_statement "while (iVar3 = describe_command(pwVar4->word->word,uVar6), (uVar6 & 0x18) == 0 && iVar3 == 0)\n      {\n        sh_notfound(pwVar4->word->word);\n        pwVar4 = pwVar4->next;\n        local_24 = local_24 + 1;\n        if (pwVar4 == (word_list *)0x0) goto LAB_000c2eeb;\n      }" while (parenthesized_expression "(iVar3 = describe_command(pwVar4->word->word,uVar6), (uVar6 & 0x18) == 0 && iVar3 == 0)" ( (comma_expression "iVar3 = describe_command(pwVar4->word->word,uVar6), (uVar6 & 0x18) == 0 && iVar3 == 0" (assignment_expression "iVar3 = describe_command(pwVar4->word->word,uVar6)" identifier = (call_expression "describe_command(pwVar4->word->word,uVar6)" identifier (argument_list "(pwVar4->word->word,uVar6)" ( (field_expression "pwVar4->word->word" (field_expression "pwVar4->word" identifier -> field_identifier) -> field_identifier) , identifier )))) , (binary_expression "(uVar6 & 0x18) == 0 && iVar3 == 0" (binary_expression "(uVar6 & 0x18) == 0" (parenthesized_expression "(uVar6 & 0x18)" ( (binary_expression "uVar6 & 0x18" identifier & number_literal) )) == number_literal) && (binary_expression "iVar3 == 0" identifier == number_literal))) )) (compound_statement "{\n        sh_notfound(pwVar4->word->word);\n        pwVar4 = pwVar4->next;\n        local_24 = local_24 + 1;\n        if (pwVar4 == (word_list *)0x0) goto LAB_000c2eeb;\n      }" { (expression_statement "sh_notfound(pwVar4->word->word);" (call_expression "sh_notfound(pwVar4->word->word)" identifier (argument_list "(pwVar4->word->word)" ( (field_expression "pwVar4->word->word" (field_expression "pwVar4->word" identifier -> field_identifier) -> field_identifier) ))) ;) (expression_statement "pwVar4 = pwVar4->next;" (assignment_expression "pwVar4 = pwVar4->next" identifier = (field_expression "pwVar4->next" identifier -> field_identifier)) ;) (expression_statement "local_24 = local_24 + 1;" (assignment_expression "local_24 = local_24 + 1" identifier = (binary_expression "local_24 + 1" identifier + number_literal)) ;) (if_statement "if (pwVar4 == (word_list *)0x0) goto LAB_000c2eeb;" if (parenthesized_expression "(pwVar4 == (word_list *)0x0)" ( (binary_expression "pwVar4 == (word_list *)0x0" identifier == (cast_expression "(word_list *)0x0" ( (type_descriptor "word_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c2eeb;" goto statement_identifier ;)) })) (expression_statement "pwVar4 = pwVar4->next;" (assignment_expression "pwVar4 = pwVar4->next" identifier = (field_expression "pwVar4->next" identifier -> field_identifier)) ;) (expression_statement "local_24 = local_24 + (uint)(iVar3 == 0);" (assignment_expression "local_24 = local_24 + (uint)(iVar3 == 0)" identifier = (binary_expression "local_24 + (uint)(iVar3 == 0)" identifier + (call_expression "(uint)(iVar3 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) ))))) ;) }) while (parenthesized_expression "(pwVar4 != (word_list *)0x0)" ( (binary_expression "pwVar4 != (word_list *)0x0" identifier != (cast_expression "(word_list *)0x0" ( (type_descriptor "word_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_000c2eeb:\n    uVar6 = (uint)(local_24 != 0);" statement_identifier : (expression_statement "uVar6 = (uint)(local_24 != 0);" (assignment_expression "uVar6 = (uint)(local_24 != 0)" identifier = (call_expression "(uint)(local_24 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_24 != 0)" ( (binary_expression "local_24 != 0" identifier != number_literal) )))) ;)) }))) (expression_statement "iVar3 = sh_chkwrite(uVar6);" (assignment_expression "iVar3 = sh_chkwrite(uVar6)" identifier = (call_expression "sh_chkwrite(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (return_statement "return iVar3;" return identifier ;) })))
(translation_unit "undefined4 type_builtin(int *param_1)\n\n{\n  byte bVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int unaff_EBP;\n  code *pcVar6;\n  uint uVar7;\n  code *pcVar8;\n  code *pcVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  int local_24;\n  \n  bVar13 = 0;\n  FUN_00041277();\n  if (param_1 == (int *)0x0) {\n    return 0;\n  }\n  piVar5 = param_1;\n  do {\n    while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }\n    iVar4 = 5;\n    pcVar8 = (code *)(unaff_EBP + 0x50530);\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);\n    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n    piVar5 = (int *)*piVar5;\n  } while (piVar5 != (int *)0x0);\nLAB_000c2d20:\n  uVar7 = 2;\n  reset_internal_getopt();\n  while (iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1) {\n    if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }\n  }\n  piVar5 = *(int **)(unaff_EBP + 0xbcc4e);\n  if (piVar5 == (int *)0x0) {\n    bVar10 = false;\n  }\n  else {\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }\n  uVar3 = sh_chkwrite(bVar10);\n  return uVar3;\n}\n\n" (function_definition "undefined4 type_builtin(int *param_1)\n\n{\n  byte bVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int unaff_EBP;\n  code *pcVar6;\n  uint uVar7;\n  code *pcVar8;\n  code *pcVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  int local_24;\n  \n  bVar13 = 0;\n  FUN_00041277();\n  if (param_1 == (int *)0x0) {\n    return 0;\n  }\n  piVar5 = param_1;\n  do {\n    while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }\n    iVar4 = 5;\n    pcVar8 = (code *)(unaff_EBP + 0x50530);\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);\n    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n    piVar5 = (int *)*piVar5;\n  } while (piVar5 != (int *)0x0);\nLAB_000c2d20:\n  uVar7 = 2;\n  reset_internal_getopt();\n  while (iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1) {\n    if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }\n  }\n  piVar5 = *(int **)(unaff_EBP + 0xbcc4e);\n  if (piVar5 == (int *)0x0) {\n    bVar10 = false;\n  }\n  else {\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }\n  uVar3 = sh_chkwrite(bVar10);\n  return uVar3;\n}" type_identifier (function_declarator "type_builtin(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int unaff_EBP;\n  code *pcVar6;\n  uint uVar7;\n  code *pcVar8;\n  code *pcVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  int local_24;\n  \n  bVar13 = 0;\n  FUN_00041277();\n  if (param_1 == (int *)0x0) {\n    return 0;\n  }\n  piVar5 = param_1;\n  do {\n    while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }\n    iVar4 = 5;\n    pcVar8 = (code *)(unaff_EBP + 0x50530);\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);\n    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n    piVar5 = (int *)*piVar5;\n  } while (piVar5 != (int *)0x0);\nLAB_000c2d20:\n  uVar7 = 2;\n  reset_internal_getopt();\n  while (iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1) {\n    if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }\n  }\n  piVar5 = *(int **)(unaff_EBP + 0xbcc4e);\n  if (piVar5 == (int *)0x0) {\n    bVar10 = false;\n  }\n  else {\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }\n  uVar3 = sh_chkwrite(bVar10);\n  return uVar3;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "code *pcVar8;" type_identifier (pointer_declarator "*pcVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "FUN_00041277();" (call_expression "FUN_00041277()" identifier (argument_list "()" ( ))) ;) (if_statement "if (param_1 == (int *)0x0) {\n    return 0;\n  }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar5 = param_1;" (assignment_expression "piVar5 = param_1" identifier = identifier) ;) (do_statement "do {\n    while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }\n    iVar4 = 5;\n    pcVar8 = (code *)(unaff_EBP + 0x50530);\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);\n    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n    piVar5 = (int *)*piVar5;\n  } while (piVar5 != (int *)0x0);" do (compound_statement "{\n    while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }\n    iVar4 = 5;\n    pcVar8 = (code *)(unaff_EBP + 0x50530);\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);\n    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n    piVar5 = (int *)*piVar5;\n  }" { (while_statement "while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }" { (expression_statement "pcVar2 = *(char **)piVar5[1];" (assignment_expression "pcVar2 = *(char **)piVar5[1]" identifier = (pointer_expression "*(char **)piVar5[1]" * (cast_expression "(char **)piVar5[1]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar5[1]" identifier [ number_literal ])))) ;) (if_statement "if (*pcVar2 != '-') goto LAB_000c2d20;" if (parenthesized_expression "(*pcVar2 != '-')" ( (binary_expression "*pcVar2 != '-'" (pointer_expression "*pcVar2" * identifier) != (char_literal "'-'" ' character ')) )) (goto_statement "goto LAB_000c2d20;" goto statement_identifier ;)) (expression_statement "bVar1 = pcVar2[1];" (assignment_expression "bVar1 = pcVar2[1]" identifier = (subscript_expression "pcVar2[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar6 = (code *)(pcVar2 + 1);" (assignment_expression "pcVar6 = (code *)(pcVar2 + 1)" identifier = (cast_expression "(code *)(pcVar2 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar2 + 1)" ( (binary_expression "pcVar2 + 1" identifier + number_literal) )))) ;) (expression_statement "bVar10 = bVar1 < 0x74;" (assignment_expression "bVar10 = bVar1 < 0x74" identifier = (binary_expression "bVar1 < 0x74" identifier < number_literal)) ;) (expression_statement "bVar12 = bVar1 == 0x74;" (assignment_expression "bVar12 = bVar1 == 0x74" identifier = (binary_expression "bVar1 == 0x74" identifier == number_literal)) ;) (if_statement "if (bVar12) break;" if (parenthesized_expression "(bVar12)" ( identifier )) (break_statement "break;" break ;)) (expression_statement "bVar10 = bVar1 < 0x2d;" (assignment_expression "bVar10 = bVar1 < 0x2d" identifier = (binary_expression "bVar1 < 0x2d" identifier < number_literal)) ;) (expression_statement "bVar12 = bVar1 == 0x2d;" (assignment_expression "bVar12 = bVar1 == 0x2d" identifier = (binary_expression "bVar1 == 0x2d" identifier == number_literal)) ;) (if_statement "if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }" if (parenthesized_expression "(bVar12)" ( identifier )) (compound_statement "{\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }" { (expression_statement "iVar4 = 6;" (assignment_expression "iVar4 = 6" identifier = number_literal) ;) (expression_statement "pcVar8 = pcVar6;" (assignment_expression "pcVar8 = pcVar6" identifier = identifier) ;) (expression_statement "pcVar9 = (code *)(unaff_EBP + 0x62de7);" (assignment_expression "pcVar9 = (code *)(unaff_EBP + 0x62de7)" identifier = (cast_expression "(code *)(unaff_EBP + 0x62de7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x62de7)" ( (binary_expression "unaff_EBP + 0x62de7" identifier + number_literal) )))) ;) (do_statement "do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);" do (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = (byte)*pcVar8 < (byte)*pcVar9;" (assignment_expression "bVar10 = (byte)*pcVar8 < (byte)*pcVar9" identifier = (binary_expression "(byte)*pcVar8 < (byte)*pcVar9" (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier) < (binary_expression "(byte)*pcVar9" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar12 = *pcVar8 == *pcVar9;" (assignment_expression "bVar12 = *pcVar8 == *pcVar9" identifier = (binary_expression "*pcVar8 == *pcVar9" (pointer_expression "*pcVar8" * identifier) == (pointer_expression "*pcVar9" * identifier))) ;) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar9 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar9 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar10 && !bVar12) == bVar10;" (assignment_expression "bVar10 = (!bVar10 && !bVar12) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) goto LAB_000c2d05;" if (parenthesized_expression "(bVar10)" ( identifier )) (goto_statement "goto LAB_000c2d05;" goto statement_identifier ;)) (expression_statement "iVar4 = 6;" (assignment_expression "iVar4 = 6" identifier = number_literal) ;) (expression_statement "pcVar8 = pcVar6;" (assignment_expression "pcVar8 = pcVar6" identifier = identifier) ;) (expression_statement "pcVar9 = (code *)(unaff_EBP + 0x62ded);" (assignment_expression "pcVar9 = (code *)(unaff_EBP + 0x62ded)" identifier = (cast_expression "(code *)(unaff_EBP + 0x62ded)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x62ded)" ( (binary_expression "unaff_EBP + 0x62ded" identifier + number_literal) )))) ;) (do_statement "do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);" do (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = (byte)*pcVar8 < (byte)*pcVar9;" (assignment_expression "bVar11 = (byte)*pcVar8 < (byte)*pcVar9" identifier = (binary_expression "(byte)*pcVar8 < (byte)*pcVar9" (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier) < (binary_expression "(byte)*pcVar9" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar10 = *pcVar8 == *pcVar9;" (assignment_expression "bVar10 = *pcVar8 == *pcVar9" identifier = (binary_expression "*pcVar8 == *pcVar9" (pointer_expression "*pcVar8" * identifier) == (pointer_expression "*pcVar9" * identifier))) ;) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar9 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar9 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) goto LAB_000c2dfb;" if (parenthesized_expression "(bVar10)" ( identifier )) (goto_statement "goto LAB_000c2dfb;" goto statement_identifier ;)) (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" identifier = number_literal) ;) (expression_statement "pcVar8 = err_readonly + unaff_EBP + 3;" (assignment_expression "pcVar8 = err_readonly + unaff_EBP + 3" identifier = (binary_expression "err_readonly + unaff_EBP + 3" (binary_expression "err_readonly + unaff_EBP" identifier + identifier) + number_literal)) ;) (labeled_statement "LAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);" statement_identifier : (do_statement "do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);" do (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = (byte)*pcVar6 < (byte)*pcVar8;" (assignment_expression "bVar12 = (byte)*pcVar6 < (byte)*pcVar8" identifier = (binary_expression "(byte)*pcVar6 < (byte)*pcVar8" (binary_expression "(byte)*pcVar6" (parenthesized_expression "(byte)" ( identifier )) * identifier) < (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar10 = *pcVar6 == *pcVar8;" (assignment_expression "bVar10 = *pcVar6 == *pcVar8" identifier = (binary_expression "*pcVar6 == *pcVar8" (pointer_expression "*pcVar6" * identifier) == (pointer_expression "*pcVar8" * identifier))) ;) (expression_statement "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar6 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar6 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;)) (if_statement "if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }" if (parenthesized_expression "((!bVar12 && !bVar10) == bVar12)" ( (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier) )) (compound_statement "{\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }" { (expression_statement "pcVar2[1] = 'a';" (assignment_expression "pcVar2[1] = 'a'" (subscript_expression "pcVar2[1]" identifier [ number_literal ]) = (char_literal "'a'" ' character ')) ;) (expression_statement "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0;" (assignment_expression "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0" (pointer_expression "*(undefined1 *)(*(int *)piVar5[1] + 2)" * (cast_expression "(undefined1 *)(*(int *)piVar5[1] + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)piVar5[1] + 2)" ( (binary_expression "*(int *)piVar5[1] + 2" (pointer_expression "*(int *)piVar5[1]" * (cast_expression "(int *)piVar5[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }" else (compound_statement "{\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }" { (expression_statement "bVar10 = bVar1 < 0x70;" (assignment_expression "bVar10 = bVar1 < 0x70" identifier = (binary_expression "bVar1 < 0x70" identifier < number_literal)) ;) (expression_statement "bVar12 = bVar1 == 0x70;" (assignment_expression "bVar12 = bVar1 == 0x70" identifier = (binary_expression "bVar1 == 0x70" identifier == number_literal)) ;) (if_statement "if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }" if (parenthesized_expression "(bVar12)" ( identifier )) (compound_statement "{\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }" { (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" identifier = number_literal) ;) (expression_statement "pcVar8 = (code *)(unaff_EBP + 0x62dee);" (assignment_expression "pcVar8 = (code *)(unaff_EBP + 0x62dee)" identifier = (cast_expression "(code *)(unaff_EBP + 0x62dee)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x62dee)" ( (binary_expression "unaff_EBP + 0x62dee" identifier + number_literal) )))) ;) (do_statement "do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);" do (compound_statement "{\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = (byte)*pcVar6 < (byte)*pcVar8;" (assignment_expression "bVar10 = (byte)*pcVar6 < (byte)*pcVar8" identifier = (binary_expression "(byte)*pcVar6 < (byte)*pcVar8" (binary_expression "(byte)*pcVar6" (parenthesized_expression "(byte)" ( identifier )) * identifier) < (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar12 = *pcVar6 == *pcVar8;" (assignment_expression "bVar12 = *pcVar6 == *pcVar8" identifier = (binary_expression "*pcVar6 == *pcVar8" (pointer_expression "*pcVar6" * identifier) == (pointer_expression "*pcVar8" * identifier))) ;) (expression_statement "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar6 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar6 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }" if (parenthesized_expression "((!bVar10 && !bVar12) == bVar10)" ( (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier) )) (compound_statement "{\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }" { (labeled_statement "LAB_000c2dfb:\n            pcVar2[1] = 'p';" statement_identifier : (expression_statement "pcVar2[1] = 'p';" (assignment_expression "pcVar2[1] = 'p'" (subscript_expression "pcVar2[1]" identifier [ number_literal ]) = (char_literal "'p'" ' character ')) ;)) (expression_statement "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0;" (assignment_expression "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0" (pointer_expression "*(undefined1 *)(*(int *)piVar5[1] + 2)" * (cast_expression "(undefined1 *)(*(int *)piVar5[1] + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)piVar5[1] + 2)" ( (binary_expression "*(int *)piVar5[1] + 2" (pointer_expression "*(int *)piVar5[1]" * (cast_expression "(int *)piVar5[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }" else (compound_statement "{\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }" { (expression_statement "bVar12 = bVar1 < 0x61;" (assignment_expression "bVar12 = bVar1 < 0x61" identifier = (binary_expression "bVar1 < 0x61" identifier < number_literal)) ;) (expression_statement "bVar10 = bVar1 == 0x61;" (assignment_expression "bVar10 = bVar1 == 0x61" identifier = (binary_expression "bVar1 == 0x61" identifier == number_literal)) ;) (if_statement "if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }" { (expression_statement "iVar4 = 4;" (assignment_expression "iVar4 = 4" identifier = number_literal) ;) (expression_statement "pcVar8 = (code *)(unaff_EBP + 0x62df4);" (assignment_expression "pcVar8 = (code *)(unaff_EBP + 0x62df4)" identifier = (cast_expression "(code *)(unaff_EBP + 0x62df4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x62df4)" ( (binary_expression "unaff_EBP + 0x62df4" identifier + number_literal) )))) ;) (goto_statement "goto LAB_000c2cb2;" goto statement_identifier ;) })) }))) }))) (labeled_statement "LAB_000c2cd0:\n      piVar5 = (int *)*piVar5;" statement_identifier : (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;)) (if_statement "if (piVar5 == (int *)0x0) goto LAB_000c2d20;" if (parenthesized_expression "(piVar5 == (int *)0x0)" ( (binary_expression "piVar5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c2d20;" goto statement_identifier ;)) })) (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" identifier = number_literal) ;) (expression_statement "pcVar8 = (code *)(unaff_EBP + 0x50530);" (assignment_expression "pcVar8 = (code *)(unaff_EBP + 0x50530)" identifier = (cast_expression "(code *)(unaff_EBP + 0x50530)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x50530)" ( (binary_expression "unaff_EBP + 0x50530" identifier + number_literal) )))) ;) (do_statement "do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);" do (compound_statement "{\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = (byte)*pcVar6 < (byte)*pcVar8;" (assignment_expression "bVar10 = (byte)*pcVar6 < (byte)*pcVar8" identifier = (binary_expression "(byte)*pcVar6 < (byte)*pcVar8" (binary_expression "(byte)*pcVar6" (parenthesized_expression "(byte)" ( identifier )) * identifier) < (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar12 = *pcVar6 == *pcVar8;" (assignment_expression "bVar12 = *pcVar6 == *pcVar8" identifier = (binary_expression "*pcVar6 == *pcVar8" (pointer_expression "*pcVar6" * identifier) == (pointer_expression "*pcVar8" * identifier))) ;) (expression_statement "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar6 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar6 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;" if (parenthesized_expression "((!bVar10 && !bVar12) != bVar10)" ( (binary_expression "(!bVar10 && !bVar12) != bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_000c2cd0;" goto statement_identifier ;)) (labeled_statement "LAB_000c2d05:\n    pcVar2[1] = 't';" statement_identifier : (expression_statement "pcVar2[1] = 't';" (assignment_expression "pcVar2[1] = 't'" (subscript_expression "pcVar2[1]" identifier [ number_literal ]) = (char_literal "'t'" ' character ')) ;)) (expression_statement "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0;" (assignment_expression "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0" (pointer_expression "*(undefined1 *)(*(int *)piVar5[1] + 2)" * (cast_expression "(undefined1 *)(*(int *)piVar5[1] + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)piVar5[1] + 2)" ( (binary_expression "*(int *)piVar5[1] + 2" (pointer_expression "*(int *)piVar5[1]" * (cast_expression "(int *)piVar5[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) }) while (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_000c2d20:\n  uVar7 = 2;" statement_identifier : (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" identifier = number_literal) ;)) (expression_statement "reset_internal_getopt();" (call_expression "reset_internal_getopt()" identifier (argument_list "()" ( ))) ;) (while_statement "while (iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1) {\n    if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }\n  }" while (parenthesized_expression "(iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1)" ( (comma_expression "iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1" (assignment_expression "iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8)" identifier = (call_expression "internal_getopt(param_1,unaff_EBP + 0x62df8)" identifier (argument_list "(param_1,unaff_EBP + 0x62df8)" ( identifier , (binary_expression "unaff_EBP + 0x62df8" identifier + number_literal) )))) , (binary_expression "iVar4 != -1" identifier != number_literal)) )) (compound_statement "{\n    if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }\n  }" { (if_statement "if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" if (parenthesized_expression "(iVar4 == 0x61)" ( (binary_expression "iVar4 == 0x61" identifier == number_literal) )) (compound_statement "{\n      uVar7 = uVar7 | 1;\n    }" { (expression_statement "uVar7 = uVar7 | 1;" (assignment_expression "uVar7 = uVar7 | 1" identifier = (binary_expression "uVar7 | 1" identifier | number_literal)) ;) }) (else_clause "else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" else (if_statement "if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" if (parenthesized_expression "(iVar4 < 0x62)" ( (binary_expression "iVar4 < 0x62" identifier < number_literal) )) (compound_statement "{\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }" { (if_statement "if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }" if (parenthesized_expression "(iVar4 == -99)" ( (binary_expression "iVar4 == -99" identifier == number_literal) )) (compound_statement "{\n        builtin_help();\n        return 0x102;\n      }" { (expression_statement "builtin_help();" (call_expression "builtin_help()" identifier (argument_list "()" ( ))) ;) (return_statement "return 0x102;" return number_literal ;) })) (if_statement "if (iVar4 != 0x50) goto LAB_000c2d77;" if (parenthesized_expression "(iVar4 != 0x50)" ( (binary_expression "iVar4 != 0x50" identifier != number_literal) )) (goto_statement "goto LAB_000c2d77;" goto statement_identifier ;)) (expression_statement "uVar7 = uVar7 & 0xfffffff5 | 0x30;" (assignment_expression "uVar7 = uVar7 & 0xfffffff5 | 0x30" identifier = (binary_expression "uVar7 & 0xfffffff5 | 0x30" (binary_expression "uVar7 & 0xfffffff5" identifier & number_literal) | number_literal)) ;) }) (else_clause "else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" else (if_statement "if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" if (parenthesized_expression "(iVar4 == 0x70)" ( (binary_expression "iVar4 == 0x70" identifier == number_literal) )) (compound_statement "{\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }" { (expression_statement "uVar7 = uVar7 & 0xfffffff5 | 0x10;" (assignment_expression "uVar7 = uVar7 & 0xfffffff5 | 0x10" identifier = (binary_expression "uVar7 & 0xfffffff5 | 0x10" (binary_expression "uVar7 & 0xfffffff5" identifier & number_literal) | number_literal)) ;) }) (else_clause "else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" else (if_statement "if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" if (parenthesized_expression "(iVar4 == 0x74)" ( (binary_expression "iVar4 == 0x74" identifier == number_literal) )) (compound_statement "{\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }" { (expression_statement "uVar7 = uVar7 & 0xffffffed | 8;" (assignment_expression "uVar7 = uVar7 & 0xffffffed | 8" identifier = (binary_expression "uVar7 & 0xffffffed | 8" (binary_expression "uVar7 & 0xffffffed" identifier & number_literal) | number_literal)) ;) }) (else_clause "else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" else (compound_statement "{\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" { (if_statement "if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }" if (parenthesized_expression "(iVar4 != 0x66)" ( (binary_expression "iVar4 != 0x66" identifier != number_literal) )) (compound_statement "{\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }" { (labeled_statement "LAB_000c2d77:\n        builtin_usage();" statement_identifier : (expression_statement "builtin_usage();" (call_expression "builtin_usage()" identifier (argument_list "()" ( ))) ;)) (return_statement "return 0x102;" return number_literal ;) })) (expression_statement "uVar7 = uVar7 | 0x40;" (assignment_expression "uVar7 = uVar7 | 0x40" identifier = (binary_expression "uVar7 | 0x40" identifier | number_literal)) ;) }))))))))) })) (expression_statement "piVar5 = *(int **)(unaff_EBP + 0xbcc4e);" (assignment_expression "piVar5 = *(int **)(unaff_EBP + 0xbcc4e)" identifier = (pointer_expression "*(int **)(unaff_EBP + 0xbcc4e)" * (cast_expression "(int **)(unaff_EBP + 0xbcc4e)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + 0xbcc4e)" ( (binary_expression "unaff_EBP + 0xbcc4e" identifier + number_literal) ))))) ;) (if_statement "if (piVar5 == (int *)0x0) {\n    bVar10 = false;\n  }\n  else {\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }" if (parenthesized_expression "(piVar5 == (int *)0x0)" ( (binary_expression "piVar5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    bVar10 = false;\n  }" { (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) }) (else_clause "else {\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }" else (compound_statement "{\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }" { (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (do_statement "do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);" do (compound_statement "{\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    }" { (while_statement "while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }" while (parenthesized_expression "(iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0)" ( (comma_expression "iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0" (assignment_expression "iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7)" identifier = (call_expression "describe_command(*(undefined4 *)piVar5[1],uVar7)" identifier (argument_list "(*(undefined4 *)piVar5[1],uVar7)" ( (pointer_expression "*(undefined4 *)piVar5[1]" * (cast_expression "(undefined4 *)piVar5[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) , identifier )))) , (binary_expression "(uVar7 & 0x18) == 0 && iVar4 == 0" (binary_expression "(uVar7 & 0x18) == 0" (parenthesized_expression "(uVar7 & 0x18)" ( (binary_expression "uVar7 & 0x18" identifier & number_literal) )) == number_literal) && (binary_expression "iVar4 == 0" identifier == number_literal))) )) (compound_statement "{\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }" { (expression_statement "sh_notfound(*(undefined4 *)piVar5[1]);" (call_expression "sh_notfound(*(undefined4 *)piVar5[1])" identifier (argument_list "(*(undefined4 *)piVar5[1])" ( (pointer_expression "*(undefined4 *)piVar5[1]" * (cast_expression "(undefined4 *)piVar5[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) ))) ;) (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (expression_statement "local_24 = local_24 + 1;" (assignment_expression "local_24 = local_24 + 1" identifier = (binary_expression "local_24 + 1" identifier + number_literal)) ;) (if_statement "if (piVar5 == (int *)0x0) goto LAB_000c2eeb;" if (parenthesized_expression "(piVar5 == (int *)0x0)" ( (binary_expression "piVar5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c2eeb;" goto statement_identifier ;)) })) (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (expression_statement "local_24 = local_24 + (uint)(iVar4 == 0);" (assignment_expression "local_24 = local_24 + (uint)(iVar4 == 0)" identifier = (binary_expression "local_24 + (uint)(iVar4 == 0)" identifier + (call_expression "(uint)(iVar4 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) ))))) ;) }) while (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_000c2eeb:\n    bVar10 = local_24 != 0;" statement_identifier : (expression_statement "bVar10 = local_24 != 0;" (assignment_expression "bVar10 = local_24 != 0" identifier = (binary_expression "local_24 != 0" identifier != number_literal)) ;)) }))) (expression_statement "uVar3 = sh_chkwrite(bVar10);" (assignment_expression "uVar3 = sh_chkwrite(bVar10)" identifier = (call_expression "sh_chkwrite(bVar10)" identifier (argument_list "(bVar10)" ( identifier )))) ;) (return_statement "return uVar3;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) < (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) < (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) < (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) )))) = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) < (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) )))) = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) < (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }))))))))) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) , IDENT )))) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (binary_expression IDENT == LIT))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4 type_builtin(int *param_1)\n\n{\n  byte bVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int unaff_EBP;\n  code *pcVar6;\n  uint uVar7;\n  code *pcVar8;\n  code *pcVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  int local_24;\n  \n  bVar13 = 0;\n  FUN_00041277();\n  if (param_1 == (int *)0x0) {\n    return 0;\n  }\n  piVar5 = param_1;\n  do {\n    while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }\n    iVar4 = 5;\n    pcVar8 = (code *)(unaff_EBP + 0x50530);\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);\n    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n    piVar5 = (int *)*piVar5;\n  } while (piVar5 != (int *)0x0);\nLAB_000c2d20:\n  uVar7 = 2;\n  reset_internal_getopt();\n  while (iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1) {\n    if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }\n  }\n  piVar5 = *(int **)(unaff_EBP + 0xbcc4e);\n  if (piVar5 == (int *)0x0) {\n    bVar10 = false;\n  }\n  else {\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }\n  uVar3 = sh_chkwrite(bVar10);\n  return uVar3;\n}" (type_identifier "undefined4") (function_declarator "type_builtin(int *param_1)" (identifier "type_builtin") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int unaff_EBP;\n  code *pcVar6;\n  uint uVar7;\n  code *pcVar8;\n  code *pcVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  int local_24;\n  \n  bVar13 = 0;\n  FUN_00041277();\n  if (param_1 == (int *)0x0) {\n    return 0;\n  }\n  piVar5 = param_1;\n  do {\n    while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }\n    iVar4 = 5;\n    pcVar8 = (code *)(unaff_EBP + 0x50530);\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);\n    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n    piVar5 = (int *)*piVar5;\n  } while (piVar5 != (int *)0x0);\nLAB_000c2d20:\n  uVar7 = 2;\n  reset_internal_getopt();\n  while (iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1) {\n    if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }\n  }\n  piVar5 = *(int **)(unaff_EBP + 0xbcc4e);\n  if (piVar5 == (int *)0x0) {\n    bVar10 = false;\n  }\n  else {\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }\n  uVar3 = sh_chkwrite(bVar10);\n  return uVar3;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int unaff_EBP;" (primitive_type "int") (identifier "unaff_EBP") (; ";")) (declaration "code *pcVar6;" (type_identifier "code") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "code *pcVar8;" (type_identifier "code") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (declaration "code *pcVar9;" (type_identifier "code") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "bool bVar10;" (primitive_type "bool") (identifier "bVar10") (; ";")) (declaration "bool bVar11;" (primitive_type "bool") (identifier "bVar11") (; ";")) (declaration "bool bVar12;" (primitive_type "bool") (identifier "bVar12") (; ";")) (declaration "byte bVar13;" (type_identifier "byte") (identifier "bVar13") (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" (identifier "bVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00041277();" (call_expression "FUN_00041277()" (identifier "FUN_00041277") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (param_1 == (int *)0x0) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(param_1 == (int *)0x0)" (( "(") (binary_expression "param_1 == (int *)0x0" (identifier "param_1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "piVar5 = param_1;" (assignment_expression "piVar5 = param_1" (identifier "piVar5") (= "=") (identifier "param_1")) (; ";")) (do_statement "do {\n    while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }\n    iVar4 = 5;\n    pcVar8 = (code *)(unaff_EBP + 0x50530);\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);\n    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n    piVar5 = (int *)*piVar5;\n  } while (piVar5 != (int *)0x0);" (do "do") (compound_statement "{\n    while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }\n    iVar4 = 5;\n    pcVar8 = (code *)(unaff_EBP + 0x50530);\n    do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);\n    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;\nLAB_000c2d05:\n    pcVar2[1] = 't';\n    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n    piVar5 = (int *)*piVar5;\n  }" ({ "{") (while_statement "while( true ) {\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      pcVar2 = *(char **)piVar5[1];\n      if (*pcVar2 != '-') goto LAB_000c2d20;\n      bVar1 = pcVar2[1];\n      pcVar6 = (code *)(pcVar2 + 1);\n      bVar10 = bVar1 < 0x74;\n      bVar12 = bVar1 == 0x74;\n      if (bVar12) break;\n      bVar10 = bVar1 < 0x2d;\n      bVar12 = bVar1 == 0x2d;\n      if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }\nLAB_000c2cd0:\n      piVar5 = (int *)*piVar5;\n      if (piVar5 == (int *)0x0) goto LAB_000c2d20;\n    }" ({ "{") (expression_statement "pcVar2 = *(char **)piVar5[1];" (assignment_expression "pcVar2 = *(char **)piVar5[1]" (identifier "pcVar2") (= "=") (pointer_expression "*(char **)piVar5[1]" (* "*") (cast_expression "(char **)piVar5[1]" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (if_statement "if (*pcVar2 != '-') goto LAB_000c2d20;" (if "if") (parenthesized_expression "(*pcVar2 != '-')" (( "(") (binary_expression "*pcVar2 != '-'" (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) (!= "!=") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (goto_statement "goto LAB_000c2d20;" (goto "goto") (statement_identifier "LAB_000c2d20") (; ";"))) (expression_statement "bVar1 = pcVar2[1];" (assignment_expression "bVar1 = pcVar2[1]" (identifier "bVar1") (= "=") (subscript_expression "pcVar2[1]" (identifier "pcVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pcVar6 = (code *)(pcVar2 + 1);" (assignment_expression "pcVar6 = (code *)(pcVar2 + 1)" (identifier "pcVar6") (= "=") (cast_expression "(code *)(pcVar2 + 1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar2 + 1)" (( "(") (binary_expression "pcVar2 + 1" (identifier "pcVar2") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "bVar10 = bVar1 < 0x74;" (assignment_expression "bVar10 = bVar1 < 0x74" (identifier "bVar10") (= "=") (binary_expression "bVar1 < 0x74" (identifier "bVar1") (< "<") (number_literal "0x74"))) (; ";")) (expression_statement "bVar12 = bVar1 == 0x74;" (assignment_expression "bVar12 = bVar1 == 0x74" (identifier "bVar12") (= "=") (binary_expression "bVar1 == 0x74" (identifier "bVar1") (== "==") (number_literal "0x74"))) (; ";")) (if_statement "if (bVar12) break;" (if "if") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "bVar10 = bVar1 < 0x2d;" (assignment_expression "bVar10 = bVar1 < 0x2d" (identifier "bVar10") (= "=") (binary_expression "bVar1 < 0x2d" (identifier "bVar1") (< "<") (number_literal "0x2d"))) (; ";")) (expression_statement "bVar12 = bVar1 == 0x2d;" (assignment_expression "bVar12 = bVar1 == 0x2d" (identifier "bVar12") (= "=") (binary_expression "bVar1 == 0x2d" (identifier "bVar1") (== "==") (number_literal "0x2d"))) (; ";")) (if_statement "if (bVar12) {\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }\n      else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (compound_statement "{\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62de7);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);\n        bVar11 = false;\n        bVar10 = (!bVar10 && !bVar12) == bVar10;\n        if (bVar10) goto LAB_000c2d05;\n        iVar4 = 6;\n        pcVar8 = pcVar6;\n        pcVar9 = (code *)(unaff_EBP + 0x62ded);\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) goto LAB_000c2dfb;\n        iVar4 = 5;\n        pcVar8 = err_readonly + unaff_EBP + 3;\nLAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);\n        if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }\n      }" ({ "{") (expression_statement "iVar4 = 6;" (assignment_expression "iVar4 = 6" (identifier "iVar4") (= "=") (number_literal "6")) (; ";")) (expression_statement "pcVar8 = pcVar6;" (assignment_expression "pcVar8 = pcVar6" (identifier "pcVar8") (= "=") (identifier "pcVar6")) (; ";")) (expression_statement "pcVar9 = (code *)(unaff_EBP + 0x62de7);" (assignment_expression "pcVar9 = (code *)(unaff_EBP + 0x62de7)" (identifier "pcVar9") (= "=") (cast_expression "(code *)(unaff_EBP + 0x62de7)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x62de7)" (( "(") (binary_expression "unaff_EBP + 0x62de7" (identifier "unaff_EBP") (+ "+") (number_literal "0x62de7")) () ")")))) (; ";")) (do_statement "do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar12);" (do "do") (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar12 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = (byte)*pcVar8 < (byte)*pcVar9;" (assignment_expression "bVar10 = (byte)*pcVar8 < (byte)*pcVar9" (identifier "bVar10") (= "=") (binary_expression "(byte)*pcVar8 < (byte)*pcVar9" (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar8")) (< "<") (binary_expression "(byte)*pcVar9" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar9")))) (; ";")) (expression_statement "bVar12 = *pcVar8 == *pcVar9;" (assignment_expression "bVar12 = *pcVar8 == *pcVar9" (identifier "bVar12") (= "=") (binary_expression "*pcVar8 == *pcVar9" (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) (== "==") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")))) (; ";")) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" (identifier "pcVar8") (= "=") (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" (identifier "pcVar8") (+ "+") (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1" (identifier "pcVar9") (= "=") (binary_expression "pcVar9 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar9 + (uint)bVar13 * -2" (identifier "pcVar9") (+ "+") (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar10 && !bVar12) == bVar10;" (assignment_expression "bVar10 = (!bVar10 && !bVar12) == bVar10" (identifier "bVar10") (= "=") (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" (( "(") (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar12" (! "!") (identifier "bVar12"))) () ")")) (== "==") (identifier "bVar10"))) (; ";")) (if_statement "if (bVar10) goto LAB_000c2d05;" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (goto_statement "goto LAB_000c2d05;" (goto "goto") (statement_identifier "LAB_000c2d05") (; ";"))) (expression_statement "iVar4 = 6;" (assignment_expression "iVar4 = 6" (identifier "iVar4") (= "=") (number_literal "6")) (; ";")) (expression_statement "pcVar8 = pcVar6;" (assignment_expression "pcVar8 = pcVar6" (identifier "pcVar8") (= "=") (identifier "pcVar6")) (; ";")) (expression_statement "pcVar9 = (code *)(unaff_EBP + 0x62ded);" (assignment_expression "pcVar9 = (code *)(unaff_EBP + 0x62ded)" (identifier "pcVar9") (= "=") (cast_expression "(code *)(unaff_EBP + 0x62ded)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x62ded)" (( "(") (binary_expression "unaff_EBP + 0x62ded" (identifier "unaff_EBP") (+ "+") (number_literal "0x62ded")) () ")")))) (; ";")) (do_statement "do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);" (do "do") (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;\n          bVar10 = *pcVar8 == *pcVar9;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = (byte)*pcVar8 < (byte)*pcVar9;" (assignment_expression "bVar11 = (byte)*pcVar8 < (byte)*pcVar9" (identifier "bVar11") (= "=") (binary_expression "(byte)*pcVar8 < (byte)*pcVar9" (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar8")) (< "<") (binary_expression "(byte)*pcVar9" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar9")))) (; ";")) (expression_statement "bVar10 = *pcVar8 == *pcVar9;" (assignment_expression "bVar10 = *pcVar8 == *pcVar9" (identifier "bVar10") (= "=") (binary_expression "*pcVar8 == *pcVar9" (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) (== "==") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")))) (; ";")) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" (identifier "pcVar8") (= "=") (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" (identifier "pcVar8") (+ "+") (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1" (identifier "pcVar9") (= "=") (binary_expression "pcVar9 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar9 + (uint)bVar13 * -2" (identifier "pcVar9") (+ "+") (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" (identifier "bVar10") (= "=") (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" (( "(") (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar11"))) (; ";")) (if_statement "if (bVar10) goto LAB_000c2dfb;" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (goto_statement "goto LAB_000c2dfb;" (goto "goto") (statement_identifier "LAB_000c2dfb") (; ";"))) (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" (identifier "iVar4") (= "=") (number_literal "5")) (; ";")) (expression_statement "pcVar8 = err_readonly + unaff_EBP + 3;" (assignment_expression "pcVar8 = err_readonly + unaff_EBP + 3" (identifier "pcVar8") (= "=") (binary_expression "err_readonly + unaff_EBP + 3" (binary_expression "err_readonly + unaff_EBP" (identifier "err_readonly") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "3"))) (; ";")) (labeled_statement "LAB_000c2cb2:\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);" (statement_identifier "LAB_000c2cb2") (: ":") (do_statement "do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        } while (bVar10);" (do "do") (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;\n          bVar10 = *pcVar6 == *pcVar8;\n          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar12 = (byte)*pcVar6 < (byte)*pcVar8;" (assignment_expression "bVar12 = (byte)*pcVar6 < (byte)*pcVar8" (identifier "bVar12") (= "=") (binary_expression "(byte)*pcVar6 < (byte)*pcVar8" (binary_expression "(byte)*pcVar6" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar6")) (< "<") (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar8")))) (; ";")) (expression_statement "bVar10 = *pcVar6 == *pcVar8;" (assignment_expression "bVar10 = *pcVar6 == *pcVar8" (identifier "bVar10") (= "=") (binary_expression "*pcVar6 == *pcVar8" (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6")) (== "==") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")))) (; ";")) (expression_statement "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1" (identifier "pcVar6") (= "=") (binary_expression "pcVar6 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar6 + (uint)bVar13 * -2" (identifier "pcVar6") (+ "+") (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" (identifier "pcVar8") (= "=") (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" (identifier "pcVar8") (+ "+") (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";"))) (if_statement "if ((!bVar12 && !bVar10) == bVar12) {\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }" (if "if") (parenthesized_expression "((!bVar12 && !bVar10) == bVar12)" (( "(") (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" (( "(") (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar12")) () ")")) (compound_statement "{\n          pcVar2[1] = 'a';\n          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n        }" ({ "{") (expression_statement "pcVar2[1] = 'a';" (assignment_expression "pcVar2[1] = 'a'" (subscript_expression "pcVar2[1]" (identifier "pcVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (char_literal "'a'" (' "'") (character "a") (' "'"))) (; ";")) (expression_statement "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0;" (assignment_expression "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0" (pointer_expression "*(undefined1 *)(*(int *)piVar5[1] + 2)" (* "*") (cast_expression "(undefined1 *)(*(int *)piVar5[1] + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)piVar5[1] + 2)" (( "(") (binary_expression "*(int *)piVar5[1] + 2" (pointer_expression "*(int *)piVar5[1]" (* "*") (cast_expression "(int *)piVar5[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")))) (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }" (else "else") (compound_statement "{\n        bVar10 = bVar1 < 0x70;\n        bVar12 = bVar1 == 0x70;\n        if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }\n      }" ({ "{") (expression_statement "bVar10 = bVar1 < 0x70;" (assignment_expression "bVar10 = bVar1 < 0x70" (identifier "bVar10") (= "=") (binary_expression "bVar1 < 0x70" (identifier "bVar1") (< "<") (number_literal "0x70"))) (; ";")) (expression_statement "bVar12 = bVar1 == 0x70;" (assignment_expression "bVar12 = bVar1 == 0x70" (identifier "bVar12") (= "=") (binary_expression "bVar1 == 0x70" (identifier "bVar1") (== "==") (number_literal "0x70"))) (; ";")) (if_statement "if (bVar12) {\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }\n        else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }" (if "if") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (compound_statement "{\n          iVar4 = 5;\n          pcVar8 = (code *)(unaff_EBP + 0x62dee);\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);\n          if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }\n        }" ({ "{") (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" (identifier "iVar4") (= "=") (number_literal "5")) (; ";")) (expression_statement "pcVar8 = (code *)(unaff_EBP + 0x62dee);" (assignment_expression "pcVar8 = (code *)(unaff_EBP + 0x62dee)" (identifier "pcVar8") (= "=") (cast_expression "(code *)(unaff_EBP + 0x62dee)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x62dee)" (( "(") (binary_expression "unaff_EBP + 0x62dee" (identifier "unaff_EBP") (+ "+") (number_literal "0x62dee")) () ")")))) (; ";")) (do_statement "do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          } while (bVar12);" (do "do") (compound_statement "{\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n            bVar12 = *pcVar6 == *pcVar8;\n            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = (byte)*pcVar6 < (byte)*pcVar8;" (assignment_expression "bVar10 = (byte)*pcVar6 < (byte)*pcVar8" (identifier "bVar10") (= "=") (binary_expression "(byte)*pcVar6 < (byte)*pcVar8" (binary_expression "(byte)*pcVar6" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar6")) (< "<") (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar8")))) (; ";")) (expression_statement "bVar12 = *pcVar6 == *pcVar8;" (assignment_expression "bVar12 = *pcVar6 == *pcVar8" (identifier "bVar12") (= "=") (binary_expression "*pcVar6 == *pcVar8" (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6")) (== "==") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")))) (; ";")) (expression_statement "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1" (identifier "pcVar6") (= "=") (binary_expression "pcVar6 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar6 + (uint)bVar13 * -2" (identifier "pcVar6") (+ "+") (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" (identifier "pcVar8") (= "=") (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" (identifier "pcVar8") (+ "+") (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (; ";")) (if_statement "if ((!bVar10 && !bVar12) == bVar10) {\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }" (if "if") (parenthesized_expression "((!bVar10 && !bVar12) == bVar10)" (( "(") (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" (( "(") (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar12" (! "!") (identifier "bVar12"))) () ")")) (== "==") (identifier "bVar10")) () ")")) (compound_statement "{\nLAB_000c2dfb:\n            pcVar2[1] = 'p';\n            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;\n          }" ({ "{") (labeled_statement "LAB_000c2dfb:\n            pcVar2[1] = 'p';" (statement_identifier "LAB_000c2dfb") (: ":") (expression_statement "pcVar2[1] = 'p';" (assignment_expression "pcVar2[1] = 'p'" (subscript_expression "pcVar2[1]" (identifier "pcVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (char_literal "'p'" (' "'") (character "p") (' "'"))) (; ";"))) (expression_statement "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0;" (assignment_expression "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0" (pointer_expression "*(undefined1 *)(*(int *)piVar5[1] + 2)" (* "*") (cast_expression "(undefined1 *)(*(int *)piVar5[1] + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)piVar5[1] + 2)" (( "(") (binary_expression "*(int *)piVar5[1] + 2" (pointer_expression "*(int *)piVar5[1]" (* "*") (cast_expression "(int *)piVar5[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")))) (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }" (else "else") (compound_statement "{\n          bVar12 = bVar1 < 0x61;\n          bVar10 = bVar1 == 0x61;\n          if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }\n        }" ({ "{") (expression_statement "bVar12 = bVar1 < 0x61;" (assignment_expression "bVar12 = bVar1 < 0x61" (identifier "bVar12") (= "=") (binary_expression "bVar1 < 0x61" (identifier "bVar1") (< "<") (number_literal "0x61"))) (; ";")) (expression_statement "bVar10 = bVar1 == 0x61;" (assignment_expression "bVar10 = bVar1 == 0x61" (identifier "bVar10") (= "=") (binary_expression "bVar1 == 0x61" (identifier "bVar1") (== "==") (number_literal "0x61"))) (; ";")) (if_statement "if (bVar10) {\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (compound_statement "{\n            iVar4 = 4;\n            pcVar8 = (code *)(unaff_EBP + 0x62df4);\n            goto LAB_000c2cb2;\n          }" ({ "{") (expression_statement "iVar4 = 4;" (assignment_expression "iVar4 = 4" (identifier "iVar4") (= "=") (number_literal "4")) (; ";")) (expression_statement "pcVar8 = (code *)(unaff_EBP + 0x62df4);" (assignment_expression "pcVar8 = (code *)(unaff_EBP + 0x62df4)" (identifier "pcVar8") (= "=") (cast_expression "(code *)(unaff_EBP + 0x62df4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x62df4)" (( "(") (binary_expression "unaff_EBP + 0x62df4" (identifier "unaff_EBP") (+ "+") (number_literal "0x62df4")) () ")")))) (; ";")) (goto_statement "goto LAB_000c2cb2;" (goto "goto") (statement_identifier "LAB_000c2cb2") (; ";")) (} "}"))) (} "}")))) (} "}")))) (labeled_statement "LAB_000c2cd0:\n      piVar5 = (int *)*piVar5;" (statement_identifier "LAB_000c2cd0") (: ":") (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" (identifier "piVar5") (= "=") (cast_expression "(int *)*piVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")))) (; ";"))) (if_statement "if (piVar5 == (int *)0x0) goto LAB_000c2d20;" (if "if") (parenthesized_expression "(piVar5 == (int *)0x0)" (( "(") (binary_expression "piVar5 == (int *)0x0" (identifier "piVar5") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c2d20;" (goto "goto") (statement_identifier "LAB_000c2d20") (; ";"))) (} "}"))) (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" (identifier "iVar4") (= "=") (number_literal "5")) (; ";")) (expression_statement "pcVar8 = (code *)(unaff_EBP + 0x50530);" (assignment_expression "pcVar8 = (code *)(unaff_EBP + 0x50530)" (identifier "pcVar8") (= "=") (cast_expression "(code *)(unaff_EBP + 0x50530)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x50530)" (( "(") (binary_expression "unaff_EBP + 0x50530" (identifier "unaff_EBP") (+ "+") (number_literal "0x50530")) () ")")))) (; ";")) (do_statement "do {\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    } while (bVar12);" (do "do") (compound_statement "{\n      if (iVar4 == 0) break;\n      iVar4 = iVar4 + -1;\n      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;\n      bVar12 = *pcVar6 == *pcVar8;\n      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = (byte)*pcVar6 < (byte)*pcVar8;" (assignment_expression "bVar10 = (byte)*pcVar6 < (byte)*pcVar8" (identifier "bVar10") (= "=") (binary_expression "(byte)*pcVar6 < (byte)*pcVar8" (binary_expression "(byte)*pcVar6" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar6")) (< "<") (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar8")))) (; ";")) (expression_statement "bVar12 = *pcVar6 == *pcVar8;" (assignment_expression "bVar12 = *pcVar6 == *pcVar8" (identifier "bVar12") (= "=") (binary_expression "*pcVar6 == *pcVar8" (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6")) (== "==") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")))) (; ";")) (expression_statement "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1" (identifier "pcVar6") (= "=") (binary_expression "pcVar6 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar6 + (uint)bVar13 * -2" (identifier "pcVar6") (+ "+") (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1" (identifier "pcVar8") (= "=") (binary_expression "pcVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pcVar8 + (uint)bVar13 * -2" (identifier "pcVar8") (+ "+") (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (; ";")) (if_statement "if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;" (if "if") (parenthesized_expression "((!bVar10 && !bVar12) != bVar10)" (( "(") (binary_expression "(!bVar10 && !bVar12) != bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" (( "(") (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar12" (! "!") (identifier "bVar12"))) () ")")) (!= "!=") (identifier "bVar10")) () ")")) (goto_statement "goto LAB_000c2cd0;" (goto "goto") (statement_identifier "LAB_000c2cd0") (; ";"))) (labeled_statement "LAB_000c2d05:\n    pcVar2[1] = 't';" (statement_identifier "LAB_000c2d05") (: ":") (expression_statement "pcVar2[1] = 't';" (assignment_expression "pcVar2[1] = 't'" (subscript_expression "pcVar2[1]" (identifier "pcVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (char_literal "'t'" (' "'") (character "t") (' "'"))) (; ";"))) (expression_statement "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0;" (assignment_expression "*(undefined1 *)(*(int *)piVar5[1] + 2) = 0" (pointer_expression "*(undefined1 *)(*(int *)piVar5[1] + 2)" (* "*") (cast_expression "(undefined1 *)(*(int *)piVar5[1] + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)piVar5[1] + 2)" (( "(") (binary_expression "*(int *)piVar5[1] + 2" (pointer_expression "*(int *)piVar5[1]" (* "*") (cast_expression "(int *)piVar5[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")))) (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" (identifier "piVar5") (= "=") (cast_expression "(int *)*piVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (labeled_statement "LAB_000c2d20:\n  uVar7 = 2;" (statement_identifier "LAB_000c2d20") (: ":") (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" (identifier "uVar7") (= "=") (number_literal "2")) (; ";"))) (expression_statement "reset_internal_getopt();" (call_expression "reset_internal_getopt()" (identifier "reset_internal_getopt") (argument_list "()" (( "(") () ")"))) (; ";")) (while_statement "while (iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1) {\n    if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }\n  }" (while "while") (parenthesized_expression "(iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1)" (( "(") (comma_expression "iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1" (assignment_expression "iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8)" (identifier "iVar4") (= "=") (call_expression "internal_getopt(param_1,unaff_EBP + 0x62df8)" (identifier "internal_getopt") (argument_list "(param_1,unaff_EBP + 0x62df8)" (( "(") (identifier "param_1") (, ",") (binary_expression "unaff_EBP + 0x62df8" (identifier "unaff_EBP") (+ "+") (number_literal "0x62df8")) () ")")))) (, ",") (binary_expression "iVar4 != -1" (identifier "iVar4") (!= "!=") (number_literal "-1"))) () ")")) (compound_statement "{\n    if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }\n  }" ({ "{") (if_statement "if (iVar4 == 0x61) {\n      uVar7 = uVar7 | 1;\n    }\n    else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" (if "if") (parenthesized_expression "(iVar4 == 0x61)" (( "(") (binary_expression "iVar4 == 0x61" (identifier "iVar4") (== "==") (number_literal "0x61")) () ")")) (compound_statement "{\n      uVar7 = uVar7 | 1;\n    }" ({ "{") (expression_statement "uVar7 = uVar7 | 1;" (assignment_expression "uVar7 = uVar7 | 1" (identifier "uVar7") (= "=") (binary_expression "uVar7 | 1" (identifier "uVar7") (| "|") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" (else "else") (if_statement "if (iVar4 < 0x62) {\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }\n    else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" (if "if") (parenthesized_expression "(iVar4 < 0x62)" (( "(") (binary_expression "iVar4 < 0x62" (identifier "iVar4") (< "<") (number_literal "0x62")) () ")")) (compound_statement "{\n      if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }\n      if (iVar4 != 0x50) goto LAB_000c2d77;\n      uVar7 = uVar7 & 0xfffffff5 | 0x30;\n    }" ({ "{") (if_statement "if (iVar4 == -99) {\n        builtin_help();\n        return 0x102;\n      }" (if "if") (parenthesized_expression "(iVar4 == -99)" (( "(") (binary_expression "iVar4 == -99" (identifier "iVar4") (== "==") (number_literal "-99")) () ")")) (compound_statement "{\n        builtin_help();\n        return 0x102;\n      }" ({ "{") (expression_statement "builtin_help();" (call_expression "builtin_help()" (identifier "builtin_help") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return 0x102;" (return "return") (number_literal "0x102") (; ";")) (} "}"))) (if_statement "if (iVar4 != 0x50) goto LAB_000c2d77;" (if "if") (parenthesized_expression "(iVar4 != 0x50)" (( "(") (binary_expression "iVar4 != 0x50" (identifier "iVar4") (!= "!=") (number_literal "0x50")) () ")")) (goto_statement "goto LAB_000c2d77;" (goto "goto") (statement_identifier "LAB_000c2d77") (; ";"))) (expression_statement "uVar7 = uVar7 & 0xfffffff5 | 0x30;" (assignment_expression "uVar7 = uVar7 & 0xfffffff5 | 0x30" (identifier "uVar7") (= "=") (binary_expression "uVar7 & 0xfffffff5 | 0x30" (binary_expression "uVar7 & 0xfffffff5" (identifier "uVar7") (& "&") (number_literal "0xfffffff5")) (| "|") (number_literal "0x30"))) (; ";")) (} "}")) (else_clause "else if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" (else "else") (if_statement "if (iVar4 == 0x70) {\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }\n    else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" (if "if") (parenthesized_expression "(iVar4 == 0x70)" (( "(") (binary_expression "iVar4 == 0x70" (identifier "iVar4") (== "==") (number_literal "0x70")) () ")")) (compound_statement "{\n      uVar7 = uVar7 & 0xfffffff5 | 0x10;\n    }" ({ "{") (expression_statement "uVar7 = uVar7 & 0xfffffff5 | 0x10;" (assignment_expression "uVar7 = uVar7 & 0xfffffff5 | 0x10" (identifier "uVar7") (= "=") (binary_expression "uVar7 & 0xfffffff5 | 0x10" (binary_expression "uVar7 & 0xfffffff5" (identifier "uVar7") (& "&") (number_literal "0xfffffff5")) (| "|") (number_literal "0x10"))) (; ";")) (} "}")) (else_clause "else if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" (else "else") (if_statement "if (iVar4 == 0x74) {\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }\n    else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" (if "if") (parenthesized_expression "(iVar4 == 0x74)" (( "(") (binary_expression "iVar4 == 0x74" (identifier "iVar4") (== "==") (number_literal "0x74")) () ")")) (compound_statement "{\n      uVar7 = uVar7 & 0xffffffed | 8;\n    }" ({ "{") (expression_statement "uVar7 = uVar7 & 0xffffffed | 8;" (assignment_expression "uVar7 = uVar7 & 0xffffffed | 8" (identifier "uVar7") (= "=") (binary_expression "uVar7 & 0xffffffed | 8" (binary_expression "uVar7 & 0xffffffed" (identifier "uVar7") (& "&") (number_literal "0xffffffed")) (| "|") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" (else "else") (compound_statement "{\n      if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }\n      uVar7 = uVar7 | 0x40;\n    }" ({ "{") (if_statement "if (iVar4 != 0x66) {\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }" (if "if") (parenthesized_expression "(iVar4 != 0x66)" (( "(") (binary_expression "iVar4 != 0x66" (identifier "iVar4") (!= "!=") (number_literal "0x66")) () ")")) (compound_statement "{\nLAB_000c2d77:\n        builtin_usage();\n        return 0x102;\n      }" ({ "{") (labeled_statement "LAB_000c2d77:\n        builtin_usage();" (statement_identifier "LAB_000c2d77") (: ":") (expression_statement "builtin_usage();" (call_expression "builtin_usage()" (identifier "builtin_usage") (argument_list "()" (( "(") () ")"))) (; ";"))) (return_statement "return 0x102;" (return "return") (number_literal "0x102") (; ";")) (} "}"))) (expression_statement "uVar7 = uVar7 | 0x40;" (assignment_expression "uVar7 = uVar7 | 0x40" (identifier "uVar7") (= "=") (binary_expression "uVar7 | 0x40" (identifier "uVar7") (| "|") (number_literal "0x40"))) (; ";")) (} "}")))))))))) (} "}"))) (expression_statement "piVar5 = *(int **)(unaff_EBP + 0xbcc4e);" (assignment_expression "piVar5 = *(int **)(unaff_EBP + 0xbcc4e)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(unaff_EBP + 0xbcc4e)" (* "*") (cast_expression "(int **)(unaff_EBP + 0xbcc4e)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EBP + 0xbcc4e)" (( "(") (binary_expression "unaff_EBP + 0xbcc4e" (identifier "unaff_EBP") (+ "+") (number_literal "0xbcc4e")) () ")"))))) (; ";")) (if_statement "if (piVar5 == (int *)0x0) {\n    bVar10 = false;\n  }\n  else {\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }" (if "if") (parenthesized_expression "(piVar5 == (int *)0x0)" (( "(") (binary_expression "piVar5 == (int *)0x0" (identifier "piVar5") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    bVar10 = false;\n  }" ({ "{") (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else {\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }" (else "else") (compound_statement "{\n    local_24 = 0;\n    do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);\nLAB_000c2eeb:\n    bVar10 = local_24 != 0;\n  }" ({ "{") (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" (identifier "local_24") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    } while (piVar5 != (int *)0x0);" (do "do") (compound_statement "{\n      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }\n      piVar5 = (int *)*piVar5;\n      local_24 = local_24 + (uint)(iVar4 == 0);\n    }" ({ "{") (while_statement "while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0) {\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }" (while "while") (parenthesized_expression "(iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0)" (( "(") (comma_expression "iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),\n            (uVar7 & 0x18) == 0 && iVar4 == 0" (assignment_expression "iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7)" (identifier "iVar4") (= "=") (call_expression "describe_command(*(undefined4 *)piVar5[1],uVar7)" (identifier "describe_command") (argument_list "(*(undefined4 *)piVar5[1],uVar7)" (( "(") (pointer_expression "*(undefined4 *)piVar5[1]" (* "*") (cast_expression "(undefined4 *)piVar5[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")))) (, ",") (identifier "uVar7") () ")")))) (, ",") (binary_expression "(uVar7 & 0x18) == 0 && iVar4 == 0" (binary_expression "(uVar7 & 0x18) == 0" (parenthesized_expression "(uVar7 & 0x18)" (( "(") (binary_expression "uVar7 & 0x18" (identifier "uVar7") (& "&") (number_literal "0x18")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")))) () ")")) (compound_statement "{\n        sh_notfound(*(undefined4 *)piVar5[1]);\n        piVar5 = (int *)*piVar5;\n        local_24 = local_24 + 1;\n        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;\n      }" ({ "{") (expression_statement "sh_notfound(*(undefined4 *)piVar5[1]);" (call_expression "sh_notfound(*(undefined4 *)piVar5[1])" (identifier "sh_notfound") (argument_list "(*(undefined4 *)piVar5[1])" (( "(") (pointer_expression "*(undefined4 *)piVar5[1]" (* "*") (cast_expression "(undefined4 *)piVar5[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")))) () ")"))) (; ";")) (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" (identifier "piVar5") (= "=") (cast_expression "(int *)*piVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")))) (; ";")) (expression_statement "local_24 = local_24 + 1;" (assignment_expression "local_24 = local_24 + 1" (identifier "local_24") (= "=") (binary_expression "local_24 + 1" (identifier "local_24") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (piVar5 == (int *)0x0) goto LAB_000c2eeb;" (if "if") (parenthesized_expression "(piVar5 == (int *)0x0)" (( "(") (binary_expression "piVar5 == (int *)0x0" (identifier "piVar5") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c2eeb;" (goto "goto") (statement_identifier "LAB_000c2eeb") (; ";"))) (} "}"))) (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" (identifier "piVar5") (= "=") (cast_expression "(int *)*piVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")))) (; ";")) (expression_statement "local_24 = local_24 + (uint)(iVar4 == 0);" (assignment_expression "local_24 = local_24 + (uint)(iVar4 == 0)" (identifier "local_24") (= "=") (binary_expression "local_24 + (uint)(iVar4 == 0)" (identifier "local_24") (+ "+") (call_expression "(uint)(iVar4 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (labeled_statement "LAB_000c2eeb:\n    bVar10 = local_24 != 0;" (statement_identifier "LAB_000c2eeb") (: ":") (expression_statement "bVar10 = local_24 != 0;" (assignment_expression "bVar10 = local_24 != 0" (identifier "bVar10") (= "=") (binary_expression "local_24 != 0" (identifier "local_24") (!= "!=") (number_literal "0"))) (; ";"))) (} "}")))) (expression_statement "uVar3 = sh_chkwrite(bVar10);" (assignment_expression "uVar3 = sh_chkwrite(bVar10)" (identifier "uVar3") (= "=") (call_expression "sh_chkwrite(bVar10)" (identifier "sh_chkwrite") (argument_list "(bVar10)" (( "(") (identifier "bVar10") () ")")))) (; ";")) (return_statement "return uVar3;" (return "return") (identifier "uVar3") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */

int function_1(type_1 *var_1)

{
  type_2 var_3;
  char *var_2;
  int var_4;
  type_3 *var_11;
  type_2 *var_9;
  type_4 var_14;
  type_2 *var_5;
  type_2 *var_6;
  bool var_7;
  bool var_8;
  bool var_10;
  int var_20;
  
  if (var_1 == (type_1 *)0x0) {
    return 0;
  }
  var_11 = var_1;
  do {
    while( true ) {
      var_2 = var_11->word->word;
      if (*var_2 != '-') goto LAB_000c2d20;
      var_3 = var_2[1];
      var_9 = (type_2 *)(var_2 + 1);
      var_7 = var_3 < 0x74;
      var_10 = var_3 == 0x74;
      if (var_10) break;
      var_7 = var_3 < 0x2d;
      var_10 = var_3 == 0x2d;
      if (var_10) {
        var_4 = 6;
        var_5 = var_9;
        var_6 = (type_2 *)"-type";
        do {
          if (var_4 == 0) break;
          var_4 = var_4 + -1;
          var_7 = *var_5 < *var_6;
          var_10 = *var_5 == *var_6;
          var_5 = var_5 + 1;
          var_6 = var_6 + 1;
        } while (var_10);
        var_8 = false;
        var_7 = (!var_7 && !var_10) == var_7;
        if (var_7) goto LAB_000c2d05;
        var_4 = 6;
        var_5 = var_9;
        var_6 = (type_2 *)"-path";
        do {
          if (var_4 == 0) break;
          var_4 = var_4 + -1;
          var_8 = *var_5 < *var_6;
          var_7 = *var_5 == *var_6;
          var_5 = var_5 + 1;
          var_6 = var_6 + 1;
        } while (var_7);
        var_10 = false;
        var_7 = (!var_8 && !var_7) == var_8;
        if (var_7) goto LAB_000c2dfb;
        var_4 = 5;
        var_5 = &DAT_00125a49;
LAB_000c2cb2:
        do {
          if (var_4 == 0) break;
          var_4 = var_4 + -1;
          var_10 = *var_9 < *var_5;
          var_7 = *var_9 == *var_5;
          var_9 = var_9 + 1;
          var_5 = var_5 + 1;
        } while (var_7);
        if ((!var_10 && !var_7) == var_10) {
          var_2[1] = 'a';
          var_11->word->word[2] = '\0';
        }
      }
      else {
        var_7 = var_3 < 0x70;
        var_10 = var_3 == 0x70;
        if (var_10) {
          var_4 = 5;
          var_5 = (type_2 *)"-path";
          do {
            var_5 = var_5 + 1;
            if (var_4 == 0) break;
            var_4 = var_4 + -1;
            var_7 = *var_9 < *var_5;
            var_10 = *var_9 == *var_5;
            var_9 = var_9 + 1;
          } while (var_10);
          if ((!var_7 && !var_10) == var_7) {
LAB_000c2dfb:
            var_2[1] = 'p';
            var_11->word->word[2] = '\0';
          }
        }
        else {
          var_10 = var_3 < 0x61;
          var_7 = var_3 == 0x61;
          if (var_7) {
            var_4 = 4;
            var_5 = &DAT_00125a4a;
            goto LAB_000c2cb2;
          }
        }
      }
LAB_000c2cd0:
      var_11 = var_11->next;
      if (var_11 == (type_3 *)0x0) goto LAB_000c2d20;
    }
    var_4 = 5;
    var_5 = (type_2 *)0x113186;
    do {
      if (var_4 == 0) break;
      var_4 = var_4 + -1;
      var_7 = *var_9 < *var_5;
      var_10 = *var_9 == *var_5;
      var_9 = var_9 + 1;
      var_5 = var_5 + 1;
    } while (var_10);
    if ((!var_7 && !var_10) != var_7) goto LAB_000c2cd0;
LAB_000c2d05:
    var_2[1] = 't';
    var_11->word->word[2] = '\0';
    var_11 = var_11->next;
  } while (var_11 != (type_3 *)0x0);
LAB_000c2d20:
  var_14 = 2;
  var_12();
  while (var_4 = var_13(var_1,"afptP"), var_4 != -1) {
    if (var_4 == 0x61) {
      var_14 = var_14 | 1;
    }
    else if (var_4 < 0x62) {
      if (var_4 == -99) {
        var_15();
        return 0x102;
      }
      if (var_4 != 0x50) goto LAB_000c2d77;
      var_14 = var_14 & 0xfffffff5 | 0x30;
    }
    else if (var_4 == 0x70) {
      var_14 = var_14 & 0xfffffff5 | 0x10;
    }
    else if (var_4 == 0x74) {
      var_14 = var_14 & 0xffffffed | 8;
    }
    else {
      if (var_4 != 0x66) {
LAB_000c2d77:
        var_16();
        return 0x102;
      }
      var_14 = var_14 | 0x40;
    }
  }
  if (var_17 == (type_1 *)0x0) {
    var_14 = 0;
  }
  else {
    var_20 = 0;
    var_11 = var_17;
    do {
      while (var_4 = var_18(var_11->word->word,var_14), (var_14 & 0x18) == 0 && var_4 == 0)
      {
        var_19(var_11->word->word);
        var_11 = var_11->next;
        var_20 = var_20 + 1;
        if (var_11 == (type_3 *)0x0) goto LAB_000c2eeb;
      }
      var_11 = var_11->next;
      var_20 = var_20 + (type_4)(var_4 == 0);
    } while (var_11 != (type_3 *)0x0);
LAB_000c2eeb:
    var_14 = (type_4)(var_20 != 0);
  }
  var_4 = var_21(var_14);
  return var_4;
}


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

undefined4 MASKED(int *param_1)

{
  byte bVar1;
  char *pcVar2;
  undefined4 uVar3;
  int iVar4;
  int *piVar5;
  int unaff_EBP;
  code *pcVar6;
  uint uVar7;
  code *pcVar8;
  code *pcVar9;
  bool bVar10;
  bool bVar11;
  bool bVar12;
  byte bVar13;
  int local_24;
  
  bVar13 = 0;
  FUN_00041277();
  if (param_1 == (int *)0x0) {
    return 0;
  }
  piVar5 = param_1;
  do {
    while( true ) {
      pcVar2 = *(char **)piVar5[1];
      if (*pcVar2 != '-') goto LAB_000c2d20;
      bVar1 = pcVar2[1];
      pcVar6 = (code *)(pcVar2 + 1);
      bVar10 = bVar1 < 0x74;
      bVar12 = bVar1 == 0x74;
      if (bVar12) break;
      bVar10 = bVar1 < 0x2d;
      bVar12 = bVar1 == 0x2d;
      if (bVar12) {
        iVar4 = 6;
        pcVar8 = pcVar6;
        pcVar9 = (code *)(unaff_EBP + 0x62de7);
        do {
          if (iVar4 == 0) break;
          iVar4 = iVar4 + -1;
          bVar10 = (byte)*pcVar8 < (byte)*pcVar9;
          bVar12 = *pcVar8 == *pcVar9;
          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;
          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;
        } while (bVar12);
        bVar11 = false;
        bVar10 = (!bVar10 && !bVar12) == bVar10;
        if (bVar10) goto LAB_000c2d05;
        iVar4 = 6;
        pcVar8 = pcVar6;
        pcVar9 = (code *)(unaff_EBP + 0x62ded);
        do {
          if (iVar4 == 0) break;
          iVar4 = iVar4 + -1;
          bVar11 = (byte)*pcVar8 < (byte)*pcVar9;
          bVar10 = *pcVar8 == *pcVar9;
          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;
          pcVar9 = pcVar9 + (uint)bVar13 * -2 + 1;
        } while (bVar10);
        bVar12 = false;
        bVar10 = (!bVar11 && !bVar10) == bVar11;
        if (bVar10) goto LAB_000c2dfb;
        iVar4 = 5;
        pcVar8 = err_readonly + unaff_EBP + 3;
LAB_000c2cb2:
        do {
          if (iVar4 == 0) break;
          iVar4 = iVar4 + -1;
          bVar12 = (byte)*pcVar6 < (byte)*pcVar8;
          bVar10 = *pcVar6 == *pcVar8;
          pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;
        } while (bVar10);
        if ((!bVar12 && !bVar10) == bVar12) {
          pcVar2[1] = 'a';
          *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;
        }
      }
      else {
        bVar10 = bVar1 < 0x70;
        bVar12 = bVar1 == 0x70;
        if (bVar12) {
          iVar4 = 5;
          pcVar8 = (code *)(unaff_EBP + 0x62dee);
          do {
            if (iVar4 == 0) break;
            iVar4 = iVar4 + -1;
            bVar10 = (byte)*pcVar6 < (byte)*pcVar8;
            bVar12 = *pcVar6 == *pcVar8;
            pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;
          } while (bVar12);
          if ((!bVar10 && !bVar12) == bVar10) {
LAB_000c2dfb:
            pcVar2[1] = 'p';
            *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;
          }
        }
        else {
          bVar12 = bVar1 < 0x61;
          bVar10 = bVar1 == 0x61;
          if (bVar10) {
            iVar4 = 4;
            pcVar8 = (code *)(unaff_EBP + 0x62df4);
            goto LAB_000c2cb2;
          }
        }
      }
LAB_000c2cd0:
      piVar5 = (int *)*piVar5;
      if (piVar5 == (int *)0x0) goto LAB_000c2d20;
    }
    iVar4 = 5;
    pcVar8 = (code *)(unaff_EBP + 0x50530);
    do {
      if (iVar4 == 0) break;
      iVar4 = iVar4 + -1;
      bVar10 = (byte)*pcVar6 < (byte)*pcVar8;
      bVar12 = *pcVar6 == *pcVar8;
      pcVar6 = pcVar6 + (uint)bVar13 * -2 + 1;
      pcVar8 = pcVar8 + (uint)bVar13 * -2 + 1;
    } while (bVar12);
    if ((!bVar10 && !bVar12) != bVar10) goto LAB_000c2cd0;
LAB_000c2d05:
    pcVar2[1] = 't';
    *(undefined1 *)(*(int *)piVar5[1] + 2) = 0;
    piVar5 = (int *)*piVar5;
  } while (piVar5 != (int *)0x0);
LAB_000c2d20:
  uVar7 = 2;
  reset_internal_getopt();
  while (iVar4 = internal_getopt(param_1,unaff_EBP + 0x62df8), iVar4 != -1) {
    if (iVar4 == 0x61) {
      uVar7 = uVar7 | 1;
    }
    else if (iVar4 < 0x62) {
      if (iVar4 == -99) {
        builtin_help();
        return 0x102;
      }
      if (iVar4 != 0x50) goto LAB_000c2d77;
      uVar7 = uVar7 & 0xfffffff5 | 0x30;
    }
    else if (iVar4 == 0x70) {
      uVar7 = uVar7 & 0xfffffff5 | 0x10;
    }
    else if (iVar4 == 0x74) {
      uVar7 = uVar7 & 0xffffffed | 8;
    }
    else {
      if (iVar4 != 0x66) {
LAB_000c2d77:
        builtin_usage();
        return 0x102;
      }
      uVar7 = uVar7 | 0x40;
    }
  }
  piVar5 = *(int **)(unaff_EBP + 0xbcc4e);
  if (piVar5 == (int *)0x0) {
    bVar10 = false;
  }
  else {
    local_24 = 0;
    do {
      while (iVar4 = describe_command(*(undefined4 *)piVar5[1],uVar7),
            (uVar7 & 0x18) == 0 && iVar4 == 0) {
        sh_notfound(*(undefined4 *)piVar5[1]);
        piVar5 = (int *)*piVar5;
        local_24 = local_24 + 1;
        if (piVar5 == (int *)0x0) goto LAB_000c2eeb;
      }
      piVar5 = (int *)*piVar5;
      local_24 = local_24 + (uint)(iVar4 == 0);
    } while (piVar5 != (int *)0x0);
LAB_000c2eeb:
    bVar10 = local_24 != 0;
  }
  uVar3 = sh_chkwrite(bVar10);
  return uVar3;
}

