
char * quote_string_for_globbing(char *pathname,int qflags)

{
  char *pcVar1;
  char *pcVar2;
  char cVar3;
  bool bVar4;
  bool bVar5;
  bool bVar6;
  char cVar7;
  size_t sVar8;
  char *pcVar9;
  char *pcVar10;
  int iVar11;
  char *pcVar12;
  int iVar13;
  int iVar14;
  char *pcVar15;
  int unaff_EDI;
  int iVar16;
  char *local_48;
  char *local_44;
  
  __x86_get_pc_thunk_di();
  sVar8 = strlen(pathname);
  pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);
  cVar7 = *pathname;
  if (((qflags & 1U) == 0) || (cVar7 != '\x7f')) {
    local_44 = pcVar9;
    if (cVar7 == '\0') {
LAB_0007e1ed:
      *local_44 = '\0';
      return pcVar9;
    }
  }
  else if (pathname[1] == '\0') {
    *pcVar9 = '\0';
    return pcVar9;
  }
  bVar5 = false;
  bVar6 = false;
  bVar4 = false;
  local_48 = (char *)0x0;
  iVar13 = 0;
LAB_0007e180:
  local_44 = pcVar9 + iVar13;
  if (cVar7 == '\x01') {
    cVar7 = pathname[(int)local_48 + 1];
    if (cVar7 == '\0') {
      *local_44 = '\x01';
      local_44 = pcVar9 + iVar13 + 1;
      goto LAB_0007e1ed;
    }
    pcVar1 = (char *)((int)local_48 + 1);
    pcVar12 = pathname + (int)pcVar1;
    iVar14 = iVar13;
    if ((qflags & 0xcU) == 0) {
      if ((qflags & 2U) != 0) {
LAB_0007e238:
        if (cVar7 == '/') goto LAB_0007e1e3;
      }
      if (cVar7 != '\x01') goto LAB_0007e240;
    }
    else {
      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {
        *local_44 = *pcVar12;
        pcVar12 = pathname + (int)local_48 + 2;
        iVar14 = iVar13 + 1;
        pcVar1 = (char *)((int)local_48 + 2);
        local_44 = pcVar9 + iVar13 + 1;
        goto LAB_0007e1e3;
      }
      if ((qflags & 2U) != 0) goto LAB_0007e238;
LAB_0007e240:
      if ((qflags & 4U) != 0) {
        if ((byte)(cVar7 - 0x24U) < 0x59) {
                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +
                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)
                                     ))();
          return pcVar9;
        }
        goto LAB_0007e1e3;
      }
    }
    *local_44 = '\\';
    cVar7 = *pcVar12;
    pcVar10 = pcVar9 + iVar13 + 1;
    local_44 = pcVar10;
    if (cVar7 == '\0') goto LAB_0007e1ed;
    iVar14 = iVar13 + 2;
    local_48 = (char *)((int)local_48 + 2);
    local_44 = pcVar9 + iVar14;
    pcVar12 = pathname + (int)local_48;
  }
  else {
    iVar14 = iVar13 + 1;
    pcVar1 = (char *)((int)local_48 + 1);
    pcVar15 = pcVar9 + iVar14;
    pcVar12 = pathname + (int)pcVar1;
    pcVar10 = local_44;
    if ((qflags & 4U) != 0) {
      if ((local_48 != (char *)0x0) && (pathname[(int)local_48 + -1] == '\x01')) {
        cVar7 = pathname[(int)local_48];
        local_48 = pcVar1;
        local_44 = pcVar15;
        goto LAB_0007e1e1;
      }
      if (cVar7 != '[') goto LAB_0007e1cd;
      *local_44 = '[';
      iVar11 = (int)local_48 + 2;
      cVar7 = *pcVar12;
      iVar16 = iVar14;
      pcVar10 = pcVar15;
      if (cVar7 == '^') {
        iVar16 = iVar13 + 2;
        iVar11 = (int)local_48 + 3;
        *pcVar15 = '^';
        cVar7 = pathname[(int)local_48 + 2];
        pcVar10 = pcVar9 + iVar16;
      }
      local_48 = pcVar10;
      if (cVar7 == ']') {
        iVar16 = iVar16 + 1;
        *local_48 = ']';
        cVar7 = pathname[iVar11];
        iVar11 = iVar11 + 1;
        local_48 = pcVar9 + iVar16;
      }
      if (cVar7 == '\0') {
        local_44 = local_48;
        goto LAB_0007e1ed;
      }
      do {
        local_44 = pcVar9 + iVar16;
        pcVar10 = pathname + iVar11;
        if (cVar7 == '\x01') {
          if (*pcVar10 == '\0') goto LAB_0007e1ed;
          *local_44 = *pcVar10;
          cVar7 = pathname[iVar11 + 1];
          iVar16 = iVar16 + 1;
          iVar11 = iVar11 + 2;
        }
        else {
          iVar13 = iVar16 + 1;
          if (cVar7 == '[') {
            cVar3 = *pcVar10;
            if (cVar3 == ':') {
              pcVar2 = pcVar9 + iVar16;
              iVar16 = iVar16 + 2;
              bVar4 = true;
              *pcVar2 = '[';
              pcVar9[iVar13] = *pcVar10;
              cVar7 = pathname[iVar11 + 1];
              iVar11 = iVar11 + 2;
            }
            else if (cVar3 == '=') {
              pcVar9[iVar16] = '[';
              pcVar9[iVar16 + 1] = *pcVar10;
              cVar7 = pathname[iVar11 + 1];
              if (cVar7 == ']') {
                pcVar9[iVar16 + 2] = ']';
                iVar16 = iVar16 + 3;
                cVar7 = pathname[iVar11 + 2];
                iVar11 = iVar11 + 3;
                bVar5 = true;
              }
              else {
                iVar11 = iVar11 + 2;
                bVar5 = true;
                iVar16 = iVar16 + 2;
              }
            }
            else {
              if (cVar3 != '.') goto LAB_0007e405;
              pcVar9[iVar16] = '[';
              pcVar9[iVar16 + 1] = *pcVar10;
              cVar7 = pathname[iVar11 + 1];
              if (cVar7 == ']') {
                pcVar9[iVar16 + 2] = ']';
                cVar7 = pathname[iVar11 + 2];
                iVar11 = iVar11 + 3;
                bVar6 = true;
                iVar16 = iVar16 + 3;
              }
              else {
                iVar11 = iVar11 + 2;
                bVar6 = true;
                iVar16 = iVar16 + 2;
              }
            }
          }
          else if ((cVar7 == ':') && (bVar4)) {
            if (*pcVar10 != ']') goto LAB_0007e405;
            bVar4 = false;
            pcVar9[iVar16] = ':';
            pcVar9[iVar13] = *pcVar10;
            cVar7 = pathname[iVar11 + 1];
            iVar11 = iVar11 + 2;
            iVar16 = iVar16 + 2;
          }
          else if ((cVar7 == '=') && (bVar5)) {
            if (*pcVar10 == ']') {
              bVar5 = false;
              pcVar9[iVar16] = '=';
              pcVar9[iVar13] = *pcVar10;
              cVar7 = pathname[iVar11 + 1];
              iVar11 = iVar11 + 2;
              iVar16 = iVar16 + 2;
            }
            else {
LAB_0007e405:
              *local_44 = cVar7;
              cVar7 = *pcVar10;
              iVar16 = iVar13;
              iVar11 = iVar11 + 1;
            }
          }
          else {
            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;
            bVar6 = false;
            pcVar9[iVar16] = '.';
            pcVar9[iVar13] = *pcVar10;
            cVar7 = pathname[iVar11 + 1];
            iVar11 = iVar11 + 2;
            iVar16 = iVar16 + 2;
          }
        }
        if (cVar7 == ']') {
          pcVar9[iVar16] = ']';
          pcVar12 = pathname + iVar11;
          iVar14 = iVar16 + 1;
          pcVar1 = (char *)iVar11;
          local_44 = pcVar9 + iVar16 + 1;
          break;
        }
        local_44 = pcVar15;
      } while (cVar7 != '\0');
      goto LAB_0007e1e3;
    }
    if (cVar7 != '\\') {
LAB_0007e1cd:
      cVar7 = pathname[(int)local_48];
      local_48 = pcVar1;
      local_44 = pcVar15;
      goto LAB_0007e1e1;
    }
    *local_44 = '\\';
    cVar7 = *pcVar12;
    local_44 = pcVar15;
    if (cVar7 == '\0') goto LAB_0007e1ed;
    iVar14 = iVar13 + 2;
    local_44 = pcVar9 + iVar14;
    pcVar10 = pcVar15;
    if ((((uint)qflags >> 3 & 1) == 0) || (cVar7 != '\x01')) {
      local_48 = (char *)((int)local_48 + 2);
    }
    else {
      if ((pathname[(int)local_48 + 2] != '\x01') && (pathname[(int)local_48 + 2] != '\x7f')) {
        local_48 = (char *)((int)local_48 + 2);
        cVar7 = '\x01';
        pcVar12 = pathname + (int)local_48;
        goto LAB_0007e1e1;
      }
      cVar7 = pathname[(int)local_48 + 2];
      local_48 = (char *)((int)local_48 + 3);
    }
    pcVar12 = pathname + (int)local_48;
  }
LAB_0007e1e1:
  *pcVar10 = cVar7;
  pcVar1 = local_48;
LAB_0007e1e3:
  local_48 = pcVar1;
  cVar7 = *pcVar12;
  iVar13 = iVar14;
  if (cVar7 == '\0') goto LAB_0007e1ed;
  goto LAB_0007e180;
}



char * quote_string_for_globbing(char *param_1,uint param_2)

{
  char *pcVar1;
  char *pcVar2;
  char cVar3;
  bool bVar4;
  bool bVar5;
  bool bVar6;
  char cVar7;
  size_t sVar8;
  char *pcVar9;
  char *pcVar10;
  int iVar11;
  char *pcVar12;
  int iVar13;
  int iVar14;
  char *pcVar15;
  int unaff_EDI;
  int iVar16;
  char *local_48;
  char *local_44;
  
  FUN_00042933();
  sVar8 = strlen(param_1);
  pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);
  cVar7 = *param_1;
  if (((param_2 & 1) == 0) || (cVar7 != '\x7f')) {
    local_44 = pcVar9;
    if (cVar7 == '\0') {
LAB_0007e1ed:
      *local_44 = '\0';
      return pcVar9;
    }
  }
  else if (param_1[1] == '\0') {
    *pcVar9 = '\0';
    return pcVar9;
  }
  bVar5 = false;
  bVar6 = false;
  bVar4 = false;
  local_48 = (char *)0x0;
  iVar13 = 0;
LAB_0007e180:
  local_44 = pcVar9 + iVar13;
  if (cVar7 == '\x01') {
    cVar7 = param_1[(int)local_48 + 1];
    if (cVar7 == '\0') {
      *local_44 = '\x01';
      local_44 = pcVar9 + iVar13 + 1;
      goto LAB_0007e1ed;
    }
    pcVar1 = (char *)((int)local_48 + 1);
    pcVar12 = param_1 + (int)pcVar1;
    iVar14 = iVar13;
    if ((param_2 & 0xc) == 0) {
      if ((param_2 & 2) != 0) {
LAB_0007e238:
        if (cVar7 == '/') goto LAB_0007e1e3;
      }
      if (cVar7 != '\x01') goto LAB_0007e240;
    }
    else {
      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {
        *local_44 = *pcVar12;
        pcVar12 = param_1 + (int)local_48 + 2;
        iVar14 = iVar13 + 1;
        pcVar1 = (char *)((int)local_48 + 2);
        local_44 = pcVar9 + iVar13 + 1;
        goto LAB_0007e1e3;
      }
      if ((param_2 & 2) != 0) goto LAB_0007e238;
LAB_0007e240:
      if ((param_2 & 4) != 0) {
        if ((byte)(cVar7 - 0x24U) < 0x59) {
                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +
                                     *(int *)(&UNK_00073325 +
                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();
          return pcVar9;
        }
        goto LAB_0007e1e3;
      }
    }
    *local_44 = '\\';
    cVar7 = *pcVar12;
    pcVar10 = pcVar9 + iVar13 + 1;
    local_44 = pcVar10;
    if (cVar7 == '\0') goto LAB_0007e1ed;
    iVar14 = iVar13 + 2;
    local_48 = (char *)((int)local_48 + 2);
    local_44 = pcVar9 + iVar14;
    pcVar12 = param_1 + (int)local_48;
  }
  else {
    iVar14 = iVar13 + 1;
    pcVar1 = (char *)((int)local_48 + 1);
    pcVar15 = pcVar9 + iVar14;
    pcVar12 = param_1 + (int)pcVar1;
    pcVar10 = local_44;
    if ((param_2 & 4) != 0) {
      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {
        cVar7 = param_1[(int)local_48];
        local_48 = pcVar1;
        local_44 = pcVar15;
        goto LAB_0007e1e1;
      }
      if (cVar7 != '[') goto LAB_0007e1cd;
      *local_44 = '[';
      iVar11 = (int)local_48 + 2;
      cVar7 = *pcVar12;
      iVar16 = iVar14;
      pcVar10 = pcVar15;
      if (cVar7 == '^') {
        iVar16 = iVar13 + 2;
        iVar11 = (int)local_48 + 3;
        *pcVar15 = '^';
        cVar7 = param_1[(int)local_48 + 2];
        pcVar10 = pcVar9 + iVar16;
      }
      local_48 = pcVar10;
      if (cVar7 == ']') {
        iVar16 = iVar16 + 1;
        *local_48 = ']';
        cVar7 = param_1[iVar11];
        iVar11 = iVar11 + 1;
        local_48 = pcVar9 + iVar16;
      }
      if (cVar7 == '\0') {
        local_44 = local_48;
        goto LAB_0007e1ed;
      }
      do {
        local_44 = pcVar9 + iVar16;
        pcVar10 = param_1 + iVar11;
        if (cVar7 == '\x01') {
          if (*pcVar10 == '\0') goto LAB_0007e1ed;
          *local_44 = *pcVar10;
          cVar7 = param_1[iVar11 + 1];
          iVar16 = iVar16 + 1;
          iVar11 = iVar11 + 2;
        }
        else {
          iVar13 = iVar16 + 1;
          if (cVar7 == '[') {
            cVar3 = *pcVar10;
            if (cVar3 == ':') {
              pcVar2 = pcVar9 + iVar16;
              iVar16 = iVar16 + 2;
              bVar4 = true;
              *pcVar2 = '[';
              pcVar9[iVar13] = *pcVar10;
              cVar7 = param_1[iVar11 + 1];
              iVar11 = iVar11 + 2;
            }
            else if (cVar3 == '=') {
              pcVar9[iVar16] = '[';
              pcVar9[iVar16 + 1] = *pcVar10;
              cVar7 = param_1[iVar11 + 1];
              if (cVar7 == ']') {
                pcVar9[iVar16 + 2] = ']';
                iVar16 = iVar16 + 3;
                cVar7 = param_1[iVar11 + 2];
                iVar11 = iVar11 + 3;
                bVar5 = true;
              }
              else {
                iVar11 = iVar11 + 2;
                bVar5 = true;
                iVar16 = iVar16 + 2;
              }
            }
            else {
              if (cVar3 != '.') goto LAB_0007e405;
              pcVar9[iVar16] = '[';
              pcVar9[iVar16 + 1] = *pcVar10;
              cVar7 = param_1[iVar11 + 1];
              if (cVar7 == ']') {
                pcVar9[iVar16 + 2] = ']';
                cVar7 = param_1[iVar11 + 2];
                iVar11 = iVar11 + 3;
                bVar6 = true;
                iVar16 = iVar16 + 3;
              }
              else {
                iVar11 = iVar11 + 2;
                bVar6 = true;
                iVar16 = iVar16 + 2;
              }
            }
          }
          else if ((cVar7 == ':') && (bVar4)) {
            if (*pcVar10 != ']') goto LAB_0007e405;
            bVar4 = false;
            pcVar9[iVar16] = ':';
            pcVar9[iVar13] = *pcVar10;
            cVar7 = param_1[iVar11 + 1];
            iVar11 = iVar11 + 2;
            iVar16 = iVar16 + 2;
          }
          else if ((cVar7 == '=') && (bVar5)) {
            if (*pcVar10 == ']') {
              bVar5 = false;
              pcVar9[iVar16] = '=';
              pcVar9[iVar13] = *pcVar10;
              cVar7 = param_1[iVar11 + 1];
              iVar11 = iVar11 + 2;
              iVar16 = iVar16 + 2;
            }
            else {
LAB_0007e405:
              *local_44 = cVar7;
              cVar7 = *pcVar10;
              iVar16 = iVar13;
              iVar11 = iVar11 + 1;
            }
          }
          else {
            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;
            bVar6 = false;
            pcVar9[iVar16] = '.';
            pcVar9[iVar13] = *pcVar10;
            cVar7 = param_1[iVar11 + 1];
            iVar11 = iVar11 + 2;
            iVar16 = iVar16 + 2;
          }
        }
        if (cVar7 == ']') {
          pcVar9[iVar16] = ']';
          pcVar12 = param_1 + iVar11;
          iVar14 = iVar16 + 1;
          pcVar1 = (char *)iVar11;
          local_44 = pcVar9 + iVar16 + 1;
          break;
        }
        local_44 = pcVar15;
      } while (cVar7 != '\0');
      goto LAB_0007e1e3;
    }
    if (cVar7 != '\\') {
LAB_0007e1cd:
      cVar7 = param_1[(int)local_48];
      local_48 = pcVar1;
      local_44 = pcVar15;
      goto LAB_0007e1e1;
    }
    *local_44 = '\\';
    cVar7 = *pcVar12;
    local_44 = pcVar15;
    if (cVar7 == '\0') goto LAB_0007e1ed;
    iVar14 = iVar13 + 2;
    local_44 = pcVar9 + iVar14;
    pcVar10 = pcVar15;
    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {
      local_48 = (char *)((int)local_48 + 2);
    }
    else {
      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {
        local_48 = (char *)((int)local_48 + 2);
        cVar7 = '\x01';
        pcVar12 = param_1 + (int)local_48;
        goto LAB_0007e1e1;
      }
      cVar7 = param_1[(int)local_48 + 2];
      local_48 = (char *)((int)local_48 + 3);
    }
    pcVar12 = param_1 + (int)local_48;
  }
LAB_0007e1e1:
  *pcVar10 = cVar7;
  pcVar1 = local_48;
LAB_0007e1e3:
  local_48 = pcVar1;
  cVar7 = *pcVar12;
  iVar13 = iVar14;
  if (cVar7 == '\0') goto LAB_0007e1ed;
  goto LAB_0007e180;
}


PUSH EBP
PUSH EDI
CALL 0x00042933
ADD EDI,0xcbf09
PUSH ESI
PUSH EBX
SUB ESP,0x48
MOV EDX,dword ptr [ESP + 0x5c]
MOV dword ptr [ESP + 0x34],EDI
MOV EBX,EDI
PUSH EDX
MOV dword ptr [ESP + 0x60],EDX
CALL 0x0002f760
LEA EAX,[EAX + EAX*0x1 + 0x1]
MOV dword ptr [ESP],EAX
CALL 0x00099200
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x50]
TEST byte ptr [ESP + 0x54],0x1
MOV ESI,EAX
MOVZX EAX,byte ptr [EDX]
JZ 0x0007e13d
CMP AL,0x7f
JZ 0x0007e634
TEST AL,AL
JZ 0x0007e6ca
MOV ECX,dword ptr [ESP + 0x54]
XOR EDI,EDI
MOV dword ptr [ESP + 0x1c],0x0
XOR EBX,EBX
MOV dword ptr [ESP + 0x20],0x0
XOR EBP,EBP
SHR ECX,0x3
MOV dword ptr [ESP + 0x18],0x0
AND ECX,0x1
MOV dword ptr [ESP + 0x4],EDI
MOV byte ptr [ESP + 0x27],CL
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x50],EDX
LEA ESI,[ESI]
MOV EDI,dword ptr [ESP]
LEA ECX,[EDI + EBX*0x1]
CMP AL,0x1
JZ 0x0007e200
LEA ESI,[EBX + 0x1]
LEA EDX,[EBP + 0x1]
MOV dword ptr [ESP + 0xc],ESI
ADD ESI,dword ptr [ESP]
MOV dword ptr [ESP + 0x10],EDX
ADD EDX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x8],ESI
TEST byte ptr [ESP + 0x54],0x4
JZ 0x0007e2a8
TEST EBP,EBP
JZ 0x0007e1c5
MOV ESI,dword ptr [ESP + 0x4]
MOV EDI,dword ptr [ESP + 0x50]
CMP byte ptr [EDI + ESI*0x1 + -0x1],0x1
JZ 0x0007e338
CMP AL,0x5b
JZ 0x0007e350
MOV EAX,dword ptr [ESP + 0x50]
MOV EBX,dword ptr [ESP + 0xc]
MOVZX EAX,byte ptr [EAX + EBP*0x1]
MOV EBP,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x4],EBP
MOV byte ptr [ECX],AL
MOVZX EAX,byte ptr [EDX]
TEST AL,AL
JNZ 0x0007e180
MOV ESI,dword ptr [ESP]
MOV EAX,dword ptr [ESP + 0x8]
MOV byte ptr [EAX],0x0
ADD ESP,0x3c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESP + 0x4]
MOV EDI,dword ptr [ESP + 0x50]
MOVZX EAX,byte ptr [EDI + EAX*0x1 + 0x1]
TEST AL,AL
JZ 0x0007e673
MOV EDX,dword ptr [ESP + 0x50]
LEA ESI,[EBP + 0x1]
MOV dword ptr [ESP + 0xc],ESI
MOV dword ptr [ESP + 0x4],ESI
ADD EDX,ESI
TEST byte ptr [ESP + 0x54],0xc
JNZ 0x0007e2f0
TEST byte ptr [ESP + 0x54],0x2
JZ 0x0007e23c
CMP AL,0x2f
JZ 0x0007e298
CMP AL,0x1
JZ 0x0007e260
TEST byte ptr [ESP + 0x54],0x4
JZ 0x0007e260
SUB EAX,0x24
CMP AL,0x58
JA 0x0007e298
MOV EDI,dword ptr [ESP + 0x28]
MOVZX EAX,AL
ADD EDI,dword ptr [EDI + EAX*0x4 + 0xfffa741c]
JMP EDI
MOV byte ptr [ECX],0x5c
MOV EDI,dword ptr [ESP]
MOVZX EAX,byte ptr [EDX]
LEA ECX,[EDI + EBX*0x1 + 0x1]
TEST AL,AL
JZ 0x0007e6a2
ADD EBX,0x2
MOV EDX,dword ptr [ESP + 0x50]
ADD EBP,0x2
LEA ESI,[EDI + EBX*0x1]
MOV dword ptr [ESP + 0x4],EBP
ADD EDX,EBP
MOV dword ptr [ESP + 0x8],ESI
JMP 0x0007e1e1
MOV dword ptr [ESP + 0x8],ECX
MOV EBP,dword ptr [ESP + 0xc]
JMP 0x0007e1e3
CMP AL,0x5c
JNZ 0x0007e1cd
MOV byte ptr [ECX],0x5c
MOVZX EAX,byte ptr [EDX]
TEST AL,AL
JZ 0x0007e1ea
MOV ECX,dword ptr [ESP]
ADD EBX,0x2
CMP byte ptr [ESP + 0x27],0x0
LEA EDI,[ECX + EBX*0x1]
JZ 0x0007e2d6
CMP AL,0x1
JZ 0x0007e5e0
ADD EBP,0x2
MOV EDX,dword ptr [ESP + 0x50]
MOV ECX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x4],EBP
MOV dword ptr [ESP + 0x8],EDI
ADD EDX,EBP
JMP 0x0007e1e1
CMP AL,0x1
JZ 0x0007e310
CMP AL,0x7f
JZ 0x0007e310
TEST byte ptr [ESP + 0x54],0x2
JNZ 0x0007e238
JMP 0x0007e240
MOVZX EAX,byte ptr [EDX]
ADD EBX,0x1
MOV EDX,dword ptr [ESP + 0x50]
ADD EBP,0x2
MOV dword ptr [ESP + 0x4],EBP
MOV byte ptr [ECX],AL
MOV EAX,dword ptr [ESP]
ADD EDX,EBP
ADD EAX,EBX
MOV dword ptr [ESP + 0x8],EAX
JMP 0x0007e1e3
MOVZX EAX,byte ptr [EDI + EBP*0x1]
MOV EBP,dword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0x4],EBP
JMP 0x0007e1e1
MOV EDI,dword ptr [ESP + 0x8]
MOV byte ptr [ECX],0x5b
LEA ECX,[EBP + 0x2]
MOVSX EAX,byte ptr [EDX]
MOV dword ptr [ESP + 0x4],EDI
MOV EDI,dword ptr [ESP + 0xc]
MOV ESI,EDI
CMP EAX,0x5e
JNZ 0x0007e38b
MOV EAX,dword ptr [ESP + 0x8]
LEA EDI,[EBX + 0x2]
LEA ECX,[EBP + 0x3]
MOV ESI,EDI
ADD EDI,dword ptr [ESP]
MOV byte ptr [EAX],0x5e
MOV EAX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x4],EDI
MOVSX EAX,byte ptr [EAX + EBP*0x1 + 0x2]
CMP EAX,0x5d
JNZ 0x0007e3b0
MOV EDI,ESI
MOV EAX,dword ptr [ESP + 0x4]
ADD EDI,0x1
MOV ESI,EDI
ADD EDI,dword ptr [ESP]
MOV byte ptr [EAX],0x5d
MOV dword ptr [ESP + 0x4],EDI
MOV EAX,dword ptr [ESP + 0x50]
MOVSX EAX,byte ptr [EAX + ECX*0x1]
ADD ECX,0x1
TEST EAX,EAX
JZ 0x0007e6ba
MOV EBP,ESI
MOV EDI,dword ptr [ESP + 0x50]
MOV ESI,dword ptr [ESP]
MOV dword ptr [ESP + 0x2c],EDX
JMP 0x0007e422
LEA EBX,[ECX + 0x1]
MOV dword ptr [ESP + 0x14],EBX
LEA EBX,[EBP + 0x1]
MOV dword ptr [ESP + 0x4],EBX
CMP EAX,0x5b
JZ 0x0007e478
CMP EAX,0x3a
JNZ 0x0007e4c8
MOV EBX,dword ptr [ESP + 0x18]
TEST EBX,EBX
JZ 0x0007e4c8
CMP byte ptr [EDX],0x5d
JZ 0x0007e550
MOV ECX,dword ptr [ESP]
MOV EBP,dword ptr [ESP + 0x4]
MOV byte ptr [ECX],AL
MOV ECX,dword ptr [ESP + 0x14]
MOVSX EAX,byte ptr [EDX]
CMP EAX,0x5d
JZ 0x0007e44d
TEST EAX,EAX
JZ 0x0007e618
LEA EBX,[ESI + EBP*0x1]
LEA EDX,[EDI + ECX*0x1]
MOV dword ptr [ESP],EBX
CMP EAX,0x1
JNZ 0x0007e3d0
MOVZX EAX,byte ptr [EDX]
TEST AL,AL
JZ 0x0007e6ae
MOV byte ptr [EBX],AL
MOVSX EAX,byte ptr [EDI + ECX*0x1 + 0x1]
ADD EBP,0x1
ADD ECX,0x2
CMP EAX,0x5d
JNZ 0x0007e41a
LEA EBX,[EBP + 0x1]
MOV EAX,ESI
MOV EDX,ECX
MOV byte ptr [ESI + EBP*0x1],0x5d
ADD EAX,EBX
MOV dword ptr [ESP],ESI
MOV EBP,ECX
ADD EDX,EDI
MOV dword ptr [ESP + 0x50],EDI
MOV dword ptr [ESP + 0x4],ECX
MOV dword ptr [ESP + 0x8],EAX
JMP 0x0007e1e3
MOVZX EBX,byte ptr [EDX]
CMP BL,0x3a
JZ 0x0007e580
CMP BL,0x3d
JZ 0x0007e5b0
CMP BL,0x2e
JNZ 0x0007e405
LEA EAX,[ESI + EBP*0x1]
LEA EBX,[EBP + 0x2]
MOV byte ptr [EAX],0x5b
MOVZX EAX,byte ptr [EDX]
MOV byte ptr [ESI + EBP*0x1 + 0x1],AL
MOVSX EAX,byte ptr [EDI + ECX*0x1 + 0x1]
CMP AL,0x5d
JZ 0x0007e686
ADD ECX,0x2
MOV EBP,EBX
MOV dword ptr [ESP + 0x20],0x1
JMP 0x0007e415
CMP EAX,0x3d
JNZ 0x0007e506
MOV EBX,dword ptr [ESP + 0x1c]
TEST EBX,EBX
JZ 0x0007e506
CMP byte ptr [EDX],0x5d
JNZ 0x0007e405
LEA EAX,[ESI + EBP*0x1]
MOV EBX,dword ptr [ESP + 0x4]
ADD EBP,0x2
MOV dword ptr [ESP + 0x1c],0x0
MOV byte ptr [EAX],0x3d
MOVZX EAX,byte ptr [EDX]
MOV byte ptr [ESI + EBX*0x1],AL
MOVSX EAX,byte ptr [EDI + ECX*0x1 + 0x1]
ADD ECX,0x2
JMP 0x0007e415
CMP EAX,0x2e
JNZ 0x0007e405
MOV EBX,dword ptr [ESP + 0x20]
TEST EBX,EBX
JZ 0x0007e405
CMP byte ptr [EDX],0x5d
JNZ 0x0007e405
LEA EAX,[ESI + EBP*0x1]
MOV EBX,dword ptr [ESP + 0x4]
ADD EBP,0x2
MOV dword ptr [ESP + 0x20],0x0
MOV byte ptr [EAX],0x2e
MOVZX EAX,byte ptr [EDX]
MOV byte ptr [ESI + EBX*0x1],AL
MOVSX EAX,byte ptr [EDI + ECX*0x1 + 0x1]
ADD ECX,0x2
JMP 0x0007e415
LEA EAX,[ESI + EBP*0x1]
MOV EBX,dword ptr [ESP + 0x4]
ADD EBP,0x2
MOV dword ptr [ESP + 0x18],0x0
MOV byte ptr [EAX],0x3a
MOVZX EAX,byte ptr [EDX]
MOV byte ptr [ESI + EBX*0x1],AL
MOVSX EAX,byte ptr [EDI + ECX*0x1 + 0x1]
ADD ECX,0x2
JMP 0x0007e415
LEA EAX,[ESI + EBP*0x1]
MOV EBX,dword ptr [ESP + 0x4]
ADD EBP,0x2
MOV dword ptr [ESP + 0x18],0x1
MOV byte ptr [EAX],0x5b
MOVZX EAX,byte ptr [EDX]
MOV byte ptr [ESI + EBX*0x1],AL
MOVSX EAX,byte ptr [EDI + ECX*0x1 + 0x1]
ADD ECX,0x2
JMP 0x0007e415
LEA EAX,[ESI + EBP*0x1]
LEA EBX,[EBP + 0x2]
MOV byte ptr [EAX],0x5b
MOVZX EAX,byte ptr [EDX]
MOV byte ptr [ESI + EBP*0x1 + 0x1],AL
MOVSX EAX,byte ptr [EDI + ECX*0x1 + 0x1]
CMP AL,0x5d
JZ 0x0007e657
ADD ECX,0x2
MOV EBP,EBX
MOV dword ptr [ESP + 0x1c],0x1
JMP 0x0007e415
MOV EAX,dword ptr [ESP + 0x4]
MOV ECX,dword ptr [ESP + 0x50]
MOVZX EAX,byte ptr [ECX + EAX*0x1 + 0x2]
CMP AL,0x1
JZ 0x0007e646
CMP AL,0x7f
JZ 0x0007e646
ADD EBP,0x2
MOV EAX,0x1
MOV EDX,EBP
MOV dword ptr [ESP + 0x4],EBP
ADD EDX,ECX
MOV ECX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x8],EDI
JMP 0x0007e1e1
MOV EBP,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x50],EDI
MOV EBX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0x4],EBP
JMP 0x0007e1e3
CMP byte ptr [EDX + 0x1],0x0
JNZ 0x0007e145
MOV byte ptr [ESI],0x0
JMP 0x0007e1f4
MOV EAX,dword ptr [ESP + 0x50]
MOVZX EAX,byte ptr [EAX + EBP*0x1 + 0x2]
ADD EBP,0x3
JMP 0x0007e2d9
MOV byte ptr [ESI + EBX*0x1],0x5d
ADD EBP,0x3
MOVSX EAX,byte ptr [EDI + ECX*0x1 + 0x2]
ADD ECX,0x3
MOV dword ptr [ESP + 0x1c],0x1
JMP 0x0007e415
MOV ESI,dword ptr [ESP]
MOV byte ptr [ECX],0x1
LEA EAX,[ESI + EBX*0x1 + 0x1]
MOV dword ptr [ESP + 0x8],EAX
JMP 0x0007e1ed
MOV byte ptr [ESI + EBX*0x1],0x5d
ADD EBP,0x3
MOVSX EAX,byte ptr [EDI + ECX*0x1 + 0x2]
ADD ECX,0x3
MOV dword ptr [ESP + 0x20],0x1
JMP 0x0007e415
MOV ESI,dword ptr [ESP]
MOV dword ptr [ESP + 0x8],ECX
JMP 0x0007e1ed
MOV EBX,dword ptr [ESP]
MOV dword ptr [ESP + 0x8],EBX
JMP 0x0007e1ed
MOV EAX,dword ptr [ESP + 0x4]
MOV ESI,dword ptr [ESP]
MOV dword ptr [ESP + 0x8],EAX
JMP 0x0007e1ed
MOV dword ptr [ESP + 0x8],ESI
JMP 0x0007e1ed
(translation_unit "char * quote_string_for_globbing(char *param_1,uint param_2)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  char cVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  char cVar7;\n  size_t sVar8;\n  char *pcVar9;\n  char *pcVar10;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  int iVar14;\n  char *pcVar15;\n  int unaff_EDI;\n  int iVar16;\n  char *local_48;\n  char *local_44;\n  \n  FUN_00042933();\n  sVar8 = strlen(param_1);\n  pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);\n  cVar7 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }\n  bVar5 = false;\n  bVar6 = false;\n  bVar4 = false;\n  local_48 = (char *)0x0;\n  iVar13 = 0;\nLAB_0007e180:\n  local_44 = pcVar9 + iVar13;\n  if (cVar7 == '\x01') {\n    cVar7 = param_1[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = param_1 + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }\nLAB_0007e1e1:\n  *pcVar10 = cVar7;\n  pcVar1 = local_48;\nLAB_0007e1e3:\n  local_48 = pcVar1;\n  cVar7 = *pcVar12;\n  iVar13 = iVar14;\n  if (cVar7 == '\0') goto LAB_0007e1ed;\n  goto LAB_0007e180;\n}\n\n" (function_definition "char * quote_string_for_globbing(char *param_1,uint param_2)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  char cVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  char cVar7;\n  size_t sVar8;\n  char *pcVar9;\n  char *pcVar10;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  int iVar14;\n  char *pcVar15;\n  int unaff_EDI;\n  int iVar16;\n  char *local_48;\n  char *local_44;\n  \n  FUN_00042933();\n  sVar8 = strlen(param_1);\n  pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);\n  cVar7 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }\n  bVar5 = false;\n  bVar6 = false;\n  bVar4 = false;\n  local_48 = (char *)0x0;\n  iVar13 = 0;\nLAB_0007e180:\n  local_44 = pcVar9 + iVar13;\n  if (cVar7 == '\x01') {\n    cVar7 = param_1[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = param_1 + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }\nLAB_0007e1e1:\n  *pcVar10 = cVar7;\n  pcVar1 = local_48;\nLAB_0007e1e3:\n  local_48 = pcVar1;\n  cVar7 = *pcVar12;\n  iVar13 = iVar14;\n  if (cVar7 == '\0') goto LAB_0007e1ed;\n  goto LAB_0007e180;\n}" primitive_type (pointer_declarator "* quote_string_for_globbing(char *param_1,uint param_2)" * (function_declarator "quote_string_for_globbing(char *param_1,uint param_2)" identifier (parameter_list "(char *param_1,uint param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) )))) (compound_statement "{\n  char *pcVar1;\n  char *pcVar2;\n  char cVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  char cVar7;\n  size_t sVar8;\n  char *pcVar9;\n  char *pcVar10;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  int iVar14;\n  char *pcVar15;\n  int unaff_EDI;\n  int iVar16;\n  char *local_48;\n  char *local_44;\n  \n  FUN_00042933();\n  sVar8 = strlen(param_1);\n  pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);\n  cVar7 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }\n  bVar5 = false;\n  bVar6 = false;\n  bVar4 = false;\n  local_48 = (char *)0x0;\n  iVar13 = 0;\nLAB_0007e180:\n  local_44 = pcVar9 + iVar13;\n  if (cVar7 == '\x01') {\n    cVar7 = param_1[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = param_1 + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }\nLAB_0007e1e1:\n  *pcVar10 = cVar7;\n  pcVar1 = local_48;\nLAB_0007e1e3:\n  local_48 = pcVar1;\n  cVar7 = *pcVar12;\n  iVar13 = iVar14;\n  if (cVar7 == '\0') goto LAB_0007e1ed;\n  goto LAB_0007e180;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "char *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "char *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (expression_statement "FUN_00042933();" (call_expression "FUN_00042933()" identifier (argument_list "()" ( ))) ;) (expression_statement "sVar8 = strlen(param_1);" (assignment_expression "sVar8 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);" (assignment_expression "pcVar9 = (char *)xmalloc(sVar8 * 2 + 1)" identifier = (cast_expression "(char *)xmalloc(sVar8 * 2 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar8 * 2 + 1)" identifier (argument_list "(sVar8 * 2 + 1)" ( (binary_expression "sVar8 * 2 + 1" (binary_expression "sVar8 * 2" identifier * number_literal) + number_literal) ))))) ;) (expression_statement "cVar7 = *param_1;" (assignment_expression "cVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (((param_2 & 1) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" if (parenthesized_expression "(((param_2 & 1) == 0) || (cVar7 != '\x7f'))" ( (binary_expression "((param_2 & 1) == 0) || (cVar7 != '\x7f')" (parenthesized_expression "((param_2 & 1) == 0)" ( (binary_expression "(param_2 & 1) == 0" (parenthesized_expression "(param_2 & 1)" ( (binary_expression "param_2 & 1" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(cVar7 != '\x7f')" ( (binary_expression "cVar7 != '\x7f'" identifier != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }" { (expression_statement "local_44 = pcVar9;" (assignment_expression "local_44 = pcVar9" identifier = identifier) ;) (if_statement "if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }" { (labeled_statement "LAB_0007e1ed:\n      *local_44 = '\0';" statement_identifier : (expression_statement "*local_44 = '\0';" (assignment_expression "*local_44 = '\0'" (pointer_expression "*local_44" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (return_statement "return pcVar9;" return identifier ;) })) }) (else_clause "else if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" else (if_statement "if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" if (parenthesized_expression "(param_1[1] == '\0')" ( (binary_expression "param_1[1] == '\0'" (subscript_expression "param_1[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" { (expression_statement "*pcVar9 = '\0';" (assignment_expression "*pcVar9 = '\0'" (pointer_expression "*pcVar9" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return pcVar9;" return identifier ;) })))) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "local_48 = (char *)0x0;" (assignment_expression "local_48 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0007e180:\n  local_44 = pcVar9 + iVar13;" statement_identifier : (expression_statement "local_44 = pcVar9 + iVar13;" (assignment_expression "local_44 = pcVar9 + iVar13" identifier = (binary_expression "pcVar9 + iVar13" identifier + identifier)) ;)) (if_statement "if (cVar7 == '\x01') {\n    cVar7 = param_1[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = param_1 + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }" if (parenthesized_expression "(cVar7 == '\x01')" ( (binary_expression "cVar7 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n    cVar7 = param_1[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = param_1 + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)local_48;\n  }" { (expression_statement "cVar7 = param_1[(int)local_48 + 1];" (assignment_expression "cVar7 = param_1[(int)local_48 + 1]" identifier = (subscript_expression "param_1[(int)local_48 + 1]" identifier [ (binary_expression "(int)local_48 + 1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (if_statement "if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }" { (expression_statement "*local_44 = '\x01';" (assignment_expression "*local_44 = '\x01'" (pointer_expression "*local_44" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_44 = pcVar9 + iVar13 + 1;" (assignment_expression "local_44 = pcVar9 + iVar13 + 1" identifier = (binary_expression "pcVar9 + iVar13 + 1" (binary_expression "pcVar9 + iVar13" identifier + identifier) + number_literal)) ;) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;) })) (expression_statement "pcVar1 = (char *)((int)local_48 + 1);" (assignment_expression "pcVar1 = (char *)((int)local_48 + 1)" identifier = (cast_expression "(char *)((int)local_48 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 1)" ( (binary_expression "(int)local_48 + 1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar12 = param_1 + (int)pcVar1;" (assignment_expression "pcVar12 = param_1 + (int)pcVar1" identifier = (binary_expression "param_1 + (int)pcVar1" identifier + (cast_expression "(int)pcVar1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar14 = iVar13;" (assignment_expression "iVar14 = iVar13" identifier = identifier) ;) (if_statement "if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }" if (parenthesized_expression "((param_2 & 0xc) == 0)" ( (binary_expression "(param_2 & 0xc) == 0" (parenthesized_expression "(param_2 & 0xc)" ( (binary_expression "param_2 & 0xc" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }" { (if_statement "if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }" if (parenthesized_expression "((param_2 & 2) != 0)" ( (binary_expression "(param_2 & 2) != 0" (parenthesized_expression "(param_2 & 2)" ( (binary_expression "param_2 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }" { (labeled_statement "LAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;" statement_identifier : (if_statement "if (cVar7 == '/') goto LAB_0007e1e3;" if (parenthesized_expression "(cVar7 == '/')" ( (binary_expression "cVar7 == '/'" identifier == (char_literal "'/'" ' character ')) )) (goto_statement "goto LAB_0007e1e3;" goto statement_identifier ;))) })) (if_statement "if (cVar7 != '\x01') goto LAB_0007e240;" if (parenthesized_expression "(cVar7 != '\x01')" ( (binary_expression "cVar7 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e240;" goto statement_identifier ;)) }) (else_clause "else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }" else (compound_statement "{\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }" { (if_statement "if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }" if (parenthesized_expression "((cVar7 == '\x01') || (cVar7 == '\x7f'))" ( (binary_expression "(cVar7 == '\x01') || (cVar7 == '\x7f')" (parenthesized_expression "(cVar7 == '\x01')" ( (binary_expression "cVar7 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "(cVar7 == '\x7f')" ( (binary_expression "cVar7 == '\x7f'" identifier == (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }" { (expression_statement "*local_44 = *pcVar12;" (assignment_expression "*local_44 = *pcVar12" (pointer_expression "*local_44" * identifier) = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "pcVar12 = param_1 + (int)local_48 + 2;" (assignment_expression "pcVar12 = param_1 + (int)local_48 + 2" identifier = (binary_expression "param_1 + (int)local_48 + 2" (binary_expression "param_1 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (expression_statement "iVar14 = iVar13 + 1;" (assignment_expression "iVar14 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)((int)local_48 + 2);" (assignment_expression "pcVar1 = (char *)((int)local_48 + 2)" identifier = (cast_expression "(char *)((int)local_48 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 2)" ( (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_44 = pcVar9 + iVar13 + 1;" (assignment_expression "local_44 = pcVar9 + iVar13 + 1" identifier = (binary_expression "pcVar9 + iVar13 + 1" (binary_expression "pcVar9 + iVar13" identifier + identifier) + number_literal)) ;) (goto_statement "goto LAB_0007e1e3;" goto statement_identifier ;) })) (if_statement "if ((param_2 & 2) != 0) goto LAB_0007e238;" if (parenthesized_expression "((param_2 & 2) != 0)" ( (binary_expression "(param_2 & 2) != 0" (parenthesized_expression "(param_2 & 2)" ( (binary_expression "param_2 & 2" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0007e238;" goto statement_identifier ;)) (labeled_statement "LAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }" statement_identifier : (if_statement "if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }" if (parenthesized_expression "((param_2 & 4) != 0)" ( (binary_expression "(param_2 & 4) != 0" (parenthesized_expression "(param_2 & 4)" ( (binary_expression "param_2 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }" { (if_statement "if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }" if (parenthesized_expression "((byte)(cVar7 - 0x24U) < 0x59)" ( (binary_expression "(byte)(cVar7 - 0x24U) < 0x59" (call_expression "(byte)(cVar7 - 0x24U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar7 - 0x24U)" ( (binary_expression "cVar7 - 0x24U" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }" { comment comment (expression_statement "pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();" (assignment_expression "pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))()" identifier = (cast_expression "(char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))()" (parenthesized_expression "(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))" ( (pointer_expression "*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI))" * (cast_expression "(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI))" ( (binary_expression "unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)" (binary_expression "unaff_EDI + 0xcbf09" identifier + number_literal) + (pointer_expression "*(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)" * (cast_expression "(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)" ( (binary_expression "&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI" (binary_expression "&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4" (pointer_expression "&UNK_00073325" & identifier) + (binary_expression "(uint)(byte)(cVar7 - 0x24U) * 4" (call_expression "(uint)(byte)(cVar7 - 0x24U)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(cVar7 - 0x24U)" ( (binary_expression "cVar7 - 0x24U" identifier - number_literal) ))) * number_literal)) + identifier) ))))) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar9;" return identifier ;) })) (goto_statement "goto LAB_0007e1e3;" goto statement_identifier ;) }))) }))) (expression_statement "*local_44 = '\\';" (assignment_expression "*local_44 = '\\'" (pointer_expression "*local_44" * identifier) = (char_literal "'\\'" ' escape_sequence ')) ;) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "pcVar10 = pcVar9 + iVar13 + 1;" (assignment_expression "pcVar10 = pcVar9 + iVar13 + 1" identifier = (binary_expression "pcVar9 + iVar13 + 1" (binary_expression "pcVar9 + iVar13" identifier + identifier) + number_literal)) ;) (expression_statement "local_44 = pcVar10;" (assignment_expression "local_44 = pcVar10" identifier = identifier) ;) (if_statement "if (cVar7 == '\0') goto LAB_0007e1ed;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;)) (expression_statement "iVar14 = iVar13 + 2;" (assignment_expression "iVar14 = iVar13 + 2" identifier = (binary_expression "iVar13 + 2" identifier + number_literal)) ;) (expression_statement "local_48 = (char *)((int)local_48 + 2);" (assignment_expression "local_48 = (char *)((int)local_48 + 2)" identifier = (cast_expression "(char *)((int)local_48 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 2)" ( (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_44 = pcVar9 + iVar14;" (assignment_expression "local_44 = pcVar9 + iVar14" identifier = (binary_expression "pcVar9 + iVar14" identifier + identifier)) ;) (expression_statement "pcVar12 = param_1 + (int)local_48;" (assignment_expression "pcVar12 = param_1 + (int)local_48" identifier = (binary_expression "param_1 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }" else (compound_statement "{\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }" { (expression_statement "iVar14 = iVar13 + 1;" (assignment_expression "iVar14 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)((int)local_48 + 1);" (assignment_expression "pcVar1 = (char *)((int)local_48 + 1)" identifier = (cast_expression "(char *)((int)local_48 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 1)" ( (binary_expression "(int)local_48 + 1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar15 = pcVar9 + iVar14;" (assignment_expression "pcVar15 = pcVar9 + iVar14" identifier = (binary_expression "pcVar9 + iVar14" identifier + identifier)) ;) (expression_statement "pcVar12 = param_1 + (int)pcVar1;" (assignment_expression "pcVar12 = param_1 + (int)pcVar1" identifier = (binary_expression "param_1 + (int)pcVar1" identifier + (cast_expression "(int)pcVar1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar10 = local_44;" (assignment_expression "pcVar10 = local_44" identifier = identifier) ;) (if_statement "if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }" if (parenthesized_expression "((param_2 & 4) != 0)" ( (binary_expression "(param_2 & 4) != 0" (parenthesized_expression "(param_2 & 4)" ( (binary_expression "param_2 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }" { (if_statement "if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }" if (parenthesized_expression "((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01'))" ( (binary_expression "(local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')" (parenthesized_expression "(local_48 != (char *)0x0)" ( (binary_expression "local_48 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(param_1[(int)local_48 + -1] == '\x01')" ( (binary_expression "param_1[(int)local_48 + -1] == '\x01'" (subscript_expression "param_1[(int)local_48 + -1]" identifier [ (binary_expression "(int)local_48 + -1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) == (char_literal "'\x01'" ' escape_sequence ')) ))) )) (compound_statement "{\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }" { (expression_statement "cVar7 = param_1[(int)local_48];" (assignment_expression "cVar7 = param_1[(int)local_48]" identifier = (subscript_expression "param_1[(int)local_48]" identifier [ (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "local_48 = pcVar1;" (assignment_expression "local_48 = pcVar1" identifier = identifier) ;) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" identifier = identifier) ;) (goto_statement "goto LAB_0007e1e1;" goto statement_identifier ;) })) (if_statement "if (cVar7 != '[') goto LAB_0007e1cd;" if (parenthesized_expression "(cVar7 != '[')" ( (binary_expression "cVar7 != '['" identifier != (char_literal "'['" ' character ')) )) (goto_statement "goto LAB_0007e1cd;" goto statement_identifier ;)) (expression_statement "*local_44 = '[';" (assignment_expression "*local_44 = '['" (pointer_expression "*local_44" * identifier) = (char_literal "'['" ' character ')) ;) (expression_statement "iVar11 = (int)local_48 + 2;" (assignment_expression "iVar11 = (int)local_48 + 2" identifier = (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "iVar16 = iVar14;" (assignment_expression "iVar16 = iVar14" identifier = identifier) ;) (expression_statement "pcVar10 = pcVar15;" (assignment_expression "pcVar10 = pcVar15" identifier = identifier) ;) (if_statement "if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }" if (parenthesized_expression "(cVar7 == '^')" ( (binary_expression "cVar7 == '^'" identifier == (char_literal "'^'" ' character ')) )) (compound_statement "{\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }" { (expression_statement "iVar16 = iVar13 + 2;" (assignment_expression "iVar16 = iVar13 + 2" identifier = (binary_expression "iVar13 + 2" identifier + number_literal)) ;) (expression_statement "iVar11 = (int)local_48 + 3;" (assignment_expression "iVar11 = (int)local_48 + 3" identifier = (binary_expression "(int)local_48 + 3" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*pcVar15 = '^';" (assignment_expression "*pcVar15 = '^'" (pointer_expression "*pcVar15" * identifier) = (char_literal "'^'" ' character ')) ;) (expression_statement "cVar7 = param_1[(int)local_48 + 2];" (assignment_expression "cVar7 = param_1[(int)local_48 + 2]" identifier = (subscript_expression "param_1[(int)local_48 + 2]" identifier [ (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (expression_statement "pcVar10 = pcVar9 + iVar16;" (assignment_expression "pcVar10 = pcVar9 + iVar16" identifier = (binary_expression "pcVar9 + iVar16" identifier + identifier)) ;) })) (expression_statement "local_48 = pcVar10;" (assignment_expression "local_48 = pcVar10" identifier = identifier) ;) (if_statement "if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }" if (parenthesized_expression "(cVar7 == ']')" ( (binary_expression "cVar7 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }" { (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "*local_48 = ']';" (assignment_expression "*local_48 = ']'" (pointer_expression "*local_48" * identifier) = (char_literal "']'" ' character ')) ;) (expression_statement "cVar7 = param_1[iVar11];" (assignment_expression "cVar7 = param_1[iVar11]" identifier = (subscript_expression "param_1[iVar11]" identifier [ identifier ])) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "local_48 = pcVar9 + iVar16;" (assignment_expression "local_48 = pcVar9 + iVar16" identifier = (binary_expression "pcVar9 + iVar16" identifier + identifier)) ;) })) (if_statement "if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }" { (expression_statement "local_44 = local_48;" (assignment_expression "local_44 = local_48" identifier = identifier) ;) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;) })) (do_statement "do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');" do (compound_statement "{\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      }" { (expression_statement "local_44 = pcVar9 + iVar16;" (assignment_expression "local_44 = pcVar9 + iVar16" identifier = (binary_expression "pcVar9 + iVar16" identifier + identifier)) ;) (expression_statement "pcVar10 = param_1 + iVar11;" (assignment_expression "pcVar10 = param_1 + iVar11" identifier = (binary_expression "param_1 + iVar11" identifier + identifier)) ;) (if_statement "if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }" if (parenthesized_expression "(cVar7 == '\x01')" ( (binary_expression "cVar7 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }" { (if_statement "if (*pcVar10 == '\0') goto LAB_0007e1ed;" if (parenthesized_expression "(*pcVar10 == '\0')" ( (binary_expression "*pcVar10 == '\0'" (pointer_expression "*pcVar10" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;)) (expression_statement "*local_44 = *pcVar10;" (assignment_expression "*local_44 = *pcVar10" (pointer_expression "*local_44" * identifier) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) }) (else_clause "else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }" else (compound_statement "{\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }" { (expression_statement "iVar13 = iVar16 + 1;" (assignment_expression "iVar13 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (if_statement "if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" if (parenthesized_expression "(cVar7 == '[')" ( (binary_expression "cVar7 == '['" identifier == (char_literal "'['" ' character ')) )) (compound_statement "{\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }" { (expression_statement "cVar3 = *pcVar10;" (assignment_expression "cVar3 = *pcVar10" identifier = (pointer_expression "*pcVar10" * identifier)) ;) (if_statement "if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" if (parenthesized_expression "(cVar3 == ':')" ( (binary_expression "cVar3 == ':'" identifier == (char_literal "':'" ' character ')) )) (compound_statement "{\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }" { (expression_statement "pcVar2 = pcVar9 + iVar16;" (assignment_expression "pcVar2 = pcVar9 + iVar16" identifier = (binary_expression "pcVar9 + iVar16" identifier + identifier)) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "*pcVar2 = '[';" (assignment_expression "*pcVar2 = '['" (pointer_expression "*pcVar2" * identifier) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" identifier [ identifier ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) }) (else_clause "else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" else (if_statement "if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" if (parenthesized_expression "(cVar3 == '=')" ( (binary_expression "cVar3 == '='" identifier == (char_literal "'='" ' character ')) )) (compound_statement "{\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" { (expression_statement "pcVar9[iVar16] = '[';" (assignment_expression "pcVar9[iVar16] = '['" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar9[iVar16 + 1] = *pcVar10;" (assignment_expression "pcVar9[iVar16 + 1] = *pcVar10" (subscript_expression "pcVar9[iVar16 + 1]" identifier [ (binary_expression "iVar16 + 1" identifier + number_literal) ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }" if (parenthesized_expression "(cVar7 == ']')" ( (binary_expression "cVar7 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }" { (expression_statement "pcVar9[iVar16 + 2] = ']';" (assignment_expression "pcVar9[iVar16 + 2] = ']'" (subscript_expression "pcVar9[iVar16 + 2]" identifier [ (binary_expression "iVar16 + 2" identifier + number_literal) ]) = (char_literal "']'" ' character ')) ;) (expression_statement "iVar16 = iVar16 + 3;" (assignment_expression "iVar16 = iVar16 + 3" identifier = (binary_expression "iVar16 + 3" identifier + number_literal)) ;) (expression_statement "cVar7 = param_1[iVar11 + 2];" (assignment_expression "cVar7 = param_1[iVar11 + 2]" identifier = (subscript_expression "param_1[iVar11 + 2]" identifier [ (binary_expression "iVar11 + 2" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 3;" (assignment_expression "iVar11 = iVar11 + 3" identifier = (binary_expression "iVar11 + 3" identifier + number_literal)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) }) (else_clause "else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }" else (compound_statement "{\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }" { (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }))) }) (else_clause "else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" else (compound_statement "{\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" { (if_statement "if (cVar3 != '.') goto LAB_0007e405;" if (parenthesized_expression "(cVar3 != '.')" ( (binary_expression "cVar3 != '.'" identifier != (char_literal "'.'" ' character ')) )) (goto_statement "goto LAB_0007e405;" goto statement_identifier ;)) (expression_statement "pcVar9[iVar16] = '[';" (assignment_expression "pcVar9[iVar16] = '['" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar9[iVar16 + 1] = *pcVar10;" (assignment_expression "pcVar9[iVar16 + 1] = *pcVar10" (subscript_expression "pcVar9[iVar16 + 1]" identifier [ (binary_expression "iVar16 + 1" identifier + number_literal) ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }" if (parenthesized_expression "(cVar7 == ']')" ( (binary_expression "cVar7 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }" { (expression_statement "pcVar9[iVar16 + 2] = ']';" (assignment_expression "pcVar9[iVar16 + 2] = ']'" (subscript_expression "pcVar9[iVar16 + 2]" identifier [ (binary_expression "iVar16 + 2" identifier + number_literal) ]) = (char_literal "']'" ' character ')) ;) (expression_statement "cVar7 = param_1[iVar11 + 2];" (assignment_expression "cVar7 = param_1[iVar11 + 2]" identifier = (subscript_expression "param_1[iVar11 + 2]" identifier [ (binary_expression "iVar11 + 2" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 3;" (assignment_expression "iVar11 = iVar11 + 3" identifier = (binary_expression "iVar11 + 3" identifier + number_literal)) ;) (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" identifier = true) ;) (expression_statement "iVar16 = iVar16 + 3;" (assignment_expression "iVar16 = iVar16 + 3" identifier = (binary_expression "iVar16 + 3" identifier + number_literal)) ;) }) (else_clause "else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }" else (compound_statement "{\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }" { (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" identifier = true) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }))) }))))) }) (else_clause "else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" else (if_statement "if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" if (parenthesized_expression "((cVar7 == ':') && (bVar4))" ( (binary_expression "(cVar7 == ':') && (bVar4)" (parenthesized_expression "(cVar7 == ':')" ( (binary_expression "cVar7 == ':'" identifier == (char_literal "':'" ' character ')) )) && (parenthesized_expression "(bVar4)" ( identifier ))) )) (compound_statement "{\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" { (if_statement "if (*pcVar10 != ']') goto LAB_0007e405;" if (parenthesized_expression "(*pcVar10 != ']')" ( (binary_expression "*pcVar10 != ']'" (pointer_expression "*pcVar10" * identifier) != (char_literal "']'" ' character ')) )) (goto_statement "goto LAB_0007e405;" goto statement_identifier ;)) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "pcVar9[iVar16] = ':';" (assignment_expression "pcVar9[iVar16] = ':'" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "':'" ' character ')) ;) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" identifier [ identifier ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }) (else_clause "else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" else (if_statement "if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" if (parenthesized_expression "((cVar7 == '=') && (bVar5))" ( (binary_expression "(cVar7 == '=') && (bVar5)" (parenthesized_expression "(cVar7 == '=')" ( (binary_expression "cVar7 == '='" identifier == (char_literal "'='" ' character ')) )) && (parenthesized_expression "(bVar5)" ( identifier ))) )) (compound_statement "{\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }" { (if_statement "if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }" if (parenthesized_expression "(*pcVar10 == ']')" ( (binary_expression "*pcVar10 == ']'" (pointer_expression "*pcVar10" * identifier) == (char_literal "']'" ' character ')) )) (compound_statement "{\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }" { (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "pcVar9[iVar16] = '=';" (assignment_expression "pcVar9[iVar16] = '='" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "'='" ' character ')) ;) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" identifier [ identifier ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }) (else_clause "else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }" else (compound_statement "{\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }" { (labeled_statement "LAB_0007e405:\n              *local_44 = cVar7;" statement_identifier : (expression_statement "*local_44 = cVar7;" (assignment_expression "*local_44 = cVar7" (pointer_expression "*local_44" * identifier) = identifier) ;)) (expression_statement "cVar7 = *pcVar10;" (assignment_expression "cVar7 = *pcVar10" identifier = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "iVar16 = iVar13;" (assignment_expression "iVar16 = iVar13" identifier = identifier) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) }))) }) (else_clause "else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" else (compound_statement "{\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" { (if_statement "if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;" if (parenthesized_expression "(((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']'))" ( (binary_expression "((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')" (parenthesized_expression "((cVar7 != '.') || (!bVar6))" ( (binary_expression "(cVar7 != '.') || (!bVar6)" (parenthesized_expression "(cVar7 != '.')" ( (binary_expression "cVar7 != '.'" identifier != (char_literal "'.'" ' character ')) )) || (parenthesized_expression "(!bVar6)" ( (unary_expression "!bVar6" ! identifier) ))) )) || (parenthesized_expression "(*pcVar10 != ']')" ( (binary_expression "*pcVar10 != ']'" (pointer_expression "*pcVar10" * identifier) != (char_literal "']'" ' character ')) ))) )) (goto_statement "goto LAB_0007e405;" goto statement_identifier ;)) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (expression_statement "pcVar9[iVar16] = '.';" (assignment_expression "pcVar9[iVar16] = '.'" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "'.'" ' character ')) ;) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" identifier [ identifier ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }))))))) }))) (if_statement "if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }" if (parenthesized_expression "(cVar7 == ']')" ( (binary_expression "cVar7 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }" { (expression_statement "pcVar9[iVar16] = ']';" (assignment_expression "pcVar9[iVar16] = ']'" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "']'" ' character ')) ;) (expression_statement "pcVar12 = param_1 + iVar11;" (assignment_expression "pcVar12 = param_1 + iVar11" identifier = (binary_expression "param_1 + iVar11" identifier + identifier)) ;) (expression_statement "iVar14 = iVar16 + 1;" (assignment_expression "iVar14 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)iVar11;" (assignment_expression "pcVar1 = (char *)iVar11" identifier = (cast_expression "(char *)iVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_44 = pcVar9 + iVar16 + 1;" (assignment_expression "local_44 = pcVar9 + iVar16 + 1" identifier = (binary_expression "pcVar9 + iVar16 + 1" (binary_expression "pcVar9 + iVar16" identifier + identifier) + number_literal)) ;) (break_statement "break;" break ;) })) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" identifier = identifier) ;) }) while (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (goto_statement "goto LAB_0007e1e3;" goto statement_identifier ;) })) (if_statement "if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }" if (parenthesized_expression "(cVar7 != '\\')" ( (binary_expression "cVar7 != '\\'" identifier != (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }" { (labeled_statement "LAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];" statement_identifier : (expression_statement "cVar7 = param_1[(int)local_48];" (assignment_expression "cVar7 = param_1[(int)local_48]" identifier = (subscript_expression "param_1[(int)local_48]" identifier [ (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;)) (expression_statement "local_48 = pcVar1;" (assignment_expression "local_48 = pcVar1" identifier = identifier) ;) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" identifier = identifier) ;) (goto_statement "goto LAB_0007e1e1;" goto statement_identifier ;) })) (expression_statement "*local_44 = '\\';" (assignment_expression "*local_44 = '\\'" (pointer_expression "*local_44" * identifier) = (char_literal "'\\'" ' escape_sequence ')) ;) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" identifier = identifier) ;) (if_statement "if (cVar7 == '\0') goto LAB_0007e1ed;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;)) (expression_statement "iVar14 = iVar13 + 2;" (assignment_expression "iVar14 = iVar13 + 2" identifier = (binary_expression "iVar13 + 2" identifier + number_literal)) ;) (expression_statement "local_44 = pcVar9 + iVar14;" (assignment_expression "local_44 = pcVar9 + iVar14" identifier = (binary_expression "pcVar9 + iVar14" identifier + identifier)) ;) (expression_statement "pcVar10 = pcVar15;" (assignment_expression "pcVar10 = pcVar15" identifier = identifier) ;) (if_statement "if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }" if (parenthesized_expression "(((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01'))" ( (binary_expression "((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')" (parenthesized_expression "((param_2 >> 3 & 1) == 0)" ( (binary_expression "(param_2 >> 3 & 1) == 0" (parenthesized_expression "(param_2 >> 3 & 1)" ( (binary_expression "param_2 >> 3 & 1" (binary_expression "param_2 >> 3" identifier >> number_literal) & number_literal) )) == number_literal) )) || (parenthesized_expression "(cVar7 != '\x01')" ( (binary_expression "cVar7 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) ))) )) (compound_statement "{\n      local_48 = (char *)((int)local_48 + 2);\n    }" { (expression_statement "local_48 = (char *)((int)local_48 + 2);" (assignment_expression "local_48 = (char *)((int)local_48 + 2)" identifier = (cast_expression "(char *)((int)local_48 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 2)" ( (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }" else (compound_statement "{\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }" { (if_statement "if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }" if (parenthesized_expression "((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f'))" ( (binary_expression "(param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')" (parenthesized_expression "(param_1[(int)local_48 + 2] != '\x01')" ( (binary_expression "param_1[(int)local_48 + 2] != '\x01'" (subscript_expression "param_1[(int)local_48 + 2]" identifier [ (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) != (char_literal "'\x01'" ' escape_sequence ')) )) && (parenthesized_expression "(param_1[(int)local_48 + 2] != '\x7f')" ( (binary_expression "param_1[(int)local_48 + 2] != '\x7f'" (subscript_expression "param_1[(int)local_48 + 2]" identifier [ (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }" { (expression_statement "local_48 = (char *)((int)local_48 + 2);" (assignment_expression "local_48 = (char *)((int)local_48 + 2)" identifier = (cast_expression "(char *)((int)local_48 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 2)" ( (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "cVar7 = '\x01';" (assignment_expression "cVar7 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pcVar12 = param_1 + (int)local_48;" (assignment_expression "pcVar12 = param_1 + (int)local_48" identifier = (binary_expression "param_1 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto LAB_0007e1e1;" goto statement_identifier ;) })) (expression_statement "cVar7 = param_1[(int)local_48 + 2];" (assignment_expression "cVar7 = param_1[(int)local_48 + 2]" identifier = (subscript_expression "param_1[(int)local_48 + 2]" identifier [ (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (expression_statement "local_48 = (char *)((int)local_48 + 3);" (assignment_expression "local_48 = (char *)((int)local_48 + 3)" identifier = (cast_expression "(char *)((int)local_48 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 3)" ( (binary_expression "(int)local_48 + 3" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (expression_statement "pcVar12 = param_1 + (int)local_48;" (assignment_expression "pcVar12 = param_1 + (int)local_48" identifier = (binary_expression "param_1 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }))) (labeled_statement "LAB_0007e1e1:\n  *pcVar10 = cVar7;" statement_identifier : (expression_statement "*pcVar10 = cVar7;" (assignment_expression "*pcVar10 = cVar7" (pointer_expression "*pcVar10" * identifier) = identifier) ;)) (expression_statement "pcVar1 = local_48;" (assignment_expression "pcVar1 = local_48" identifier = identifier) ;) (labeled_statement "LAB_0007e1e3:\n  local_48 = pcVar1;" statement_identifier : (expression_statement "local_48 = pcVar1;" (assignment_expression "local_48 = pcVar1" identifier = identifier) ;)) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "iVar13 = iVar14;" (assignment_expression "iVar13 = iVar14" identifier = identifier) ;) (if_statement "if (cVar7 == '\0') goto LAB_0007e1ed;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;)) (goto_statement "goto LAB_0007e180;" goto statement_identifier ;) })))
(translation_unit "char * quote_string_for_globbing(char *pathname,int qflags)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  char cVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  char cVar7;\n  size_t sVar8;\n  char *pcVar9;\n  char *pcVar10;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  int iVar14;\n  char *pcVar15;\n  int unaff_EDI;\n  int iVar16;\n  char *local_48;\n  char *local_44;\n  \n  __x86_get_pc_thunk_di();\n  sVar8 = strlen(pathname);\n  pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);\n  cVar7 = *pathname;\n  if (((qflags & 1U) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (pathname[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }\n  bVar5 = false;\n  bVar6 = false;\n  bVar4 = false;\n  local_48 = (char *)0x0;\n  iVar13 = 0;\nLAB_0007e180:\n  local_44 = pcVar9 + iVar13;\n  if (cVar7 == '\x01') {\n    cVar7 = pathname[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = pathname + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((qflags & 0xcU) == 0) {\n      if ((qflags & 2U) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = pathname + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((qflags & 4U) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = pathname + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = pathname + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((qflags & 4U) != 0) {\n      if ((local_48 != (char *)0x0) && (pathname[(int)local_48 + -1] == '\x01')) {\n        cVar7 = pathname[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = pathname[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = pathname[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = pathname + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = pathname[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = pathname + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = pathname[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if ((((uint)qflags >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((pathname[(int)local_48 + 2] != '\x01') && (pathname[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = pathname + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = pathname[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = pathname + (int)local_48;\n  }\nLAB_0007e1e1:\n  *pcVar10 = cVar7;\n  pcVar1 = local_48;\nLAB_0007e1e3:\n  local_48 = pcVar1;\n  cVar7 = *pcVar12;\n  iVar13 = iVar14;\n  if (cVar7 == '\0') goto LAB_0007e1ed;\n  goto LAB_0007e180;\n}\n\n" (function_definition "char * quote_string_for_globbing(char *pathname,int qflags)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  char cVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  char cVar7;\n  size_t sVar8;\n  char *pcVar9;\n  char *pcVar10;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  int iVar14;\n  char *pcVar15;\n  int unaff_EDI;\n  int iVar16;\n  char *local_48;\n  char *local_44;\n  \n  __x86_get_pc_thunk_di();\n  sVar8 = strlen(pathname);\n  pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);\n  cVar7 = *pathname;\n  if (((qflags & 1U) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (pathname[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }\n  bVar5 = false;\n  bVar6 = false;\n  bVar4 = false;\n  local_48 = (char *)0x0;\n  iVar13 = 0;\nLAB_0007e180:\n  local_44 = pcVar9 + iVar13;\n  if (cVar7 == '\x01') {\n    cVar7 = pathname[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = pathname + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((qflags & 0xcU) == 0) {\n      if ((qflags & 2U) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = pathname + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((qflags & 4U) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = pathname + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = pathname + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((qflags & 4U) != 0) {\n      if ((local_48 != (char *)0x0) && (pathname[(int)local_48 + -1] == '\x01')) {\n        cVar7 = pathname[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = pathname[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = pathname[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = pathname + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = pathname[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = pathname + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = pathname[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if ((((uint)qflags >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((pathname[(int)local_48 + 2] != '\x01') && (pathname[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = pathname + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = pathname[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = pathname + (int)local_48;\n  }\nLAB_0007e1e1:\n  *pcVar10 = cVar7;\n  pcVar1 = local_48;\nLAB_0007e1e3:\n  local_48 = pcVar1;\n  cVar7 = *pcVar12;\n  iVar13 = iVar14;\n  if (cVar7 == '\0') goto LAB_0007e1ed;\n  goto LAB_0007e180;\n}" primitive_type (pointer_declarator "* quote_string_for_globbing(char *pathname,int qflags)" * (function_declarator "quote_string_for_globbing(char *pathname,int qflags)" identifier (parameter_list "(char *pathname,int qflags)" ( (parameter_declaration "char *pathname" primitive_type (pointer_declarator "*pathname" * identifier)) , (parameter_declaration "int qflags" primitive_type identifier) )))) (compound_statement "{\n  char *pcVar1;\n  char *pcVar2;\n  char cVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  char cVar7;\n  size_t sVar8;\n  char *pcVar9;\n  char *pcVar10;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  int iVar14;\n  char *pcVar15;\n  int unaff_EDI;\n  int iVar16;\n  char *local_48;\n  char *local_44;\n  \n  __x86_get_pc_thunk_di();\n  sVar8 = strlen(pathname);\n  pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);\n  cVar7 = *pathname;\n  if (((qflags & 1U) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (pathname[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }\n  bVar5 = false;\n  bVar6 = false;\n  bVar4 = false;\n  local_48 = (char *)0x0;\n  iVar13 = 0;\nLAB_0007e180:\n  local_44 = pcVar9 + iVar13;\n  if (cVar7 == '\x01') {\n    cVar7 = pathname[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = pathname + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((qflags & 0xcU) == 0) {\n      if ((qflags & 2U) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = pathname + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((qflags & 4U) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = pathname + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = pathname + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((qflags & 4U) != 0) {\n      if ((local_48 != (char *)0x0) && (pathname[(int)local_48 + -1] == '\x01')) {\n        cVar7 = pathname[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = pathname[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = pathname[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = pathname + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = pathname[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = pathname + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = pathname[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if ((((uint)qflags >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((pathname[(int)local_48 + 2] != '\x01') && (pathname[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = pathname + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = pathname[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = pathname + (int)local_48;\n  }\nLAB_0007e1e1:\n  *pcVar10 = cVar7;\n  pcVar1 = local_48;\nLAB_0007e1e3:\n  local_48 = pcVar1;\n  cVar7 = *pcVar12;\n  iVar13 = iVar14;\n  if (cVar7 == '\0') goto LAB_0007e1ed;\n  goto LAB_0007e180;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "char *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "char *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (expression_statement "__x86_get_pc_thunk_di();" (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( ))) ;) (expression_statement "sVar8 = strlen(pathname);" (assignment_expression "sVar8 = strlen(pathname)" identifier = (call_expression "strlen(pathname)" identifier (argument_list "(pathname)" ( identifier )))) ;) (expression_statement "pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);" (assignment_expression "pcVar9 = (char *)xmalloc(sVar8 * 2 + 1)" identifier = (cast_expression "(char *)xmalloc(sVar8 * 2 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar8 * 2 + 1)" identifier (argument_list "(sVar8 * 2 + 1)" ( (binary_expression "sVar8 * 2 + 1" (binary_expression "sVar8 * 2" identifier * number_literal) + number_literal) ))))) ;) (expression_statement "cVar7 = *pathname;" (assignment_expression "cVar7 = *pathname" identifier = (pointer_expression "*pathname" * identifier)) ;) (if_statement "if (((qflags & 1U) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (pathname[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" if (parenthesized_expression "(((qflags & 1U) == 0) || (cVar7 != '\x7f'))" ( (binary_expression "((qflags & 1U) == 0) || (cVar7 != '\x7f')" (parenthesized_expression "((qflags & 1U) == 0)" ( (binary_expression "(qflags & 1U) == 0" (parenthesized_expression "(qflags & 1U)" ( (binary_expression "qflags & 1U" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(cVar7 != '\x7f')" ( (binary_expression "cVar7 != '\x7f'" identifier != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }" { (expression_statement "local_44 = pcVar9;" (assignment_expression "local_44 = pcVar9" identifier = identifier) ;) (if_statement "if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }" { (labeled_statement "LAB_0007e1ed:\n      *local_44 = '\0';" statement_identifier : (expression_statement "*local_44 = '\0';" (assignment_expression "*local_44 = '\0'" (pointer_expression "*local_44" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (return_statement "return pcVar9;" return identifier ;) })) }) (else_clause "else if (pathname[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" else (if_statement "if (pathname[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" if (parenthesized_expression "(pathname[1] == '\0')" ( (binary_expression "pathname[1] == '\0'" (subscript_expression "pathname[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" { (expression_statement "*pcVar9 = '\0';" (assignment_expression "*pcVar9 = '\0'" (pointer_expression "*pcVar9" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return pcVar9;" return identifier ;) })))) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "local_48 = (char *)0x0;" (assignment_expression "local_48 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0007e180:\n  local_44 = pcVar9 + iVar13;" statement_identifier : (expression_statement "local_44 = pcVar9 + iVar13;" (assignment_expression "local_44 = pcVar9 + iVar13" identifier = (binary_expression "pcVar9 + iVar13" identifier + identifier)) ;)) (if_statement "if (cVar7 == '\x01') {\n    cVar7 = pathname[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = pathname + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((qflags & 0xcU) == 0) {\n      if ((qflags & 2U) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = pathname + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((qflags & 4U) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = pathname + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = pathname + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((qflags & 4U) != 0) {\n      if ((local_48 != (char *)0x0) && (pathname[(int)local_48 + -1] == '\x01')) {\n        cVar7 = pathname[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = pathname[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = pathname[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = pathname + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = pathname[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = pathname + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = pathname[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if ((((uint)qflags >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((pathname[(int)local_48 + 2] != '\x01') && (pathname[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = pathname + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = pathname[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = pathname + (int)local_48;\n  }" if (parenthesized_expression "(cVar7 == '\x01')" ( (binary_expression "cVar7 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n    cVar7 = pathname[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = pathname + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((qflags & 0xcU) == 0) {\n      if ((qflags & 2U) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = pathname + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((qflags & 4U) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = pathname + (int)local_48;\n  }" { (expression_statement "cVar7 = pathname[(int)local_48 + 1];" (assignment_expression "cVar7 = pathname[(int)local_48 + 1]" identifier = (subscript_expression "pathname[(int)local_48 + 1]" identifier [ (binary_expression "(int)local_48 + 1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (if_statement "if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }" { (expression_statement "*local_44 = '\x01';" (assignment_expression "*local_44 = '\x01'" (pointer_expression "*local_44" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_44 = pcVar9 + iVar13 + 1;" (assignment_expression "local_44 = pcVar9 + iVar13 + 1" identifier = (binary_expression "pcVar9 + iVar13 + 1" (binary_expression "pcVar9 + iVar13" identifier + identifier) + number_literal)) ;) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;) })) (expression_statement "pcVar1 = (char *)((int)local_48 + 1);" (assignment_expression "pcVar1 = (char *)((int)local_48 + 1)" identifier = (cast_expression "(char *)((int)local_48 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 1)" ( (binary_expression "(int)local_48 + 1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar12 = pathname + (int)pcVar1;" (assignment_expression "pcVar12 = pathname + (int)pcVar1" identifier = (binary_expression "pathname + (int)pcVar1" identifier + (cast_expression "(int)pcVar1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar14 = iVar13;" (assignment_expression "iVar14 = iVar13" identifier = identifier) ;) (if_statement "if ((qflags & 0xcU) == 0) {\n      if ((qflags & 2U) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = pathname + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((qflags & 4U) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }" if (parenthesized_expression "((qflags & 0xcU) == 0)" ( (binary_expression "(qflags & 0xcU) == 0" (parenthesized_expression "(qflags & 0xcU)" ( (binary_expression "qflags & 0xcU" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((qflags & 2U) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }" { (if_statement "if ((qflags & 2U) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }" if (parenthesized_expression "((qflags & 2U) != 0)" ( (binary_expression "(qflags & 2U) != 0" (parenthesized_expression "(qflags & 2U)" ( (binary_expression "qflags & 2U" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }" { (labeled_statement "LAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;" statement_identifier : (if_statement "if (cVar7 == '/') goto LAB_0007e1e3;" if (parenthesized_expression "(cVar7 == '/')" ( (binary_expression "cVar7 == '/'" identifier == (char_literal "'/'" ' character ')) )) (goto_statement "goto LAB_0007e1e3;" goto statement_identifier ;))) })) (if_statement "if (cVar7 != '\x01') goto LAB_0007e240;" if (parenthesized_expression "(cVar7 != '\x01')" ( (binary_expression "cVar7 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e240;" goto statement_identifier ;)) }) (else_clause "else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = pathname + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((qflags & 4U) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }" else (compound_statement "{\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = pathname + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((qflags & 4U) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }" { (if_statement "if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = pathname + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }" if (parenthesized_expression "((cVar7 == '\x01') || (cVar7 == '\x7f'))" ( (binary_expression "(cVar7 == '\x01') || (cVar7 == '\x7f')" (parenthesized_expression "(cVar7 == '\x01')" ( (binary_expression "cVar7 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "(cVar7 == '\x7f')" ( (binary_expression "cVar7 == '\x7f'" identifier == (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n        *local_44 = *pcVar12;\n        pcVar12 = pathname + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }" { (expression_statement "*local_44 = *pcVar12;" (assignment_expression "*local_44 = *pcVar12" (pointer_expression "*local_44" * identifier) = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "pcVar12 = pathname + (int)local_48 + 2;" (assignment_expression "pcVar12 = pathname + (int)local_48 + 2" identifier = (binary_expression "pathname + (int)local_48 + 2" (binary_expression "pathname + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (expression_statement "iVar14 = iVar13 + 1;" (assignment_expression "iVar14 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)((int)local_48 + 2);" (assignment_expression "pcVar1 = (char *)((int)local_48 + 2)" identifier = (cast_expression "(char *)((int)local_48 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 2)" ( (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_44 = pcVar9 + iVar13 + 1;" (assignment_expression "local_44 = pcVar9 + iVar13 + 1" identifier = (binary_expression "pcVar9 + iVar13 + 1" (binary_expression "pcVar9 + iVar13" identifier + identifier) + number_literal)) ;) (goto_statement "goto LAB_0007e1e3;" goto statement_identifier ;) })) (if_statement "if ((qflags & 2U) != 0) goto LAB_0007e238;" if (parenthesized_expression "((qflags & 2U) != 0)" ( (binary_expression "(qflags & 2U) != 0" (parenthesized_expression "(qflags & 2U)" ( (binary_expression "qflags & 2U" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0007e238;" goto statement_identifier ;)) (labeled_statement "LAB_0007e240:\n      if ((qflags & 4U) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }" statement_identifier : (if_statement "if ((qflags & 4U) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }" if (parenthesized_expression "((qflags & 4U) != 0)" ( (binary_expression "(qflags & 4U) != 0" (parenthesized_expression "(qflags & 4U)" ( (binary_expression "qflags & 4U" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }" { (if_statement "if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))();\n          return pcVar9;\n        }" if (parenthesized_expression "((byte)(cVar7 - 0x24U) < 0x59)" ( (binary_expression "(byte)(cVar7 - 0x24U) < 0x59" (call_expression "(byte)(cVar7 - 0x24U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar7 - 0x24U)" ( (binary_expression "cVar7 - 0x24U" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))();\n          return pcVar9;\n        }" { comment comment (expression_statement "pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))();" (assignment_expression "pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))()" identifier = (cast_expression "(char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))()" (parenthesized_expression "(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     ))" ( (pointer_expression "*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     )" * (cast_expression "(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     )" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)\n                                     )" ( (binary_expression "unaff_EDI + 0xcbf09 +\n                                     *(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)" (binary_expression "unaff_EDI + 0xcbf09" identifier + number_literal) + (pointer_expression "*(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)" * (cast_expression "(int *)(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4)" ( (binary_expression "unaff_EDI + 0x73325 + (uint)(byte)(cVar7 - 0x24U) * 4" (binary_expression "unaff_EDI + 0x73325" identifier + number_literal) + (binary_expression "(uint)(byte)(cVar7 - 0x24U) * 4" (call_expression "(uint)(byte)(cVar7 - 0x24U)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(cVar7 - 0x24U)" ( (binary_expression "cVar7 - 0x24U" identifier - number_literal) ))) * number_literal)) ))))) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar9;" return identifier ;) })) (goto_statement "goto LAB_0007e1e3;" goto statement_identifier ;) }))) }))) (expression_statement "*local_44 = '\\';" (assignment_expression "*local_44 = '\\'" (pointer_expression "*local_44" * identifier) = (char_literal "'\\'" ' escape_sequence ')) ;) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "pcVar10 = pcVar9 + iVar13 + 1;" (assignment_expression "pcVar10 = pcVar9 + iVar13 + 1" identifier = (binary_expression "pcVar9 + iVar13 + 1" (binary_expression "pcVar9 + iVar13" identifier + identifier) + number_literal)) ;) (expression_statement "local_44 = pcVar10;" (assignment_expression "local_44 = pcVar10" identifier = identifier) ;) (if_statement "if (cVar7 == '\0') goto LAB_0007e1ed;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;)) (expression_statement "iVar14 = iVar13 + 2;" (assignment_expression "iVar14 = iVar13 + 2" identifier = (binary_expression "iVar13 + 2" identifier + number_literal)) ;) (expression_statement "local_48 = (char *)((int)local_48 + 2);" (assignment_expression "local_48 = (char *)((int)local_48 + 2)" identifier = (cast_expression "(char *)((int)local_48 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 2)" ( (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_44 = pcVar9 + iVar14;" (assignment_expression "local_44 = pcVar9 + iVar14" identifier = (binary_expression "pcVar9 + iVar14" identifier + identifier)) ;) (expression_statement "pcVar12 = pathname + (int)local_48;" (assignment_expression "pcVar12 = pathname + (int)local_48" identifier = (binary_expression "pathname + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = pathname + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((qflags & 4U) != 0) {\n      if ((local_48 != (char *)0x0) && (pathname[(int)local_48 + -1] == '\x01')) {\n        cVar7 = pathname[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = pathname[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = pathname[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = pathname + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = pathname[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = pathname + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = pathname[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if ((((uint)qflags >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((pathname[(int)local_48 + 2] != '\x01') && (pathname[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = pathname + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = pathname[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = pathname + (int)local_48;\n  }" else (compound_statement "{\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = pathname + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((qflags & 4U) != 0) {\n      if ((local_48 != (char *)0x0) && (pathname[(int)local_48 + -1] == '\x01')) {\n        cVar7 = pathname[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = pathname[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = pathname[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = pathname + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = pathname[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = pathname + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = pathname[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if ((((uint)qflags >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((pathname[(int)local_48 + 2] != '\x01') && (pathname[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = pathname + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = pathname[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = pathname + (int)local_48;\n  }" { (expression_statement "iVar14 = iVar13 + 1;" (assignment_expression "iVar14 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)((int)local_48 + 1);" (assignment_expression "pcVar1 = (char *)((int)local_48 + 1)" identifier = (cast_expression "(char *)((int)local_48 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 1)" ( (binary_expression "(int)local_48 + 1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar15 = pcVar9 + iVar14;" (assignment_expression "pcVar15 = pcVar9 + iVar14" identifier = (binary_expression "pcVar9 + iVar14" identifier + identifier)) ;) (expression_statement "pcVar12 = pathname + (int)pcVar1;" (assignment_expression "pcVar12 = pathname + (int)pcVar1" identifier = (binary_expression "pathname + (int)pcVar1" identifier + (cast_expression "(int)pcVar1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar10 = local_44;" (assignment_expression "pcVar10 = local_44" identifier = identifier) ;) (if_statement "if ((qflags & 4U) != 0) {\n      if ((local_48 != (char *)0x0) && (pathname[(int)local_48 + -1] == '\x01')) {\n        cVar7 = pathname[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = pathname[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = pathname[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = pathname + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = pathname[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = pathname + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }" if (parenthesized_expression "((qflags & 4U) != 0)" ( (binary_expression "(qflags & 4U) != 0" (parenthesized_expression "(qflags & 4U)" ( (binary_expression "qflags & 4U" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if ((local_48 != (char *)0x0) && (pathname[(int)local_48 + -1] == '\x01')) {\n        cVar7 = pathname[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = pathname[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = pathname[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = pathname + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = pathname[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = pathname + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }" { (if_statement "if ((local_48 != (char *)0x0) && (pathname[(int)local_48 + -1] == '\x01')) {\n        cVar7 = pathname[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }" if (parenthesized_expression "((local_48 != (char *)0x0) && (pathname[(int)local_48 + -1] == '\x01'))" ( (binary_expression "(local_48 != (char *)0x0) && (pathname[(int)local_48 + -1] == '\x01')" (parenthesized_expression "(local_48 != (char *)0x0)" ( (binary_expression "local_48 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pathname[(int)local_48 + -1] == '\x01')" ( (binary_expression "pathname[(int)local_48 + -1] == '\x01'" (subscript_expression "pathname[(int)local_48 + -1]" identifier [ (binary_expression "(int)local_48 + -1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) == (char_literal "'\x01'" ' escape_sequence ')) ))) )) (compound_statement "{\n        cVar7 = pathname[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }" { (expression_statement "cVar7 = pathname[(int)local_48];" (assignment_expression "cVar7 = pathname[(int)local_48]" identifier = (subscript_expression "pathname[(int)local_48]" identifier [ (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "local_48 = pcVar1;" (assignment_expression "local_48 = pcVar1" identifier = identifier) ;) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" identifier = identifier) ;) (goto_statement "goto LAB_0007e1e1;" goto statement_identifier ;) })) (if_statement "if (cVar7 != '[') goto LAB_0007e1cd;" if (parenthesized_expression "(cVar7 != '[')" ( (binary_expression "cVar7 != '['" identifier != (char_literal "'['" ' character ')) )) (goto_statement "goto LAB_0007e1cd;" goto statement_identifier ;)) (expression_statement "*local_44 = '[';" (assignment_expression "*local_44 = '['" (pointer_expression "*local_44" * identifier) = (char_literal "'['" ' character ')) ;) (expression_statement "iVar11 = (int)local_48 + 2;" (assignment_expression "iVar11 = (int)local_48 + 2" identifier = (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "iVar16 = iVar14;" (assignment_expression "iVar16 = iVar14" identifier = identifier) ;) (expression_statement "pcVar10 = pcVar15;" (assignment_expression "pcVar10 = pcVar15" identifier = identifier) ;) (if_statement "if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = pathname[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }" if (parenthesized_expression "(cVar7 == '^')" ( (binary_expression "cVar7 == '^'" identifier == (char_literal "'^'" ' character ')) )) (compound_statement "{\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = pathname[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }" { (expression_statement "iVar16 = iVar13 + 2;" (assignment_expression "iVar16 = iVar13 + 2" identifier = (binary_expression "iVar13 + 2" identifier + number_literal)) ;) (expression_statement "iVar11 = (int)local_48 + 3;" (assignment_expression "iVar11 = (int)local_48 + 3" identifier = (binary_expression "(int)local_48 + 3" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*pcVar15 = '^';" (assignment_expression "*pcVar15 = '^'" (pointer_expression "*pcVar15" * identifier) = (char_literal "'^'" ' character ')) ;) (expression_statement "cVar7 = pathname[(int)local_48 + 2];" (assignment_expression "cVar7 = pathname[(int)local_48 + 2]" identifier = (subscript_expression "pathname[(int)local_48 + 2]" identifier [ (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (expression_statement "pcVar10 = pcVar9 + iVar16;" (assignment_expression "pcVar10 = pcVar9 + iVar16" identifier = (binary_expression "pcVar9 + iVar16" identifier + identifier)) ;) })) (expression_statement "local_48 = pcVar10;" (assignment_expression "local_48 = pcVar10" identifier = identifier) ;) (if_statement "if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = pathname[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }" if (parenthesized_expression "(cVar7 == ']')" ( (binary_expression "cVar7 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = pathname[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }" { (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "*local_48 = ']';" (assignment_expression "*local_48 = ']'" (pointer_expression "*local_48" * identifier) = (char_literal "']'" ' character ')) ;) (expression_statement "cVar7 = pathname[iVar11];" (assignment_expression "cVar7 = pathname[iVar11]" identifier = (subscript_expression "pathname[iVar11]" identifier [ identifier ])) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "local_48 = pcVar9 + iVar16;" (assignment_expression "local_48 = pcVar9 + iVar16" identifier = (binary_expression "pcVar9 + iVar16" identifier + identifier)) ;) })) (if_statement "if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }" { (expression_statement "local_44 = local_48;" (assignment_expression "local_44 = local_48" identifier = identifier) ;) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;) })) (do_statement "do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = pathname + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = pathname[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = pathname + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');" do (compound_statement "{\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = pathname + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = pathname[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = pathname + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      }" { (expression_statement "local_44 = pcVar9 + iVar16;" (assignment_expression "local_44 = pcVar9 + iVar16" identifier = (binary_expression "pcVar9 + iVar16" identifier + identifier)) ;) (expression_statement "pcVar10 = pathname + iVar11;" (assignment_expression "pcVar10 = pathname + iVar11" identifier = (binary_expression "pathname + iVar11" identifier + identifier)) ;) (if_statement "if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = pathname[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }" if (parenthesized_expression "(cVar7 == '\x01')" ( (binary_expression "cVar7 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = pathname[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }" { (if_statement "if (*pcVar10 == '\0') goto LAB_0007e1ed;" if (parenthesized_expression "(*pcVar10 == '\0')" ( (binary_expression "*pcVar10 == '\0'" (pointer_expression "*pcVar10" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;)) (expression_statement "*local_44 = *pcVar10;" (assignment_expression "*local_44 = *pcVar10" (pointer_expression "*local_44" * identifier) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = pathname[iVar11 + 1];" (assignment_expression "cVar7 = pathname[iVar11 + 1]" identifier = (subscript_expression "pathname[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) }) (else_clause "else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }" else (compound_statement "{\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }" { (expression_statement "iVar13 = iVar16 + 1;" (assignment_expression "iVar13 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (if_statement "if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" if (parenthesized_expression "(cVar7 == '[')" ( (binary_expression "cVar7 == '['" identifier == (char_literal "'['" ' character ')) )) (compound_statement "{\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }" { (expression_statement "cVar3 = *pcVar10;" (assignment_expression "cVar3 = *pcVar10" identifier = (pointer_expression "*pcVar10" * identifier)) ;) (if_statement "if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" if (parenthesized_expression "(cVar3 == ':')" ( (binary_expression "cVar3 == ':'" identifier == (char_literal "':'" ' character ')) )) (compound_statement "{\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }" { (expression_statement "pcVar2 = pcVar9 + iVar16;" (assignment_expression "pcVar2 = pcVar9 + iVar16" identifier = (binary_expression "pcVar9 + iVar16" identifier + identifier)) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "*pcVar2 = '[';" (assignment_expression "*pcVar2 = '['" (pointer_expression "*pcVar2" * identifier) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" identifier [ identifier ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = pathname[iVar11 + 1];" (assignment_expression "cVar7 = pathname[iVar11 + 1]" identifier = (subscript_expression "pathname[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) }) (else_clause "else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" else (if_statement "if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" if (parenthesized_expression "(cVar3 == '=')" ( (binary_expression "cVar3 == '='" identifier == (char_literal "'='" ' character ')) )) (compound_statement "{\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" { (expression_statement "pcVar9[iVar16] = '[';" (assignment_expression "pcVar9[iVar16] = '['" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar9[iVar16 + 1] = *pcVar10;" (assignment_expression "pcVar9[iVar16 + 1] = *pcVar10" (subscript_expression "pcVar9[iVar16 + 1]" identifier [ (binary_expression "iVar16 + 1" identifier + number_literal) ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = pathname[iVar11 + 1];" (assignment_expression "cVar7 = pathname[iVar11 + 1]" identifier = (subscript_expression "pathname[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }" if (parenthesized_expression "(cVar7 == ']')" ( (binary_expression "cVar7 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }" { (expression_statement "pcVar9[iVar16 + 2] = ']';" (assignment_expression "pcVar9[iVar16 + 2] = ']'" (subscript_expression "pcVar9[iVar16 + 2]" identifier [ (binary_expression "iVar16 + 2" identifier + number_literal) ]) = (char_literal "']'" ' character ')) ;) (expression_statement "iVar16 = iVar16 + 3;" (assignment_expression "iVar16 = iVar16 + 3" identifier = (binary_expression "iVar16 + 3" identifier + number_literal)) ;) (expression_statement "cVar7 = pathname[iVar11 + 2];" (assignment_expression "cVar7 = pathname[iVar11 + 2]" identifier = (subscript_expression "pathname[iVar11 + 2]" identifier [ (binary_expression "iVar11 + 2" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 3;" (assignment_expression "iVar11 = iVar11 + 3" identifier = (binary_expression "iVar11 + 3" identifier + number_literal)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) }) (else_clause "else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }" else (compound_statement "{\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }" { (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }))) }) (else_clause "else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" else (compound_statement "{\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" { (if_statement "if (cVar3 != '.') goto LAB_0007e405;" if (parenthesized_expression "(cVar3 != '.')" ( (binary_expression "cVar3 != '.'" identifier != (char_literal "'.'" ' character ')) )) (goto_statement "goto LAB_0007e405;" goto statement_identifier ;)) (expression_statement "pcVar9[iVar16] = '[';" (assignment_expression "pcVar9[iVar16] = '['" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar9[iVar16 + 1] = *pcVar10;" (assignment_expression "pcVar9[iVar16 + 1] = *pcVar10" (subscript_expression "pcVar9[iVar16 + 1]" identifier [ (binary_expression "iVar16 + 1" identifier + number_literal) ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = pathname[iVar11 + 1];" (assignment_expression "cVar7 = pathname[iVar11 + 1]" identifier = (subscript_expression "pathname[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }" if (parenthesized_expression "(cVar7 == ']')" ( (binary_expression "cVar7 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = pathname[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }" { (expression_statement "pcVar9[iVar16 + 2] = ']';" (assignment_expression "pcVar9[iVar16 + 2] = ']'" (subscript_expression "pcVar9[iVar16 + 2]" identifier [ (binary_expression "iVar16 + 2" identifier + number_literal) ]) = (char_literal "']'" ' character ')) ;) (expression_statement "cVar7 = pathname[iVar11 + 2];" (assignment_expression "cVar7 = pathname[iVar11 + 2]" identifier = (subscript_expression "pathname[iVar11 + 2]" identifier [ (binary_expression "iVar11 + 2" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 3;" (assignment_expression "iVar11 = iVar11 + 3" identifier = (binary_expression "iVar11 + 3" identifier + number_literal)) ;) (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" identifier = true) ;) (expression_statement "iVar16 = iVar16 + 3;" (assignment_expression "iVar16 = iVar16 + 3" identifier = (binary_expression "iVar16 + 3" identifier + number_literal)) ;) }) (else_clause "else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }" else (compound_statement "{\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }" { (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" identifier = true) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }))) }))))) }) (else_clause "else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" else (if_statement "if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" if (parenthesized_expression "((cVar7 == ':') && (bVar4))" ( (binary_expression "(cVar7 == ':') && (bVar4)" (parenthesized_expression "(cVar7 == ':')" ( (binary_expression "cVar7 == ':'" identifier == (char_literal "':'" ' character ')) )) && (parenthesized_expression "(bVar4)" ( identifier ))) )) (compound_statement "{\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" { (if_statement "if (*pcVar10 != ']') goto LAB_0007e405;" if (parenthesized_expression "(*pcVar10 != ']')" ( (binary_expression "*pcVar10 != ']'" (pointer_expression "*pcVar10" * identifier) != (char_literal "']'" ' character ')) )) (goto_statement "goto LAB_0007e405;" goto statement_identifier ;)) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "pcVar9[iVar16] = ':';" (assignment_expression "pcVar9[iVar16] = ':'" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "':'" ' character ')) ;) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" identifier [ identifier ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = pathname[iVar11 + 1];" (assignment_expression "cVar7 = pathname[iVar11 + 1]" identifier = (subscript_expression "pathname[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }) (else_clause "else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" else (if_statement "if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" if (parenthesized_expression "((cVar7 == '=') && (bVar5))" ( (binary_expression "(cVar7 == '=') && (bVar5)" (parenthesized_expression "(cVar7 == '=')" ( (binary_expression "cVar7 == '='" identifier == (char_literal "'='" ' character ')) )) && (parenthesized_expression "(bVar5)" ( identifier ))) )) (compound_statement "{\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }" { (if_statement "if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }" if (parenthesized_expression "(*pcVar10 == ']')" ( (binary_expression "*pcVar10 == ']'" (pointer_expression "*pcVar10" * identifier) == (char_literal "']'" ' character ')) )) (compound_statement "{\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }" { (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "pcVar9[iVar16] = '=';" (assignment_expression "pcVar9[iVar16] = '='" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "'='" ' character ')) ;) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" identifier [ identifier ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = pathname[iVar11 + 1];" (assignment_expression "cVar7 = pathname[iVar11 + 1]" identifier = (subscript_expression "pathname[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }) (else_clause "else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }" else (compound_statement "{\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }" { (labeled_statement "LAB_0007e405:\n              *local_44 = cVar7;" statement_identifier : (expression_statement "*local_44 = cVar7;" (assignment_expression "*local_44 = cVar7" (pointer_expression "*local_44" * identifier) = identifier) ;)) (expression_statement "cVar7 = *pcVar10;" (assignment_expression "cVar7 = *pcVar10" identifier = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "iVar16 = iVar13;" (assignment_expression "iVar16 = iVar13" identifier = identifier) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) }))) }) (else_clause "else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" else (compound_statement "{\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = pathname[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" { (if_statement "if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;" if (parenthesized_expression "(((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']'))" ( (binary_expression "((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')" (parenthesized_expression "((cVar7 != '.') || (!bVar6))" ( (binary_expression "(cVar7 != '.') || (!bVar6)" (parenthesized_expression "(cVar7 != '.')" ( (binary_expression "cVar7 != '.'" identifier != (char_literal "'.'" ' character ')) )) || (parenthesized_expression "(!bVar6)" ( (unary_expression "!bVar6" ! identifier) ))) )) || (parenthesized_expression "(*pcVar10 != ']')" ( (binary_expression "*pcVar10 != ']'" (pointer_expression "*pcVar10" * identifier) != (char_literal "']'" ' character ')) ))) )) (goto_statement "goto LAB_0007e405;" goto statement_identifier ;)) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (expression_statement "pcVar9[iVar16] = '.';" (assignment_expression "pcVar9[iVar16] = '.'" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "'.'" ' character ')) ;) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" identifier [ identifier ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = pathname[iVar11 + 1];" (assignment_expression "cVar7 = pathname[iVar11 + 1]" identifier = (subscript_expression "pathname[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }))))))) }))) (if_statement "if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = pathname + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }" if (parenthesized_expression "(cVar7 == ']')" ( (binary_expression "cVar7 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n          pcVar9[iVar16] = ']';\n          pcVar12 = pathname + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }" { (expression_statement "pcVar9[iVar16] = ']';" (assignment_expression "pcVar9[iVar16] = ']'" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "']'" ' character ')) ;) (expression_statement "pcVar12 = pathname + iVar11;" (assignment_expression "pcVar12 = pathname + iVar11" identifier = (binary_expression "pathname + iVar11" identifier + identifier)) ;) (expression_statement "iVar14 = iVar16 + 1;" (assignment_expression "iVar14 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)iVar11;" (assignment_expression "pcVar1 = (char *)iVar11" identifier = (cast_expression "(char *)iVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_44 = pcVar9 + iVar16 + 1;" (assignment_expression "local_44 = pcVar9 + iVar16 + 1" identifier = (binary_expression "pcVar9 + iVar16 + 1" (binary_expression "pcVar9 + iVar16" identifier + identifier) + number_literal)) ;) (break_statement "break;" break ;) })) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" identifier = identifier) ;) }) while (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (goto_statement "goto LAB_0007e1e3;" goto statement_identifier ;) })) (if_statement "if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = pathname[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }" if (parenthesized_expression "(cVar7 != '\\')" ( (binary_expression "cVar7 != '\\'" identifier != (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0007e1cd:\n      cVar7 = pathname[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }" { (labeled_statement "LAB_0007e1cd:\n      cVar7 = pathname[(int)local_48];" statement_identifier : (expression_statement "cVar7 = pathname[(int)local_48];" (assignment_expression "cVar7 = pathname[(int)local_48]" identifier = (subscript_expression "pathname[(int)local_48]" identifier [ (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;)) (expression_statement "local_48 = pcVar1;" (assignment_expression "local_48 = pcVar1" identifier = identifier) ;) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" identifier = identifier) ;) (goto_statement "goto LAB_0007e1e1;" goto statement_identifier ;) })) (expression_statement "*local_44 = '\\';" (assignment_expression "*local_44 = '\\'" (pointer_expression "*local_44" * identifier) = (char_literal "'\\'" ' escape_sequence ')) ;) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" identifier = identifier) ;) (if_statement "if (cVar7 == '\0') goto LAB_0007e1ed;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;)) (expression_statement "iVar14 = iVar13 + 2;" (assignment_expression "iVar14 = iVar13 + 2" identifier = (binary_expression "iVar13 + 2" identifier + number_literal)) ;) (expression_statement "local_44 = pcVar9 + iVar14;" (assignment_expression "local_44 = pcVar9 + iVar14" identifier = (binary_expression "pcVar9 + iVar14" identifier + identifier)) ;) (expression_statement "pcVar10 = pcVar15;" (assignment_expression "pcVar10 = pcVar15" identifier = identifier) ;) (if_statement "if ((((uint)qflags >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((pathname[(int)local_48 + 2] != '\x01') && (pathname[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = pathname + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = pathname[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }" if (parenthesized_expression "((((uint)qflags >> 3 & 1) == 0) || (cVar7 != '\x01'))" ( (binary_expression "(((uint)qflags >> 3 & 1) == 0) || (cVar7 != '\x01')" (parenthesized_expression "(((uint)qflags >> 3 & 1) == 0)" ( (binary_expression "((uint)qflags >> 3 & 1) == 0" (parenthesized_expression "((uint)qflags >> 3 & 1)" ( (binary_expression "(uint)qflags >> 3 & 1" (binary_expression "(uint)qflags >> 3" (cast_expression "(uint)qflags" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) & number_literal) )) == number_literal) )) || (parenthesized_expression "(cVar7 != '\x01')" ( (binary_expression "cVar7 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) ))) )) (compound_statement "{\n      local_48 = (char *)((int)local_48 + 2);\n    }" { (expression_statement "local_48 = (char *)((int)local_48 + 2);" (assignment_expression "local_48 = (char *)((int)local_48 + 2)" identifier = (cast_expression "(char *)((int)local_48 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 2)" ( (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n      if ((pathname[(int)local_48 + 2] != '\x01') && (pathname[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = pathname + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = pathname[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }" else (compound_statement "{\n      if ((pathname[(int)local_48 + 2] != '\x01') && (pathname[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = pathname + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = pathname[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }" { (if_statement "if ((pathname[(int)local_48 + 2] != '\x01') && (pathname[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = pathname + (int)local_48;\n        goto LAB_0007e1e1;\n      }" if (parenthesized_expression "((pathname[(int)local_48 + 2] != '\x01') && (pathname[(int)local_48 + 2] != '\x7f'))" ( (binary_expression "(pathname[(int)local_48 + 2] != '\x01') && (pathname[(int)local_48 + 2] != '\x7f')" (parenthesized_expression "(pathname[(int)local_48 + 2] != '\x01')" ( (binary_expression "pathname[(int)local_48 + 2] != '\x01'" (subscript_expression "pathname[(int)local_48 + 2]" identifier [ (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) != (char_literal "'\x01'" ' escape_sequence ')) )) && (parenthesized_expression "(pathname[(int)local_48 + 2] != '\x7f')" ( (binary_expression "pathname[(int)local_48 + 2] != '\x7f'" (subscript_expression "pathname[(int)local_48 + 2]" identifier [ (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = pathname + (int)local_48;\n        goto LAB_0007e1e1;\n      }" { (expression_statement "local_48 = (char *)((int)local_48 + 2);" (assignment_expression "local_48 = (char *)((int)local_48 + 2)" identifier = (cast_expression "(char *)((int)local_48 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 2)" ( (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "cVar7 = '\x01';" (assignment_expression "cVar7 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pcVar12 = pathname + (int)local_48;" (assignment_expression "pcVar12 = pathname + (int)local_48" identifier = (binary_expression "pathname + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto LAB_0007e1e1;" goto statement_identifier ;) })) (expression_statement "cVar7 = pathname[(int)local_48 + 2];" (assignment_expression "cVar7 = pathname[(int)local_48 + 2]" identifier = (subscript_expression "pathname[(int)local_48 + 2]" identifier [ (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (expression_statement "local_48 = (char *)((int)local_48 + 3);" (assignment_expression "local_48 = (char *)((int)local_48 + 3)" identifier = (cast_expression "(char *)((int)local_48 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 3)" ( (binary_expression "(int)local_48 + 3" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (expression_statement "pcVar12 = pathname + (int)local_48;" (assignment_expression "pcVar12 = pathname + (int)local_48" identifier = (binary_expression "pathname + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }))) (labeled_statement "LAB_0007e1e1:\n  *pcVar10 = cVar7;" statement_identifier : (expression_statement "*pcVar10 = cVar7;" (assignment_expression "*pcVar10 = cVar7" (pointer_expression "*pcVar10" * identifier) = identifier) ;)) (expression_statement "pcVar1 = local_48;" (assignment_expression "pcVar1 = local_48" identifier = identifier) ;) (labeled_statement "LAB_0007e1e3:\n  local_48 = pcVar1;" statement_identifier : (expression_statement "local_48 = pcVar1;" (assignment_expression "local_48 = pcVar1" identifier = identifier) ;)) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "iVar13 = iVar14;" (assignment_expression "iVar13 = iVar14" identifier = identifier) ;) (if_statement "if (cVar7 == '\0') goto LAB_0007e1ed;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;)) (goto_statement "goto LAB_0007e180;" goto statement_identifier ;) })))
(translation_unit "char * quote_string_for_globbing(char *param_1,uint param_2)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  char cVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  char cVar7;\n  size_t sVar8;\n  char *pcVar9;\n  char *pcVar10;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  int iVar14;\n  char *pcVar15;\n  int unaff_EDI;\n  int iVar16;\n  char *local_48;\n  char *local_44;\n  \n  FUN_00042933();\n  sVar8 = strlen(param_1);\n  pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);\n  cVar7 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }\n  bVar5 = false;\n  bVar6 = false;\n  bVar4 = false;\n  local_48 = (char *)0x0;\n  iVar13 = 0;\nLAB_0007e180:\n  local_44 = pcVar9 + iVar13;\n  if (cVar7 == '\x01') {\n    cVar7 = param_1[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = param_1 + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }\nLAB_0007e1e1:\n  *pcVar10 = cVar7;\n  pcVar1 = local_48;\nLAB_0007e1e3:\n  local_48 = pcVar1;\n  cVar7 = *pcVar12;\n  iVar13 = iVar14;\n  if (cVar7 == '\0') goto LAB_0007e1ed;\n  goto LAB_0007e180;\n}\n\n" (function_definition "char * quote_string_for_globbing(char *param_1,uint param_2)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  char cVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  char cVar7;\n  size_t sVar8;\n  char *pcVar9;\n  char *pcVar10;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  int iVar14;\n  char *pcVar15;\n  int unaff_EDI;\n  int iVar16;\n  char *local_48;\n  char *local_44;\n  \n  FUN_00042933();\n  sVar8 = strlen(param_1);\n  pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);\n  cVar7 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }\n  bVar5 = false;\n  bVar6 = false;\n  bVar4 = false;\n  local_48 = (char *)0x0;\n  iVar13 = 0;\nLAB_0007e180:\n  local_44 = pcVar9 + iVar13;\n  if (cVar7 == '\x01') {\n    cVar7 = param_1[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = param_1 + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }\nLAB_0007e1e1:\n  *pcVar10 = cVar7;\n  pcVar1 = local_48;\nLAB_0007e1e3:\n  local_48 = pcVar1;\n  cVar7 = *pcVar12;\n  iVar13 = iVar14;\n  if (cVar7 == '\0') goto LAB_0007e1ed;\n  goto LAB_0007e180;\n}" primitive_type (pointer_declarator "* quote_string_for_globbing(char *param_1,uint param_2)" * (function_declarator "quote_string_for_globbing(char *param_1,uint param_2)" identifier (parameter_list "(char *param_1,uint param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) )))) (compound_statement "{\n  char *pcVar1;\n  char *pcVar2;\n  char cVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  char cVar7;\n  size_t sVar8;\n  char *pcVar9;\n  char *pcVar10;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  int iVar14;\n  char *pcVar15;\n  int unaff_EDI;\n  int iVar16;\n  char *local_48;\n  char *local_44;\n  \n  FUN_00042933();\n  sVar8 = strlen(param_1);\n  pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);\n  cVar7 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }\n  bVar5 = false;\n  bVar6 = false;\n  bVar4 = false;\n  local_48 = (char *)0x0;\n  iVar13 = 0;\nLAB_0007e180:\n  local_44 = pcVar9 + iVar13;\n  if (cVar7 == '\x01') {\n    cVar7 = param_1[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = param_1 + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }\nLAB_0007e1e1:\n  *pcVar10 = cVar7;\n  pcVar1 = local_48;\nLAB_0007e1e3:\n  local_48 = pcVar1;\n  cVar7 = *pcVar12;\n  iVar13 = iVar14;\n  if (cVar7 == '\0') goto LAB_0007e1ed;\n  goto LAB_0007e180;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "char *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "char *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (expression_statement "FUN_00042933();" (call_expression "FUN_00042933()" identifier (argument_list "()" ( ))) ;) (expression_statement "sVar8 = strlen(param_1);" (assignment_expression "sVar8 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);" (assignment_expression "pcVar9 = (char *)xmalloc(sVar8 * 2 + 1)" identifier = (cast_expression "(char *)xmalloc(sVar8 * 2 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar8 * 2 + 1)" identifier (argument_list "(sVar8 * 2 + 1)" ( (binary_expression "sVar8 * 2 + 1" (binary_expression "sVar8 * 2" identifier * number_literal) + number_literal) ))))) ;) (expression_statement "cVar7 = *param_1;" (assignment_expression "cVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (((param_2 & 1) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" if (parenthesized_expression "(((param_2 & 1) == 0) || (cVar7 != '\x7f'))" ( (binary_expression "((param_2 & 1) == 0) || (cVar7 != '\x7f')" (parenthesized_expression "((param_2 & 1) == 0)" ( (binary_expression "(param_2 & 1) == 0" (parenthesized_expression "(param_2 & 1)" ( (binary_expression "param_2 & 1" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(cVar7 != '\x7f')" ( (binary_expression "cVar7 != '\x7f'" identifier != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }" { (expression_statement "local_44 = pcVar9;" (assignment_expression "local_44 = pcVar9" identifier = identifier) ;) (if_statement "if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }" { (labeled_statement "LAB_0007e1ed:\n      *local_44 = '\0';" statement_identifier : (expression_statement "*local_44 = '\0';" (assignment_expression "*local_44 = '\0'" (pointer_expression "*local_44" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (return_statement "return pcVar9;" return identifier ;) })) }) (else_clause "else if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" else (if_statement "if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" if (parenthesized_expression "(param_1[1] == '\0')" ( (binary_expression "param_1[1] == '\0'" (subscript_expression "param_1[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" { (expression_statement "*pcVar9 = '\0';" (assignment_expression "*pcVar9 = '\0'" (pointer_expression "*pcVar9" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return pcVar9;" return identifier ;) })))) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "local_48 = (char *)0x0;" (assignment_expression "local_48 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0007e180:\n  local_44 = pcVar9 + iVar13;" statement_identifier : (expression_statement "local_44 = pcVar9 + iVar13;" (assignment_expression "local_44 = pcVar9 + iVar13" identifier = (binary_expression "pcVar9 + iVar13" identifier + identifier)) ;)) (if_statement "if (cVar7 == '\x01') {\n    cVar7 = param_1[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = param_1 + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }" if (parenthesized_expression "(cVar7 == '\x01')" ( (binary_expression "cVar7 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n    cVar7 = param_1[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = param_1 + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)local_48;\n  }" { (expression_statement "cVar7 = param_1[(int)local_48 + 1];" (assignment_expression "cVar7 = param_1[(int)local_48 + 1]" identifier = (subscript_expression "param_1[(int)local_48 + 1]" identifier [ (binary_expression "(int)local_48 + 1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (if_statement "if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }" { (expression_statement "*local_44 = '\x01';" (assignment_expression "*local_44 = '\x01'" (pointer_expression "*local_44" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_44 = pcVar9 + iVar13 + 1;" (assignment_expression "local_44 = pcVar9 + iVar13 + 1" identifier = (binary_expression "pcVar9 + iVar13 + 1" (binary_expression "pcVar9 + iVar13" identifier + identifier) + number_literal)) ;) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;) })) (expression_statement "pcVar1 = (char *)((int)local_48 + 1);" (assignment_expression "pcVar1 = (char *)((int)local_48 + 1)" identifier = (cast_expression "(char *)((int)local_48 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 1)" ( (binary_expression "(int)local_48 + 1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar12 = param_1 + (int)pcVar1;" (assignment_expression "pcVar12 = param_1 + (int)pcVar1" identifier = (binary_expression "param_1 + (int)pcVar1" identifier + (cast_expression "(int)pcVar1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar14 = iVar13;" (assignment_expression "iVar14 = iVar13" identifier = identifier) ;) (if_statement "if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }" if (parenthesized_expression "((param_2 & 0xc) == 0)" ( (binary_expression "(param_2 & 0xc) == 0" (parenthesized_expression "(param_2 & 0xc)" ( (binary_expression "param_2 & 0xc" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }" { (if_statement "if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }" if (parenthesized_expression "((param_2 & 2) != 0)" ( (binary_expression "(param_2 & 2) != 0" (parenthesized_expression "(param_2 & 2)" ( (binary_expression "param_2 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }" { (labeled_statement "LAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;" statement_identifier : (if_statement "if (cVar7 == '/') goto LAB_0007e1e3;" if (parenthesized_expression "(cVar7 == '/')" ( (binary_expression "cVar7 == '/'" identifier == (char_literal "'/'" ' character ')) )) (goto_statement "goto LAB_0007e1e3;" goto statement_identifier ;))) })) (if_statement "if (cVar7 != '\x01') goto LAB_0007e240;" if (parenthesized_expression "(cVar7 != '\x01')" ( (binary_expression "cVar7 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e240;" goto statement_identifier ;)) }) (else_clause "else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }" else (compound_statement "{\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }" { (if_statement "if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }" if (parenthesized_expression "((cVar7 == '\x01') || (cVar7 == '\x7f'))" ( (binary_expression "(cVar7 == '\x01') || (cVar7 == '\x7f')" (parenthesized_expression "(cVar7 == '\x01')" ( (binary_expression "cVar7 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "(cVar7 == '\x7f')" ( (binary_expression "cVar7 == '\x7f'" identifier == (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }" { (expression_statement "*local_44 = *pcVar12;" (assignment_expression "*local_44 = *pcVar12" (pointer_expression "*local_44" * identifier) = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "pcVar12 = param_1 + (int)local_48 + 2;" (assignment_expression "pcVar12 = param_1 + (int)local_48 + 2" identifier = (binary_expression "param_1 + (int)local_48 + 2" (binary_expression "param_1 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (expression_statement "iVar14 = iVar13 + 1;" (assignment_expression "iVar14 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)((int)local_48 + 2);" (assignment_expression "pcVar1 = (char *)((int)local_48 + 2)" identifier = (cast_expression "(char *)((int)local_48 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 2)" ( (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_44 = pcVar9 + iVar13 + 1;" (assignment_expression "local_44 = pcVar9 + iVar13 + 1" identifier = (binary_expression "pcVar9 + iVar13 + 1" (binary_expression "pcVar9 + iVar13" identifier + identifier) + number_literal)) ;) (goto_statement "goto LAB_0007e1e3;" goto statement_identifier ;) })) (if_statement "if ((param_2 & 2) != 0) goto LAB_0007e238;" if (parenthesized_expression "((param_2 & 2) != 0)" ( (binary_expression "(param_2 & 2) != 0" (parenthesized_expression "(param_2 & 2)" ( (binary_expression "param_2 & 2" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0007e238;" goto statement_identifier ;)) (labeled_statement "LAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }" statement_identifier : (if_statement "if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }" if (parenthesized_expression "((param_2 & 4) != 0)" ( (binary_expression "(param_2 & 4) != 0" (parenthesized_expression "(param_2 & 4)" ( (binary_expression "param_2 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }" { (if_statement "if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }" if (parenthesized_expression "((byte)(cVar7 - 0x24U) < 0x59)" ( (binary_expression "(byte)(cVar7 - 0x24U) < 0x59" (call_expression "(byte)(cVar7 - 0x24U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar7 - 0x24U)" ( (binary_expression "cVar7 - 0x24U" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }" { (expression_statement "pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();" (assignment_expression "pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))()" identifier = (cast_expression "(char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))()" (parenthesized_expression "(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))" ( (pointer_expression "*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI))" * (cast_expression "(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI))" ( (binary_expression "unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)" (binary_expression "unaff_EDI + 0xcbf09" identifier + number_literal) + (pointer_expression "*(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)" * (cast_expression "(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)" ( (binary_expression "&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI" (binary_expression "&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4" (pointer_expression "&UNK_00073325" & identifier) + (binary_expression "(uint)(byte)(cVar7 - 0x24U) * 4" (call_expression "(uint)(byte)(cVar7 - 0x24U)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(cVar7 - 0x24U)" ( (binary_expression "cVar7 - 0x24U" identifier - number_literal) ))) * number_literal)) + identifier) ))))) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar9;" return identifier ;) })) (goto_statement "goto LAB_0007e1e3;" goto statement_identifier ;) }))) }))) (expression_statement "*local_44 = '\\';" (assignment_expression "*local_44 = '\\'" (pointer_expression "*local_44" * identifier) = (char_literal "'\\'" ' escape_sequence ')) ;) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "pcVar10 = pcVar9 + iVar13 + 1;" (assignment_expression "pcVar10 = pcVar9 + iVar13 + 1" identifier = (binary_expression "pcVar9 + iVar13 + 1" (binary_expression "pcVar9 + iVar13" identifier + identifier) + number_literal)) ;) (expression_statement "local_44 = pcVar10;" (assignment_expression "local_44 = pcVar10" identifier = identifier) ;) (if_statement "if (cVar7 == '\0') goto LAB_0007e1ed;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;)) (expression_statement "iVar14 = iVar13 + 2;" (assignment_expression "iVar14 = iVar13 + 2" identifier = (binary_expression "iVar13 + 2" identifier + number_literal)) ;) (expression_statement "local_48 = (char *)((int)local_48 + 2);" (assignment_expression "local_48 = (char *)((int)local_48 + 2)" identifier = (cast_expression "(char *)((int)local_48 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 2)" ( (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_44 = pcVar9 + iVar14;" (assignment_expression "local_44 = pcVar9 + iVar14" identifier = (binary_expression "pcVar9 + iVar14" identifier + identifier)) ;) (expression_statement "pcVar12 = param_1 + (int)local_48;" (assignment_expression "pcVar12 = param_1 + (int)local_48" identifier = (binary_expression "param_1 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }" else (compound_statement "{\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }" { (expression_statement "iVar14 = iVar13 + 1;" (assignment_expression "iVar14 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)((int)local_48 + 1);" (assignment_expression "pcVar1 = (char *)((int)local_48 + 1)" identifier = (cast_expression "(char *)((int)local_48 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 1)" ( (binary_expression "(int)local_48 + 1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar15 = pcVar9 + iVar14;" (assignment_expression "pcVar15 = pcVar9 + iVar14" identifier = (binary_expression "pcVar9 + iVar14" identifier + identifier)) ;) (expression_statement "pcVar12 = param_1 + (int)pcVar1;" (assignment_expression "pcVar12 = param_1 + (int)pcVar1" identifier = (binary_expression "param_1 + (int)pcVar1" identifier + (cast_expression "(int)pcVar1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar10 = local_44;" (assignment_expression "pcVar10 = local_44" identifier = identifier) ;) (if_statement "if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }" if (parenthesized_expression "((param_2 & 4) != 0)" ( (binary_expression "(param_2 & 4) != 0" (parenthesized_expression "(param_2 & 4)" ( (binary_expression "param_2 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }" { (if_statement "if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }" if (parenthesized_expression "((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01'))" ( (binary_expression "(local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')" (parenthesized_expression "(local_48 != (char *)0x0)" ( (binary_expression "local_48 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(param_1[(int)local_48 + -1] == '\x01')" ( (binary_expression "param_1[(int)local_48 + -1] == '\x01'" (subscript_expression "param_1[(int)local_48 + -1]" identifier [ (binary_expression "(int)local_48 + -1" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) == (char_literal "'\x01'" ' escape_sequence ')) ))) )) (compound_statement "{\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }" { (expression_statement "cVar7 = param_1[(int)local_48];" (assignment_expression "cVar7 = param_1[(int)local_48]" identifier = (subscript_expression "param_1[(int)local_48]" identifier [ (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "local_48 = pcVar1;" (assignment_expression "local_48 = pcVar1" identifier = identifier) ;) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" identifier = identifier) ;) (goto_statement "goto LAB_0007e1e1;" goto statement_identifier ;) })) (if_statement "if (cVar7 != '[') goto LAB_0007e1cd;" if (parenthesized_expression "(cVar7 != '[')" ( (binary_expression "cVar7 != '['" identifier != (char_literal "'['" ' character ')) )) (goto_statement "goto LAB_0007e1cd;" goto statement_identifier ;)) (expression_statement "*local_44 = '[';" (assignment_expression "*local_44 = '['" (pointer_expression "*local_44" * identifier) = (char_literal "'['" ' character ')) ;) (expression_statement "iVar11 = (int)local_48 + 2;" (assignment_expression "iVar11 = (int)local_48 + 2" identifier = (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "iVar16 = iVar14;" (assignment_expression "iVar16 = iVar14" identifier = identifier) ;) (expression_statement "pcVar10 = pcVar15;" (assignment_expression "pcVar10 = pcVar15" identifier = identifier) ;) (if_statement "if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }" if (parenthesized_expression "(cVar7 == '^')" ( (binary_expression "cVar7 == '^'" identifier == (char_literal "'^'" ' character ')) )) (compound_statement "{\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }" { (expression_statement "iVar16 = iVar13 + 2;" (assignment_expression "iVar16 = iVar13 + 2" identifier = (binary_expression "iVar13 + 2" identifier + number_literal)) ;) (expression_statement "iVar11 = (int)local_48 + 3;" (assignment_expression "iVar11 = (int)local_48 + 3" identifier = (binary_expression "(int)local_48 + 3" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*pcVar15 = '^';" (assignment_expression "*pcVar15 = '^'" (pointer_expression "*pcVar15" * identifier) = (char_literal "'^'" ' character ')) ;) (expression_statement "cVar7 = param_1[(int)local_48 + 2];" (assignment_expression "cVar7 = param_1[(int)local_48 + 2]" identifier = (subscript_expression "param_1[(int)local_48 + 2]" identifier [ (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (expression_statement "pcVar10 = pcVar9 + iVar16;" (assignment_expression "pcVar10 = pcVar9 + iVar16" identifier = (binary_expression "pcVar9 + iVar16" identifier + identifier)) ;) })) (expression_statement "local_48 = pcVar10;" (assignment_expression "local_48 = pcVar10" identifier = identifier) ;) (if_statement "if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }" if (parenthesized_expression "(cVar7 == ']')" ( (binary_expression "cVar7 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }" { (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "*local_48 = ']';" (assignment_expression "*local_48 = ']'" (pointer_expression "*local_48" * identifier) = (char_literal "']'" ' character ')) ;) (expression_statement "cVar7 = param_1[iVar11];" (assignment_expression "cVar7 = param_1[iVar11]" identifier = (subscript_expression "param_1[iVar11]" identifier [ identifier ])) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "local_48 = pcVar9 + iVar16;" (assignment_expression "local_48 = pcVar9 + iVar16" identifier = (binary_expression "pcVar9 + iVar16" identifier + identifier)) ;) })) (if_statement "if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }" { (expression_statement "local_44 = local_48;" (assignment_expression "local_44 = local_48" identifier = identifier) ;) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;) })) (do_statement "do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');" do (compound_statement "{\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      }" { (expression_statement "local_44 = pcVar9 + iVar16;" (assignment_expression "local_44 = pcVar9 + iVar16" identifier = (binary_expression "pcVar9 + iVar16" identifier + identifier)) ;) (expression_statement "pcVar10 = param_1 + iVar11;" (assignment_expression "pcVar10 = param_1 + iVar11" identifier = (binary_expression "param_1 + iVar11" identifier + identifier)) ;) (if_statement "if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }" if (parenthesized_expression "(cVar7 == '\x01')" ( (binary_expression "cVar7 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }" { (if_statement "if (*pcVar10 == '\0') goto LAB_0007e1ed;" if (parenthesized_expression "(*pcVar10 == '\0')" ( (binary_expression "*pcVar10 == '\0'" (pointer_expression "*pcVar10" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;)) (expression_statement "*local_44 = *pcVar10;" (assignment_expression "*local_44 = *pcVar10" (pointer_expression "*local_44" * identifier) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) }) (else_clause "else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }" else (compound_statement "{\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }" { (expression_statement "iVar13 = iVar16 + 1;" (assignment_expression "iVar13 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (if_statement "if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" if (parenthesized_expression "(cVar7 == '[')" ( (binary_expression "cVar7 == '['" identifier == (char_literal "'['" ' character ')) )) (compound_statement "{\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }" { (expression_statement "cVar3 = *pcVar10;" (assignment_expression "cVar3 = *pcVar10" identifier = (pointer_expression "*pcVar10" * identifier)) ;) (if_statement "if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" if (parenthesized_expression "(cVar3 == ':')" ( (binary_expression "cVar3 == ':'" identifier == (char_literal "':'" ' character ')) )) (compound_statement "{\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }" { (expression_statement "pcVar2 = pcVar9 + iVar16;" (assignment_expression "pcVar2 = pcVar9 + iVar16" identifier = (binary_expression "pcVar9 + iVar16" identifier + identifier)) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "*pcVar2 = '[';" (assignment_expression "*pcVar2 = '['" (pointer_expression "*pcVar2" * identifier) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" identifier [ identifier ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) }) (else_clause "else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" else (if_statement "if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" if (parenthesized_expression "(cVar3 == '=')" ( (binary_expression "cVar3 == '='" identifier == (char_literal "'='" ' character ')) )) (compound_statement "{\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" { (expression_statement "pcVar9[iVar16] = '[';" (assignment_expression "pcVar9[iVar16] = '['" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar9[iVar16 + 1] = *pcVar10;" (assignment_expression "pcVar9[iVar16 + 1] = *pcVar10" (subscript_expression "pcVar9[iVar16 + 1]" identifier [ (binary_expression "iVar16 + 1" identifier + number_literal) ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }" if (parenthesized_expression "(cVar7 == ']')" ( (binary_expression "cVar7 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }" { (expression_statement "pcVar9[iVar16 + 2] = ']';" (assignment_expression "pcVar9[iVar16 + 2] = ']'" (subscript_expression "pcVar9[iVar16 + 2]" identifier [ (binary_expression "iVar16 + 2" identifier + number_literal) ]) = (char_literal "']'" ' character ')) ;) (expression_statement "iVar16 = iVar16 + 3;" (assignment_expression "iVar16 = iVar16 + 3" identifier = (binary_expression "iVar16 + 3" identifier + number_literal)) ;) (expression_statement "cVar7 = param_1[iVar11 + 2];" (assignment_expression "cVar7 = param_1[iVar11 + 2]" identifier = (subscript_expression "param_1[iVar11 + 2]" identifier [ (binary_expression "iVar11 + 2" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 3;" (assignment_expression "iVar11 = iVar11 + 3" identifier = (binary_expression "iVar11 + 3" identifier + number_literal)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) }) (else_clause "else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }" else (compound_statement "{\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }" { (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }))) }) (else_clause "else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" else (compound_statement "{\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" { (if_statement "if (cVar3 != '.') goto LAB_0007e405;" if (parenthesized_expression "(cVar3 != '.')" ( (binary_expression "cVar3 != '.'" identifier != (char_literal "'.'" ' character ')) )) (goto_statement "goto LAB_0007e405;" goto statement_identifier ;)) (expression_statement "pcVar9[iVar16] = '[';" (assignment_expression "pcVar9[iVar16] = '['" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar9[iVar16 + 1] = *pcVar10;" (assignment_expression "pcVar9[iVar16 + 1] = *pcVar10" (subscript_expression "pcVar9[iVar16 + 1]" identifier [ (binary_expression "iVar16 + 1" identifier + number_literal) ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }" if (parenthesized_expression "(cVar7 == ']')" ( (binary_expression "cVar7 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }" { (expression_statement "pcVar9[iVar16 + 2] = ']';" (assignment_expression "pcVar9[iVar16 + 2] = ']'" (subscript_expression "pcVar9[iVar16 + 2]" identifier [ (binary_expression "iVar16 + 2" identifier + number_literal) ]) = (char_literal "']'" ' character ')) ;) (expression_statement "cVar7 = param_1[iVar11 + 2];" (assignment_expression "cVar7 = param_1[iVar11 + 2]" identifier = (subscript_expression "param_1[iVar11 + 2]" identifier [ (binary_expression "iVar11 + 2" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 3;" (assignment_expression "iVar11 = iVar11 + 3" identifier = (binary_expression "iVar11 + 3" identifier + number_literal)) ;) (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" identifier = true) ;) (expression_statement "iVar16 = iVar16 + 3;" (assignment_expression "iVar16 = iVar16 + 3" identifier = (binary_expression "iVar16 + 3" identifier + number_literal)) ;) }) (else_clause "else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }" else (compound_statement "{\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }" { (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" identifier = true) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }))) }))))) }) (else_clause "else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" else (if_statement "if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" if (parenthesized_expression "((cVar7 == ':') && (bVar4))" ( (binary_expression "(cVar7 == ':') && (bVar4)" (parenthesized_expression "(cVar7 == ':')" ( (binary_expression "cVar7 == ':'" identifier == (char_literal "':'" ' character ')) )) && (parenthesized_expression "(bVar4)" ( identifier ))) )) (compound_statement "{\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" { (if_statement "if (*pcVar10 != ']') goto LAB_0007e405;" if (parenthesized_expression "(*pcVar10 != ']')" ( (binary_expression "*pcVar10 != ']'" (pointer_expression "*pcVar10" * identifier) != (char_literal "']'" ' character ')) )) (goto_statement "goto LAB_0007e405;" goto statement_identifier ;)) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "pcVar9[iVar16] = ':';" (assignment_expression "pcVar9[iVar16] = ':'" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "':'" ' character ')) ;) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" identifier [ identifier ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }) (else_clause "else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" else (if_statement "if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" if (parenthesized_expression "((cVar7 == '=') && (bVar5))" ( (binary_expression "(cVar7 == '=') && (bVar5)" (parenthesized_expression "(cVar7 == '=')" ( (binary_expression "cVar7 == '='" identifier == (char_literal "'='" ' character ')) )) && (parenthesized_expression "(bVar5)" ( identifier ))) )) (compound_statement "{\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }" { (if_statement "if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }" if (parenthesized_expression "(*pcVar10 == ']')" ( (binary_expression "*pcVar10 == ']'" (pointer_expression "*pcVar10" * identifier) == (char_literal "']'" ' character ')) )) (compound_statement "{\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }" { (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "pcVar9[iVar16] = '=';" (assignment_expression "pcVar9[iVar16] = '='" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "'='" ' character ')) ;) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" identifier [ identifier ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }) (else_clause "else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }" else (compound_statement "{\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }" { (labeled_statement "LAB_0007e405:\n              *local_44 = cVar7;" statement_identifier : (expression_statement "*local_44 = cVar7;" (assignment_expression "*local_44 = cVar7" (pointer_expression "*local_44" * identifier) = identifier) ;)) (expression_statement "cVar7 = *pcVar10;" (assignment_expression "cVar7 = *pcVar10" identifier = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "iVar16 = iVar13;" (assignment_expression "iVar16 = iVar13" identifier = identifier) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) }))) }) (else_clause "else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" else (compound_statement "{\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" { (if_statement "if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;" if (parenthesized_expression "(((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']'))" ( (binary_expression "((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')" (parenthesized_expression "((cVar7 != '.') || (!bVar6))" ( (binary_expression "(cVar7 != '.') || (!bVar6)" (parenthesized_expression "(cVar7 != '.')" ( (binary_expression "cVar7 != '.'" identifier != (char_literal "'.'" ' character ')) )) || (parenthesized_expression "(!bVar6)" ( (unary_expression "!bVar6" ! identifier) ))) )) || (parenthesized_expression "(*pcVar10 != ']')" ( (binary_expression "*pcVar10 != ']'" (pointer_expression "*pcVar10" * identifier) != (char_literal "']'" ' character ')) ))) )) (goto_statement "goto LAB_0007e405;" goto statement_identifier ;)) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (expression_statement "pcVar9[iVar16] = '.';" (assignment_expression "pcVar9[iVar16] = '.'" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "'.'" ' character ')) ;) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" identifier [ identifier ]) = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) }))))))) }))) (if_statement "if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }" if (parenthesized_expression "(cVar7 == ']')" ( (binary_expression "cVar7 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }" { (expression_statement "pcVar9[iVar16] = ']';" (assignment_expression "pcVar9[iVar16] = ']'" (subscript_expression "pcVar9[iVar16]" identifier [ identifier ]) = (char_literal "']'" ' character ')) ;) (expression_statement "pcVar12 = param_1 + iVar11;" (assignment_expression "pcVar12 = param_1 + iVar11" identifier = (binary_expression "param_1 + iVar11" identifier + identifier)) ;) (expression_statement "iVar14 = iVar16 + 1;" (assignment_expression "iVar14 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)iVar11;" (assignment_expression "pcVar1 = (char *)iVar11" identifier = (cast_expression "(char *)iVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_44 = pcVar9 + iVar16 + 1;" (assignment_expression "local_44 = pcVar9 + iVar16 + 1" identifier = (binary_expression "pcVar9 + iVar16 + 1" (binary_expression "pcVar9 + iVar16" identifier + identifier) + number_literal)) ;) (break_statement "break;" break ;) })) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" identifier = identifier) ;) }) while (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (goto_statement "goto LAB_0007e1e3;" goto statement_identifier ;) })) (if_statement "if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }" if (parenthesized_expression "(cVar7 != '\\')" ( (binary_expression "cVar7 != '\\'" identifier != (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }" { (labeled_statement "LAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];" statement_identifier : (expression_statement "cVar7 = param_1[(int)local_48];" (assignment_expression "cVar7 = param_1[(int)local_48]" identifier = (subscript_expression "param_1[(int)local_48]" identifier [ (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;)) (expression_statement "local_48 = pcVar1;" (assignment_expression "local_48 = pcVar1" identifier = identifier) ;) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" identifier = identifier) ;) (goto_statement "goto LAB_0007e1e1;" goto statement_identifier ;) })) (expression_statement "*local_44 = '\\';" (assignment_expression "*local_44 = '\\'" (pointer_expression "*local_44" * identifier) = (char_literal "'\\'" ' escape_sequence ')) ;) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" identifier = identifier) ;) (if_statement "if (cVar7 == '\0') goto LAB_0007e1ed;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;)) (expression_statement "iVar14 = iVar13 + 2;" (assignment_expression "iVar14 = iVar13 + 2" identifier = (binary_expression "iVar13 + 2" identifier + number_literal)) ;) (expression_statement "local_44 = pcVar9 + iVar14;" (assignment_expression "local_44 = pcVar9 + iVar14" identifier = (binary_expression "pcVar9 + iVar14" identifier + identifier)) ;) (expression_statement "pcVar10 = pcVar15;" (assignment_expression "pcVar10 = pcVar15" identifier = identifier) ;) (if_statement "if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }" if (parenthesized_expression "(((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01'))" ( (binary_expression "((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')" (parenthesized_expression "((param_2 >> 3 & 1) == 0)" ( (binary_expression "(param_2 >> 3 & 1) == 0" (parenthesized_expression "(param_2 >> 3 & 1)" ( (binary_expression "param_2 >> 3 & 1" (binary_expression "param_2 >> 3" identifier >> number_literal) & number_literal) )) == number_literal) )) || (parenthesized_expression "(cVar7 != '\x01')" ( (binary_expression "cVar7 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) ))) )) (compound_statement "{\n      local_48 = (char *)((int)local_48 + 2);\n    }" { (expression_statement "local_48 = (char *)((int)local_48 + 2);" (assignment_expression "local_48 = (char *)((int)local_48 + 2)" identifier = (cast_expression "(char *)((int)local_48 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 2)" ( (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }" else (compound_statement "{\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }" { (if_statement "if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }" if (parenthesized_expression "((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f'))" ( (binary_expression "(param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')" (parenthesized_expression "(param_1[(int)local_48 + 2] != '\x01')" ( (binary_expression "param_1[(int)local_48 + 2] != '\x01'" (subscript_expression "param_1[(int)local_48 + 2]" identifier [ (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) != (char_literal "'\x01'" ' escape_sequence ')) )) && (parenthesized_expression "(param_1[(int)local_48 + 2] != '\x7f')" ( (binary_expression "param_1[(int)local_48 + 2] != '\x7f'" (subscript_expression "param_1[(int)local_48 + 2]" identifier [ (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }" { (expression_statement "local_48 = (char *)((int)local_48 + 2);" (assignment_expression "local_48 = (char *)((int)local_48 + 2)" identifier = (cast_expression "(char *)((int)local_48 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 2)" ( (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "cVar7 = '\x01';" (assignment_expression "cVar7 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pcVar12 = param_1 + (int)local_48;" (assignment_expression "pcVar12 = param_1 + (int)local_48" identifier = (binary_expression "param_1 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto LAB_0007e1e1;" goto statement_identifier ;) })) (expression_statement "cVar7 = param_1[(int)local_48 + 2];" (assignment_expression "cVar7 = param_1[(int)local_48 + 2]" identifier = (subscript_expression "param_1[(int)local_48 + 2]" identifier [ (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (expression_statement "local_48 = (char *)((int)local_48 + 3);" (assignment_expression "local_48 = (char *)((int)local_48 + 3)" identifier = (cast_expression "(char *)((int)local_48 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 3)" ( (binary_expression "(int)local_48 + 3" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (expression_statement "pcVar12 = param_1 + (int)local_48;" (assignment_expression "pcVar12 = param_1 + (int)local_48" identifier = (binary_expression "param_1 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }))) (labeled_statement "LAB_0007e1e1:\n  *pcVar10 = cVar7;" statement_identifier : (expression_statement "*pcVar10 = cVar7;" (assignment_expression "*pcVar10 = cVar7" (pointer_expression "*pcVar10" * identifier) = identifier) ;)) (expression_statement "pcVar1 = local_48;" (assignment_expression "pcVar1 = local_48" identifier = identifier) ;) (labeled_statement "LAB_0007e1e3:\n  local_48 = pcVar1;" statement_identifier : (expression_statement "local_48 = pcVar1;" (assignment_expression "local_48 = pcVar1" identifier = identifier) ;)) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) (expression_statement "iVar13 = iVar14;" (assignment_expression "iVar13 = iVar14" identifier = identifier) ;) (if_statement "if (cVar7 == '\0') goto LAB_0007e1ed;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e1ed;" goto statement_identifier ;)) (goto_statement "goto LAB_0007e180;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (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 ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT * LIT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;)) (return_statement return IDENT ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (return_statement return IDENT ;) })))) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (goto_statement goto statement_identifier ;))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT - LIT) ))) * LIT)) + IDENT) ))))) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) }))) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ]) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) && (parenthesized_expression ( IDENT ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) && (parenthesized_expression ( IDENT ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) || (parenthesized_expression ( (unary_expression ! IDENT) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (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 ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ]) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ]) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })))
(function_definition "char * quote_string_for_globbing(char *param_1,uint param_2)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  char cVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  char cVar7;\n  size_t sVar8;\n  char *pcVar9;\n  char *pcVar10;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  int iVar14;\n  char *pcVar15;\n  int unaff_EDI;\n  int iVar16;\n  char *local_48;\n  char *local_44;\n  \n  FUN_00042933();\n  sVar8 = strlen(param_1);\n  pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);\n  cVar7 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }\n  bVar5 = false;\n  bVar6 = false;\n  bVar4 = false;\n  local_48 = (char *)0x0;\n  iVar13 = 0;\nLAB_0007e180:\n  local_44 = pcVar9 + iVar13;\n  if (cVar7 == '\x01') {\n    cVar7 = param_1[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = param_1 + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }\nLAB_0007e1e1:\n  *pcVar10 = cVar7;\n  pcVar1 = local_48;\nLAB_0007e1e3:\n  local_48 = pcVar1;\n  cVar7 = *pcVar12;\n  iVar13 = iVar14;\n  if (cVar7 == '\0') goto LAB_0007e1ed;\n  goto LAB_0007e180;\n}" (primitive_type "char") (pointer_declarator "* quote_string_for_globbing(char *param_1,uint param_2)" (* "*") (function_declarator "quote_string_for_globbing(char *param_1,uint param_2)" (identifier "quote_string_for_globbing") (parameter_list "(char *param_1,uint param_2)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) () ")")))) (compound_statement "{\n  char *pcVar1;\n  char *pcVar2;\n  char cVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  char cVar7;\n  size_t sVar8;\n  char *pcVar9;\n  char *pcVar10;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  int iVar14;\n  char *pcVar15;\n  int unaff_EDI;\n  int iVar16;\n  char *local_48;\n  char *local_44;\n  \n  FUN_00042933();\n  sVar8 = strlen(param_1);\n  pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);\n  cVar7 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }\n  bVar5 = false;\n  bVar6 = false;\n  bVar4 = false;\n  local_48 = (char *)0x0;\n  iVar13 = 0;\nLAB_0007e180:\n  local_44 = pcVar9 + iVar13;\n  if (cVar7 == '\x01') {\n    cVar7 = param_1[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = param_1 + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }\nLAB_0007e1e1:\n  *pcVar10 = cVar7;\n  pcVar1 = local_48;\nLAB_0007e1e3:\n  local_48 = pcVar1;\n  cVar7 = *pcVar12;\n  iVar13 = iVar14;\n  if (cVar7 == '\0') goto LAB_0007e1ed;\n  goto LAB_0007e180;\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "bool bVar4;" (primitive_type "bool") (identifier "bVar4") (; ";")) (declaration "bool bVar5;" (primitive_type "bool") (identifier "bVar5") (; ";")) (declaration "bool bVar6;" (primitive_type "bool") (identifier "bVar6") (; ";")) (declaration "char cVar7;" (primitive_type "char") (identifier "cVar7") (; ";")) (declaration "size_t sVar8;" (primitive_type "size_t") (identifier "sVar8") (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "char *pcVar10;" (primitive_type "char") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "char *pcVar15;" (primitive_type "char") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "char *local_48;" (primitive_type "char") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "char *local_44;" (primitive_type "char") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (expression_statement "FUN_00042933();" (call_expression "FUN_00042933()" (identifier "FUN_00042933") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "sVar8 = strlen(param_1);" (assignment_expression "sVar8 = strlen(param_1)" (identifier "sVar8") (= "=") (call_expression "strlen(param_1)" (identifier "strlen") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);" (assignment_expression "pcVar9 = (char *)xmalloc(sVar8 * 2 + 1)" (identifier "pcVar9") (= "=") (cast_expression "(char *)xmalloc(sVar8 * 2 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar8 * 2 + 1)" (identifier "xmalloc") (argument_list "(sVar8 * 2 + 1)" (( "(") (binary_expression "sVar8 * 2 + 1" (binary_expression "sVar8 * 2" (identifier "sVar8") (* "*") (number_literal "2")) (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "cVar7 = *param_1;" (assignment_expression "cVar7 = *param_1" (identifier "cVar7") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (if_statement "if (((param_2 & 1) == 0) || (cVar7 != '\x7f')) {\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" (if "if") (parenthesized_expression "(((param_2 & 1) == 0) || (cVar7 != '\x7f'))" (( "(") (binary_expression "((param_2 & 1) == 0) || (cVar7 != '\x7f')" (parenthesized_expression "((param_2 & 1) == 0)" (( "(") (binary_expression "(param_2 & 1) == 0" (parenthesized_expression "(param_2 & 1)" (( "(") (binary_expression "param_2 & 1" (identifier "param_2") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(cVar7 != '\x7f')" (( "(") (binary_expression "cVar7 != '\x7f'" (identifier "cVar7") (!= "!=") (char_literal "'\x7f'" (' "'") (escape_sequence "\x7f") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    local_44 = pcVar9;\n    if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }\n  }" ({ "{") (expression_statement "local_44 = pcVar9;" (assignment_expression "local_44 = pcVar9" (identifier "local_44") (= "=") (identifier "pcVar9")) (; ";")) (if_statement "if (cVar7 == '\0') {\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0007e1ed:\n      *local_44 = '\0';\n      return pcVar9;\n    }" ({ "{") (labeled_statement "LAB_0007e1ed:\n      *local_44 = '\0';" (statement_identifier "LAB_0007e1ed") (: ":") (expression_statement "*local_44 = '\0';" (assignment_expression "*local_44 = '\0'" (pointer_expression "*local_44" (* "*") (identifier "local_44")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";"))) (return_statement "return pcVar9;" (return "return") (identifier "pcVar9") (; ";")) (} "}"))) (} "}")) (else_clause "else if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" (else "else") (if_statement "if (param_1[1] == '\0') {\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" (if "if") (parenthesized_expression "(param_1[1] == '\0')" (( "(") (binary_expression "param_1[1] == '\0'" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    *pcVar9 = '\0';\n    return pcVar9;\n  }" ({ "{") (expression_statement "*pcVar9 = '\0';" (assignment_expression "*pcVar9 = '\0'" (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (return_statement "return pcVar9;" (return "return") (identifier "pcVar9") (; ";")) (} "}"))))) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" (identifier "bVar5") (= "=") (false "false")) (; ";")) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" (identifier "bVar6") (= "=") (false "false")) (; ";")) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" (identifier "bVar4") (= "=") (false "false")) (; ";")) (expression_statement "local_48 = (char *)0x0;" (assignment_expression "local_48 = (char *)0x0" (identifier "local_48") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0007e180:\n  local_44 = pcVar9 + iVar13;" (statement_identifier "LAB_0007e180") (: ":") (expression_statement "local_44 = pcVar9 + iVar13;" (assignment_expression "local_44 = pcVar9 + iVar13" (identifier "local_44") (= "=") (binary_expression "pcVar9 + iVar13" (identifier "pcVar9") (+ "+") (identifier "iVar13"))) (; ";"))) (if_statement "if (cVar7 == '\x01') {\n    cVar7 = param_1[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = param_1 + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)local_48;\n  }\n  else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }" (if "if") (parenthesized_expression "(cVar7 == '\x01')" (( "(") (binary_expression "cVar7 == '\x01'" (identifier "cVar7") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n    cVar7 = param_1[(int)local_48 + 1];\n    if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar12 = param_1 + (int)pcVar1;\n    iVar14 = iVar13;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    pcVar10 = pcVar9 + iVar13 + 1;\n    local_44 = pcVar10;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_48 = (char *)((int)local_48 + 2);\n    local_44 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)local_48;\n  }" ({ "{") (expression_statement "cVar7 = param_1[(int)local_48 + 1];" (assignment_expression "cVar7 = param_1[(int)local_48 + 1]" (identifier "cVar7") (= "=") (subscript_expression "param_1[(int)local_48 + 1]" (identifier "param_1") ([ "[") (binary_expression "(int)local_48 + 1" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "1")) (] "]"))) (; ";")) (if_statement "if (cVar7 == '\0') {\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *local_44 = '\x01';\n      local_44 = pcVar9 + iVar13 + 1;\n      goto LAB_0007e1ed;\n    }" ({ "{") (expression_statement "*local_44 = '\x01';" (assignment_expression "*local_44 = '\x01'" (pointer_expression "*local_44" (* "*") (identifier "local_44")) (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "local_44 = pcVar9 + iVar13 + 1;" (assignment_expression "local_44 = pcVar9 + iVar13 + 1" (identifier "local_44") (= "=") (binary_expression "pcVar9 + iVar13 + 1" (binary_expression "pcVar9 + iVar13" (identifier "pcVar9") (+ "+") (identifier "iVar13")) (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_0007e1ed;" (goto "goto") (statement_identifier "LAB_0007e1ed") (; ";")) (} "}"))) (expression_statement "pcVar1 = (char *)((int)local_48 + 1);" (assignment_expression "pcVar1 = (char *)((int)local_48 + 1)" (identifier "pcVar1") (= "=") (cast_expression "(char *)((int)local_48 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_48 + 1)" (( "(") (binary_expression "(int)local_48 + 1" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pcVar12 = param_1 + (int)pcVar1;" (assignment_expression "pcVar12 = param_1 + (int)pcVar1" (identifier "pcVar12") (= "=") (binary_expression "param_1 + (int)pcVar1" (identifier "param_1") (+ "+") (cast_expression "(int)pcVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar1")))) (; ";")) (expression_statement "iVar14 = iVar13;" (assignment_expression "iVar14 = iVar13" (identifier "iVar14") (= "=") (identifier "iVar13")) (; ";")) (if_statement "if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }\n    else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }" (if "if") (parenthesized_expression "((param_2 & 0xc) == 0)" (( "(") (binary_expression "(param_2 & 0xc) == 0" (parenthesized_expression "(param_2 & 0xc)" (( "(") (binary_expression "param_2 & 0xc" (identifier "param_2") (& "&") (number_literal "0xc")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }\n      if (cVar7 != '\x01') goto LAB_0007e240;\n    }" ({ "{") (if_statement "if ((param_2 & 2) != 0) {\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }" (if "if") (parenthesized_expression "((param_2 & 2) != 0)" (( "(") (binary_expression "(param_2 & 2) != 0" (parenthesized_expression "(param_2 & 2)" (( "(") (binary_expression "param_2 & 2" (identifier "param_2") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;\n      }" ({ "{") (labeled_statement "LAB_0007e238:\n        if (cVar7 == '/') goto LAB_0007e1e3;" (statement_identifier "LAB_0007e238") (: ":") (if_statement "if (cVar7 == '/') goto LAB_0007e1e3;" (if "if") (parenthesized_expression "(cVar7 == '/')" (( "(") (binary_expression "cVar7 == '/'" (identifier "cVar7") (== "==") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (goto_statement "goto LAB_0007e1e3;" (goto "goto") (statement_identifier "LAB_0007e1e3") (; ";")))) (} "}"))) (if_statement "if (cVar7 != '\x01') goto LAB_0007e240;" (if "if") (parenthesized_expression "(cVar7 != '\x01')" (( "(") (binary_expression "cVar7 != '\x01'" (identifier "cVar7") (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (goto_statement "goto LAB_0007e240;" (goto "goto") (statement_identifier "LAB_0007e240") (; ";"))) (} "}")) (else_clause "else {\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }" (else "else") (compound_statement "{\n      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0007e238;\nLAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }\n    }" ({ "{") (if_statement "if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }" (if "if") (parenthesized_expression "((cVar7 == '\x01') || (cVar7 == '\x7f'))" (( "(") (binary_expression "(cVar7 == '\x01') || (cVar7 == '\x7f')" (parenthesized_expression "(cVar7 == '\x01')" (( "(") (binary_expression "cVar7 == '\x01'" (identifier "cVar7") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(cVar7 == '\x7f')" (( "(") (binary_expression "cVar7 == '\x7f'" (identifier "cVar7") (== "==") (char_literal "'\x7f'" (' "'") (escape_sequence "\x7f") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        *local_44 = *pcVar12;\n        pcVar12 = param_1 + (int)local_48 + 2;\n        iVar14 = iVar13 + 1;\n        pcVar1 = (char *)((int)local_48 + 2);\n        local_44 = pcVar9 + iVar13 + 1;\n        goto LAB_0007e1e3;\n      }" ({ "{") (expression_statement "*local_44 = *pcVar12;" (assignment_expression "*local_44 = *pcVar12" (pointer_expression "*local_44" (* "*") (identifier "local_44")) (= "=") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12"))) (; ";")) (expression_statement "pcVar12 = param_1 + (int)local_48 + 2;" (assignment_expression "pcVar12 = param_1 + (int)local_48 + 2" (identifier "pcVar12") (= "=") (binary_expression "param_1 + (int)local_48 + 2" (binary_expression "param_1 + (int)local_48" (identifier "param_1") (+ "+") (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48"))) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar14 = iVar13 + 1;" (assignment_expression "iVar14 = iVar13 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar1 = (char *)((int)local_48 + 2);" (assignment_expression "pcVar1 = (char *)((int)local_48 + 2)" (identifier "pcVar1") (= "=") (cast_expression "(char *)((int)local_48 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_48 + 2)" (( "(") (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "local_44 = pcVar9 + iVar13 + 1;" (assignment_expression "local_44 = pcVar9 + iVar13 + 1" (identifier "local_44") (= "=") (binary_expression "pcVar9 + iVar13 + 1" (binary_expression "pcVar9 + iVar13" (identifier "pcVar9") (+ "+") (identifier "iVar13")) (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_0007e1e3;" (goto "goto") (statement_identifier "LAB_0007e1e3") (; ";")) (} "}"))) (if_statement "if ((param_2 & 2) != 0) goto LAB_0007e238;" (if "if") (parenthesized_expression "((param_2 & 2) != 0)" (( "(") (binary_expression "(param_2 & 2) != 0" (parenthesized_expression "(param_2 & 2)" (( "(") (binary_expression "param_2 & 2" (identifier "param_2") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0007e238;" (goto "goto") (statement_identifier "LAB_0007e238") (; ";"))) (labeled_statement "LAB_0007e240:\n      if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }" (statement_identifier "LAB_0007e240") (: ":") (if_statement "if ((param_2 & 4) != 0) {\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }" (if "if") (parenthesized_expression "((param_2 & 4) != 0)" (( "(") (binary_expression "(param_2 & 4) != 0" (parenthesized_expression "(param_2 & 4)" (( "(") (binary_expression "param_2 & 4" (identifier "param_2") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }\n        goto LAB_0007e1e3;\n      }" ({ "{") (if_statement "if ((byte)(cVar7 - 0x24U) < 0x59) {\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }" (if "if") (parenthesized_expression "((byte)(cVar7 - 0x24U) < 0x59)" (( "(") (binary_expression "(byte)(cVar7 - 0x24U) < 0x59" (call_expression "(byte)(cVar7 - 0x24U)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(cVar7 - 0x24U)" (( "(") (binary_expression "cVar7 - 0x24U" (identifier "cVar7") (- "-") (number_literal "0x24U")) () ")"))) (< "<") (number_literal "0x59")) () ")")) (compound_statement "{\n                    \n                    \n          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();\n          return pcVar9;\n        }" ({ "{") (expression_statement "pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();" (assignment_expression "pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))()" (identifier "pcVar9") (= "=") (cast_expression "(char *)(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))()" (parenthesized_expression "(*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))" (( "(") (pointer_expression "*(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI))" (* "*") (cast_expression "(code *)(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI))" (( "(") (binary_expression "unaff_EDI + 0xcbf09 +\n                                     *(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)" (binary_expression "unaff_EDI + 0xcbf09" (identifier "unaff_EDI") (+ "+") (number_literal "0xcbf09")) (+ "+") (pointer_expression "*(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)" (* "*") (cast_expression "(int *)(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)" (( "(") (binary_expression "&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI" (binary_expression "&UNK_00073325 +\n                                             (uint)(byte)(cVar7 - 0x24U) * 4" (pointer_expression "&UNK_00073325" (& "&") (identifier "UNK_00073325")) (+ "+") (binary_expression "(uint)(byte)(cVar7 - 0x24U) * 4" (call_expression "(uint)(byte)(cVar7 - 0x24U)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(cVar7 - 0x24U)" (( "(") (binary_expression "cVar7 - 0x24U" (identifier "cVar7") (- "-") (number_literal "0x24U")) () ")"))) (* "*") (number_literal "4"))) (+ "+") (identifier "unaff_EDI")) () ")"))))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return pcVar9;" (return "return") (identifier "pcVar9") (; ";")) (} "}"))) (goto_statement "goto LAB_0007e1e3;" (goto "goto") (statement_identifier "LAB_0007e1e3") (; ";")) (} "}")))) (} "}")))) (expression_statement "*local_44 = '\\';" (assignment_expression "*local_44 = '\\'" (pointer_expression "*local_44" (* "*") (identifier "local_44")) (= "=") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) (; ";")) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" (identifier "cVar7") (= "=") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12"))) (; ";")) (expression_statement "pcVar10 = pcVar9 + iVar13 + 1;" (assignment_expression "pcVar10 = pcVar9 + iVar13 + 1" (identifier "pcVar10") (= "=") (binary_expression "pcVar9 + iVar13 + 1" (binary_expression "pcVar9 + iVar13" (identifier "pcVar9") (+ "+") (identifier "iVar13")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_44 = pcVar10;" (assignment_expression "local_44 = pcVar10" (identifier "local_44") (= "=") (identifier "pcVar10")) (; ";")) (if_statement "if (cVar7 == '\0') goto LAB_0007e1ed;" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0007e1ed;" (goto "goto") (statement_identifier "LAB_0007e1ed") (; ";"))) (expression_statement "iVar14 = iVar13 + 2;" (assignment_expression "iVar14 = iVar13 + 2" (identifier "iVar14") (= "=") (binary_expression "iVar13 + 2" (identifier "iVar13") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_48 = (char *)((int)local_48 + 2);" (assignment_expression "local_48 = (char *)((int)local_48 + 2)" (identifier "local_48") (= "=") (cast_expression "(char *)((int)local_48 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_48 + 2)" (( "(") (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "local_44 = pcVar9 + iVar14;" (assignment_expression "local_44 = pcVar9 + iVar14" (identifier "local_44") (= "=") (binary_expression "pcVar9 + iVar14" (identifier "pcVar9") (+ "+") (identifier "iVar14"))) (; ";")) (expression_statement "pcVar12 = param_1 + (int)local_48;" (assignment_expression "pcVar12 = param_1 + (int)local_48" (identifier "pcVar12") (= "=") (binary_expression "param_1 + (int)local_48" (identifier "param_1") (+ "+") (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")))) (; ";")) (} "}")) (else_clause "else {\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }" (else "else") (compound_statement "{\n    iVar14 = iVar13 + 1;\n    pcVar1 = (char *)((int)local_48 + 1);\n    pcVar15 = pcVar9 + iVar14;\n    pcVar12 = param_1 + (int)pcVar1;\n    pcVar10 = local_44;\n    if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }\n    if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }\n    *local_44 = '\\';\n    cVar7 = *pcVar12;\n    local_44 = pcVar15;\n    if (cVar7 == '\0') goto LAB_0007e1ed;\n    iVar14 = iVar13 + 2;\n    local_44 = pcVar9 + iVar14;\n    pcVar10 = pcVar15;\n    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }\n    pcVar12 = param_1 + (int)local_48;\n  }" ({ "{") (expression_statement "iVar14 = iVar13 + 1;" (assignment_expression "iVar14 = iVar13 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar1 = (char *)((int)local_48 + 1);" (assignment_expression "pcVar1 = (char *)((int)local_48 + 1)" (identifier "pcVar1") (= "=") (cast_expression "(char *)((int)local_48 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_48 + 1)" (( "(") (binary_expression "(int)local_48 + 1" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pcVar15 = pcVar9 + iVar14;" (assignment_expression "pcVar15 = pcVar9 + iVar14" (identifier "pcVar15") (= "=") (binary_expression "pcVar9 + iVar14" (identifier "pcVar9") (+ "+") (identifier "iVar14"))) (; ";")) (expression_statement "pcVar12 = param_1 + (int)pcVar1;" (assignment_expression "pcVar12 = param_1 + (int)pcVar1" (identifier "pcVar12") (= "=") (binary_expression "param_1 + (int)pcVar1" (identifier "param_1") (+ "+") (cast_expression "(int)pcVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar1")))) (; ";")) (expression_statement "pcVar10 = local_44;" (assignment_expression "pcVar10 = local_44" (identifier "pcVar10") (= "=") (identifier "local_44")) (; ";")) (if_statement "if ((param_2 & 4) != 0) {\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }" (if "if") (parenthesized_expression "((param_2 & 4) != 0)" (( "(") (binary_expression "(param_2 & 4) != 0" (parenthesized_expression "(param_2 & 4)" (( "(") (binary_expression "param_2 & 4" (identifier "param_2") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }\n      if (cVar7 != '[') goto LAB_0007e1cd;\n      *local_44 = '[';\n      iVar11 = (int)local_48 + 2;\n      cVar7 = *pcVar12;\n      iVar16 = iVar14;\n      pcVar10 = pcVar15;\n      if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }\n      local_48 = pcVar10;\n      if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }\n      if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }\n      do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');\n      goto LAB_0007e1e3;\n    }" ({ "{") (if_statement "if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }" (if "if") (parenthesized_expression "((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01'))" (( "(") (binary_expression "(local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')" (parenthesized_expression "(local_48 != (char *)0x0)" (( "(") (binary_expression "local_48 != (char *)0x0" (identifier "local_48") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(param_1[(int)local_48 + -1] == '\x01')" (( "(") (binary_expression "param_1[(int)local_48 + -1] == '\x01'" (subscript_expression "param_1[(int)local_48 + -1]" (identifier "param_1") ([ "[") (binary_expression "(int)local_48 + -1" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "-1")) (] "]")) (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        cVar7 = param_1[(int)local_48];\n        local_48 = pcVar1;\n        local_44 = pcVar15;\n        goto LAB_0007e1e1;\n      }" ({ "{") (expression_statement "cVar7 = param_1[(int)local_48];" (assignment_expression "cVar7 = param_1[(int)local_48]" (identifier "cVar7") (= "=") (subscript_expression "param_1[(int)local_48]" (identifier "param_1") ([ "[") (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (] "]"))) (; ";")) (expression_statement "local_48 = pcVar1;" (assignment_expression "local_48 = pcVar1" (identifier "local_48") (= "=") (identifier "pcVar1")) (; ";")) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" (identifier "local_44") (= "=") (identifier "pcVar15")) (; ";")) (goto_statement "goto LAB_0007e1e1;" (goto "goto") (statement_identifier "LAB_0007e1e1") (; ";")) (} "}"))) (if_statement "if (cVar7 != '[') goto LAB_0007e1cd;" (if "if") (parenthesized_expression "(cVar7 != '[')" (( "(") (binary_expression "cVar7 != '['" (identifier "cVar7") (!= "!=") (char_literal "'['" (' "'") (character "[") (' "'"))) () ")")) (goto_statement "goto LAB_0007e1cd;" (goto "goto") (statement_identifier "LAB_0007e1cd") (; ";"))) (expression_statement "*local_44 = '[';" (assignment_expression "*local_44 = '['" (pointer_expression "*local_44" (* "*") (identifier "local_44")) (= "=") (char_literal "'['" (' "'") (character "[") (' "'"))) (; ";")) (expression_statement "iVar11 = (int)local_48 + 2;" (assignment_expression "iVar11 = (int)local_48 + 2" (identifier "iVar11") (= "=") (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" (identifier "cVar7") (= "=") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12"))) (; ";")) (expression_statement "iVar16 = iVar14;" (assignment_expression "iVar16 = iVar14" (identifier "iVar16") (= "=") (identifier "iVar14")) (; ";")) (expression_statement "pcVar10 = pcVar15;" (assignment_expression "pcVar10 = pcVar15" (identifier "pcVar10") (= "=") (identifier "pcVar15")) (; ";")) (if_statement "if (cVar7 == '^') {\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }" (if "if") (parenthesized_expression "(cVar7 == '^')" (( "(") (binary_expression "cVar7 == '^'" (identifier "cVar7") (== "==") (char_literal "'^'" (' "'") (character "^") (' "'"))) () ")")) (compound_statement "{\n        iVar16 = iVar13 + 2;\n        iVar11 = (int)local_48 + 3;\n        *pcVar15 = '^';\n        cVar7 = param_1[(int)local_48 + 2];\n        pcVar10 = pcVar9 + iVar16;\n      }" ({ "{") (expression_statement "iVar16 = iVar13 + 2;" (assignment_expression "iVar16 = iVar13 + 2" (identifier "iVar16") (= "=") (binary_expression "iVar13 + 2" (identifier "iVar13") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar11 = (int)local_48 + 3;" (assignment_expression "iVar11 = (int)local_48 + 3" (identifier "iVar11") (= "=") (binary_expression "(int)local_48 + 3" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*pcVar15 = '^';" (assignment_expression "*pcVar15 = '^'" (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) (= "=") (char_literal "'^'" (' "'") (character "^") (' "'"))) (; ";")) (expression_statement "cVar7 = param_1[(int)local_48 + 2];" (assignment_expression "cVar7 = param_1[(int)local_48 + 2]" (identifier "cVar7") (= "=") (subscript_expression "param_1[(int)local_48 + 2]" (identifier "param_1") ([ "[") (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "2")) (] "]"))) (; ";")) (expression_statement "pcVar10 = pcVar9 + iVar16;" (assignment_expression "pcVar10 = pcVar9 + iVar16" (identifier "pcVar10") (= "=") (binary_expression "pcVar9 + iVar16" (identifier "pcVar9") (+ "+") (identifier "iVar16"))) (; ";")) (} "}"))) (expression_statement "local_48 = pcVar10;" (assignment_expression "local_48 = pcVar10" (identifier "local_48") (= "=") (identifier "pcVar10")) (; ";")) (if_statement "if (cVar7 == ']') {\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }" (if "if") (parenthesized_expression "(cVar7 == ']')" (( "(") (binary_expression "cVar7 == ']'" (identifier "cVar7") (== "==") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")")) (compound_statement "{\n        iVar16 = iVar16 + 1;\n        *local_48 = ']';\n        cVar7 = param_1[iVar11];\n        iVar11 = iVar11 + 1;\n        local_48 = pcVar9 + iVar16;\n      }" ({ "{") (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*local_48 = ']';" (assignment_expression "*local_48 = ']'" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (= "=") (char_literal "']'" (' "'") (character "]") (' "'"))) (; ";")) (expression_statement "cVar7 = param_1[iVar11];" (assignment_expression "cVar7 = param_1[iVar11]" (identifier "cVar7") (= "=") (subscript_expression "param_1[iVar11]" (identifier "param_1") ([ "[") (identifier "iVar11") (] "]"))) (; ";")) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_48 = pcVar9 + iVar16;" (assignment_expression "local_48 = pcVar9 + iVar16" (identifier "local_48") (= "=") (binary_expression "pcVar9 + iVar16" (identifier "pcVar9") (+ "+") (identifier "iVar16"))) (; ";")) (} "}"))) (if_statement "if (cVar7 == '\0') {\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        local_44 = local_48;\n        goto LAB_0007e1ed;\n      }" ({ "{") (expression_statement "local_44 = local_48;" (assignment_expression "local_44 = local_48" (identifier "local_44") (= "=") (identifier "local_48")) (; ";")) (goto_statement "goto LAB_0007e1ed;" (goto "goto") (statement_identifier "LAB_0007e1ed") (; ";")) (} "}"))) (do_statement "do {\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      } while (cVar7 != '\0');" (do "do") (compound_statement "{\n        local_44 = pcVar9 + iVar16;\n        pcVar10 = param_1 + iVar11;\n        if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }\n        if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }\n        local_44 = pcVar15;\n      }" ({ "{") (expression_statement "local_44 = pcVar9 + iVar16;" (assignment_expression "local_44 = pcVar9 + iVar16" (identifier "local_44") (= "=") (binary_expression "pcVar9 + iVar16" (identifier "pcVar9") (+ "+") (identifier "iVar16"))) (; ";")) (expression_statement "pcVar10 = param_1 + iVar11;" (assignment_expression "pcVar10 = param_1 + iVar11" (identifier "pcVar10") (= "=") (binary_expression "param_1 + iVar11" (identifier "param_1") (+ "+") (identifier "iVar11"))) (; ";")) (if_statement "if (cVar7 == '\x01') {\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }\n        else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }" (if "if") (parenthesized_expression "(cVar7 == '\x01')" (( "(") (binary_expression "cVar7 == '\x01'" (identifier "cVar7") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n          if (*pcVar10 == '\0') goto LAB_0007e1ed;\n          *local_44 = *pcVar10;\n          cVar7 = param_1[iVar11 + 1];\n          iVar16 = iVar16 + 1;\n          iVar11 = iVar11 + 2;\n        }" ({ "{") (if_statement "if (*pcVar10 == '\0') goto LAB_0007e1ed;" (if "if") (parenthesized_expression "(*pcVar10 == '\0')" (( "(") (binary_expression "*pcVar10 == '\0'" (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0007e1ed;" (goto "goto") (statement_identifier "LAB_0007e1ed") (; ";"))) (expression_statement "*local_44 = *pcVar10;" (assignment_expression "*local_44 = *pcVar10" (pointer_expression "*local_44" (* "*") (identifier "local_44")) (= "=") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10"))) (; ";")) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" (identifier "cVar7") (= "=") (subscript_expression "param_1[iVar11 + 1]" (identifier "param_1") ([ "[") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 2" (identifier "iVar11") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }" (else "else") (compound_statement "{\n          iVar13 = iVar16 + 1;\n          if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n        }" ({ "{") (expression_statement "iVar13 = iVar16 + 1;" (assignment_expression "iVar13 = iVar16 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (cVar7 == '[') {\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }\n          else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" (if "if") (parenthesized_expression "(cVar7 == '[')" (( "(") (binary_expression "cVar7 == '['" (identifier "cVar7") (== "==") (char_literal "'['" (' "'") (character "[") (' "'"))) () ")")) (compound_statement "{\n            cVar3 = *pcVar10;\n            if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n          }" ({ "{") (expression_statement "cVar3 = *pcVar10;" (assignment_expression "cVar3 = *pcVar10" (identifier "cVar3") (= "=") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10"))) (; ";")) (if_statement "if (cVar3 == ':') {\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }\n            else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" (if "if") (parenthesized_expression "(cVar3 == ':')" (( "(") (binary_expression "cVar3 == ':'" (identifier "cVar3") (== "==") (char_literal "':'" (' "'") (character ":") (' "'"))) () ")")) (compound_statement "{\n              pcVar2 = pcVar9 + iVar16;\n              iVar16 = iVar16 + 2;\n              bVar4 = true;\n              *pcVar2 = '[';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n            }" ({ "{") (expression_statement "pcVar2 = pcVar9 + iVar16;" (assignment_expression "pcVar2 = pcVar9 + iVar16" (identifier "pcVar2") (= "=") (binary_expression "pcVar9 + iVar16" (identifier "pcVar9") (+ "+") (identifier "iVar16"))) (; ";")) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 2" (identifier "iVar16") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" (identifier "bVar4") (= "=") (true "true")) (; ";")) (expression_statement "*pcVar2 = '[';" (assignment_expression "*pcVar2 = '['" (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) (= "=") (char_literal "'['" (' "'") (character "[") (' "'"))) (; ";")) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" (identifier "pcVar9") ([ "[") (identifier "iVar13") (] "]")) (= "=") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10"))) (; ";")) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" (identifier "cVar7") (= "=") (subscript_expression "param_1[iVar11 + 1]" (identifier "param_1") ([ "[") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 2" (identifier "iVar11") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" (else "else") (if_statement "if (cVar3 == '=') {\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }\n            else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" (if "if") (parenthesized_expression "(cVar3 == '=')" (( "(") (binary_expression "cVar3 == '='" (identifier "cVar3") (== "==") (char_literal "'='" (' "'") (character "=") (' "'"))) () ")")) (compound_statement "{\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" ({ "{") (expression_statement "pcVar9[iVar16] = '[';" (assignment_expression "pcVar9[iVar16] = '['" (subscript_expression "pcVar9[iVar16]" (identifier "pcVar9") ([ "[") (identifier "iVar16") (] "]")) (= "=") (char_literal "'['" (' "'") (character "[") (' "'"))) (; ";")) (expression_statement "pcVar9[iVar16 + 1] = *pcVar10;" (assignment_expression "pcVar9[iVar16 + 1] = *pcVar10" (subscript_expression "pcVar9[iVar16 + 1]" (identifier "pcVar9") ([ "[") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1")) (] "]")) (= "=") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10"))) (; ";")) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" (identifier "cVar7") (= "=") (subscript_expression "param_1[iVar11 + 1]" (identifier "param_1") ([ "[") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (if_statement "if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }" (if "if") (parenthesized_expression "(cVar7 == ']')" (( "(") (binary_expression "cVar7 == ']'" (identifier "cVar7") (== "==") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")")) (compound_statement "{\n                pcVar9[iVar16 + 2] = ']';\n                iVar16 = iVar16 + 3;\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar5 = true;\n              }" ({ "{") (expression_statement "pcVar9[iVar16 + 2] = ']';" (assignment_expression "pcVar9[iVar16 + 2] = ']'" (subscript_expression "pcVar9[iVar16 + 2]" (identifier "pcVar9") ([ "[") (binary_expression "iVar16 + 2" (identifier "iVar16") (+ "+") (number_literal "2")) (] "]")) (= "=") (char_literal "']'" (' "'") (character "]") (' "'"))) (; ";")) (expression_statement "iVar16 = iVar16 + 3;" (assignment_expression "iVar16 = iVar16 + 3" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 3" (identifier "iVar16") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "cVar7 = param_1[iVar11 + 2];" (assignment_expression "cVar7 = param_1[iVar11 + 2]" (identifier "cVar7") (= "=") (subscript_expression "param_1[iVar11 + 2]" (identifier "param_1") ([ "[") (binary_expression "iVar11 + 2" (identifier "iVar11") (+ "+") (number_literal "2")) (] "]"))) (; ";")) (expression_statement "iVar11 = iVar11 + 3;" (assignment_expression "iVar11 = iVar11 + 3" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 3" (identifier "iVar11") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" (identifier "bVar5") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }" (else "else") (compound_statement "{\n                iVar11 = iVar11 + 2;\n                bVar5 = true;\n                iVar16 = iVar16 + 2;\n              }" ({ "{") (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 2" (identifier "iVar11") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" (identifier "bVar5") (= "=") (true "true")) (; ";")) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 2" (identifier "iVar16") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" (else "else") (compound_statement "{\n              if (cVar3 != '.') goto LAB_0007e405;\n              pcVar9[iVar16] = '[';\n              pcVar9[iVar16 + 1] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }\n            }" ({ "{") (if_statement "if (cVar3 != '.') goto LAB_0007e405;" (if "if") (parenthesized_expression "(cVar3 != '.')" (( "(") (binary_expression "cVar3 != '.'" (identifier "cVar3") (!= "!=") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")")) (goto_statement "goto LAB_0007e405;" (goto "goto") (statement_identifier "LAB_0007e405") (; ";"))) (expression_statement "pcVar9[iVar16] = '[';" (assignment_expression "pcVar9[iVar16] = '['" (subscript_expression "pcVar9[iVar16]" (identifier "pcVar9") ([ "[") (identifier "iVar16") (] "]")) (= "=") (char_literal "'['" (' "'") (character "[") (' "'"))) (; ";")) (expression_statement "pcVar9[iVar16 + 1] = *pcVar10;" (assignment_expression "pcVar9[iVar16 + 1] = *pcVar10" (subscript_expression "pcVar9[iVar16 + 1]" (identifier "pcVar9") ([ "[") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1")) (] "]")) (= "=") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10"))) (; ";")) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" (identifier "cVar7") (= "=") (subscript_expression "param_1[iVar11 + 1]" (identifier "param_1") ([ "[") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (if_statement "if (cVar7 == ']') {\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }\n              else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }" (if "if") (parenthesized_expression "(cVar7 == ']')" (( "(") (binary_expression "cVar7 == ']'" (identifier "cVar7") (== "==") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")")) (compound_statement "{\n                pcVar9[iVar16 + 2] = ']';\n                cVar7 = param_1[iVar11 + 2];\n                iVar11 = iVar11 + 3;\n                bVar6 = true;\n                iVar16 = iVar16 + 3;\n              }" ({ "{") (expression_statement "pcVar9[iVar16 + 2] = ']';" (assignment_expression "pcVar9[iVar16 + 2] = ']'" (subscript_expression "pcVar9[iVar16 + 2]" (identifier "pcVar9") ([ "[") (binary_expression "iVar16 + 2" (identifier "iVar16") (+ "+") (number_literal "2")) (] "]")) (= "=") (char_literal "']'" (' "'") (character "]") (' "'"))) (; ";")) (expression_statement "cVar7 = param_1[iVar11 + 2];" (assignment_expression "cVar7 = param_1[iVar11 + 2]" (identifier "cVar7") (= "=") (subscript_expression "param_1[iVar11 + 2]" (identifier "param_1") ([ "[") (binary_expression "iVar11 + 2" (identifier "iVar11") (+ "+") (number_literal "2")) (] "]"))) (; ";")) (expression_statement "iVar11 = iVar11 + 3;" (assignment_expression "iVar11 = iVar11 + 3" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 3" (identifier "iVar11") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" (identifier "bVar6") (= "=") (true "true")) (; ";")) (expression_statement "iVar16 = iVar16 + 3;" (assignment_expression "iVar16 = iVar16 + 3" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 3" (identifier "iVar16") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (else_clause "else {\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }" (else "else") (compound_statement "{\n                iVar11 = iVar11 + 2;\n                bVar6 = true;\n                iVar16 = iVar16 + 2;\n              }" ({ "{") (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 2" (identifier "iVar11") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" (identifier "bVar6") (= "=") (true "true")) (; ";")) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 2" (identifier "iVar16") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (} "}")))))) (} "}")) (else_clause "else if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" (else "else") (if_statement "if ((cVar7 == ':') && (bVar4)) {\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }\n          else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" (if "if") (parenthesized_expression "((cVar7 == ':') && (bVar4))" (( "(") (binary_expression "(cVar7 == ':') && (bVar4)" (parenthesized_expression "(cVar7 == ':')" (( "(") (binary_expression "cVar7 == ':'" (identifier "cVar7") (== "==") (char_literal "':'" (' "'") (character ":") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(bVar4)" (( "(") (identifier "bVar4") () ")"))) () ")")) (compound_statement "{\n            if (*pcVar10 != ']') goto LAB_0007e405;\n            bVar4 = false;\n            pcVar9[iVar16] = ':';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" ({ "{") (if_statement "if (*pcVar10 != ']') goto LAB_0007e405;" (if "if") (parenthesized_expression "(*pcVar10 != ']')" (( "(") (binary_expression "*pcVar10 != ']'" (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) (!= "!=") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")")) (goto_statement "goto LAB_0007e405;" (goto "goto") (statement_identifier "LAB_0007e405") (; ";"))) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" (identifier "bVar4") (= "=") (false "false")) (; ";")) (expression_statement "pcVar9[iVar16] = ':';" (assignment_expression "pcVar9[iVar16] = ':'" (subscript_expression "pcVar9[iVar16]" (identifier "pcVar9") ([ "[") (identifier "iVar16") (] "]")) (= "=") (char_literal "':'" (' "'") (character ":") (' "'"))) (; ";")) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" (identifier "pcVar9") ([ "[") (identifier "iVar13") (] "]")) (= "=") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10"))) (; ";")) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" (identifier "cVar7") (= "=") (subscript_expression "param_1[iVar11 + 1]" (identifier "param_1") ([ "[") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 2" (identifier "iVar11") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 2" (identifier "iVar16") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" (else "else") (if_statement "if ((cVar7 == '=') && (bVar5)) {\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }\n          else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" (if "if") (parenthesized_expression "((cVar7 == '=') && (bVar5))" (( "(") (binary_expression "(cVar7 == '=') && (bVar5)" (parenthesized_expression "(cVar7 == '=')" (( "(") (binary_expression "cVar7 == '='" (identifier "cVar7") (== "==") (char_literal "'='" (' "'") (character "=") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(bVar5)" (( "(") (identifier "bVar5") () ")"))) () ")")) (compound_statement "{\n            if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }\n          }" ({ "{") (if_statement "if (*pcVar10 == ']') {\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }\n            else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }" (if "if") (parenthesized_expression "(*pcVar10 == ']')" (( "(") (binary_expression "*pcVar10 == ']'" (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) (== "==") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")")) (compound_statement "{\n              bVar5 = false;\n              pcVar9[iVar16] = '=';\n              pcVar9[iVar13] = *pcVar10;\n              cVar7 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar16 = iVar16 + 2;\n            }" ({ "{") (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" (identifier "bVar5") (= "=") (false "false")) (; ";")) (expression_statement "pcVar9[iVar16] = '=';" (assignment_expression "pcVar9[iVar16] = '='" (subscript_expression "pcVar9[iVar16]" (identifier "pcVar9") ([ "[") (identifier "iVar16") (] "]")) (= "=") (char_literal "'='" (' "'") (character "=") (' "'"))) (; ";")) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" (identifier "pcVar9") ([ "[") (identifier "iVar13") (] "]")) (= "=") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10"))) (; ";")) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" (identifier "cVar7") (= "=") (subscript_expression "param_1[iVar11 + 1]" (identifier "param_1") ([ "[") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 2" (identifier "iVar11") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 2" (identifier "iVar16") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }" (else "else") (compound_statement "{\nLAB_0007e405:\n              *local_44 = cVar7;\n              cVar7 = *pcVar10;\n              iVar16 = iVar13;\n              iVar11 = iVar11 + 1;\n            }" ({ "{") (labeled_statement "LAB_0007e405:\n              *local_44 = cVar7;" (statement_identifier "LAB_0007e405") (: ":") (expression_statement "*local_44 = cVar7;" (assignment_expression "*local_44 = cVar7" (pointer_expression "*local_44" (* "*") (identifier "local_44")) (= "=") (identifier "cVar7")) (; ";"))) (expression_statement "cVar7 = *pcVar10;" (assignment_expression "cVar7 = *pcVar10" (identifier "cVar7") (= "=") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10"))) (; ";")) (expression_statement "iVar16 = iVar13;" (assignment_expression "iVar16 = iVar13" (identifier "iVar16") (= "=") (identifier "iVar13")) (; ";")) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" (else "else") (compound_statement "{\n            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;\n            bVar6 = false;\n            pcVar9[iVar16] = '.';\n            pcVar9[iVar13] = *pcVar10;\n            cVar7 = param_1[iVar11 + 1];\n            iVar11 = iVar11 + 2;\n            iVar16 = iVar16 + 2;\n          }" ({ "{") (if_statement "if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;" (if "if") (parenthesized_expression "(((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']'))" (( "(") (binary_expression "((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')" (parenthesized_expression "((cVar7 != '.') || (!bVar6))" (( "(") (binary_expression "(cVar7 != '.') || (!bVar6)" (parenthesized_expression "(cVar7 != '.')" (( "(") (binary_expression "cVar7 != '.'" (identifier "cVar7") (!= "!=") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(!bVar6)" (( "(") (unary_expression "!bVar6" (! "!") (identifier "bVar6")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*pcVar10 != ']')" (( "(") (binary_expression "*pcVar10 != ']'" (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) (!= "!=") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_0007e405;" (goto "goto") (statement_identifier "LAB_0007e405") (; ";"))) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" (identifier "bVar6") (= "=") (false "false")) (; ";")) (expression_statement "pcVar9[iVar16] = '.';" (assignment_expression "pcVar9[iVar16] = '.'" (subscript_expression "pcVar9[iVar16]" (identifier "pcVar9") ([ "[") (identifier "iVar16") (] "]")) (= "=") (char_literal "'.'" (' "'") (character ".") (' "'"))) (; ";")) (expression_statement "pcVar9[iVar13] = *pcVar10;" (assignment_expression "pcVar9[iVar13] = *pcVar10" (subscript_expression "pcVar9[iVar13]" (identifier "pcVar9") ([ "[") (identifier "iVar13") (] "]")) (= "=") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10"))) (; ";")) (expression_statement "cVar7 = param_1[iVar11 + 1];" (assignment_expression "cVar7 = param_1[iVar11 + 1]" (identifier "cVar7") (= "=") (subscript_expression "param_1[iVar11 + 1]" (identifier "param_1") ([ "[") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 2" (identifier "iVar11") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar16 = iVar16 + 2;" (assignment_expression "iVar16 = iVar16 + 2" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 2" (identifier "iVar16") (+ "+") (number_literal "2"))) (; ";")) (} "}")))))))) (} "}")))) (if_statement "if (cVar7 == ']') {\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }" (if "if") (parenthesized_expression "(cVar7 == ']')" (( "(") (binary_expression "cVar7 == ']'" (identifier "cVar7") (== "==") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")")) (compound_statement "{\n          pcVar9[iVar16] = ']';\n          pcVar12 = param_1 + iVar11;\n          iVar14 = iVar16 + 1;\n          pcVar1 = (char *)iVar11;\n          local_44 = pcVar9 + iVar16 + 1;\n          break;\n        }" ({ "{") (expression_statement "pcVar9[iVar16] = ']';" (assignment_expression "pcVar9[iVar16] = ']'" (subscript_expression "pcVar9[iVar16]" (identifier "pcVar9") ([ "[") (identifier "iVar16") (] "]")) (= "=") (char_literal "']'" (' "'") (character "]") (' "'"))) (; ";")) (expression_statement "pcVar12 = param_1 + iVar11;" (assignment_expression "pcVar12 = param_1 + iVar11" (identifier "pcVar12") (= "=") (binary_expression "param_1 + iVar11" (identifier "param_1") (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "iVar14 = iVar16 + 1;" (assignment_expression "iVar14 = iVar16 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar1 = (char *)iVar11;" (assignment_expression "pcVar1 = (char *)iVar11" (identifier "pcVar1") (= "=") (cast_expression "(char *)iVar11" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar11"))) (; ";")) (expression_statement "local_44 = pcVar9 + iVar16 + 1;" (assignment_expression "local_44 = pcVar9 + iVar16 + 1" (identifier "local_44") (= "=") (binary_expression "pcVar9 + iVar16 + 1" (binary_expression "pcVar9 + iVar16" (identifier "pcVar9") (+ "+") (identifier "iVar16")) (+ "+") (number_literal "1"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" (identifier "local_44") (= "=") (identifier "pcVar15")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar7 != '\0')" (( "(") (binary_expression "cVar7 != '\0'" (identifier "cVar7") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (goto_statement "goto LAB_0007e1e3;" (goto "goto") (statement_identifier "LAB_0007e1e3") (; ";")) (} "}"))) (if_statement "if (cVar7 != '\\') {\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }" (if "if") (parenthesized_expression "(cVar7 != '\\')" (( "(") (binary_expression "cVar7 != '\\'" (identifier "cVar7") (!= "!=") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) () ")")) (compound_statement "{\nLAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];\n      local_48 = pcVar1;\n      local_44 = pcVar15;\n      goto LAB_0007e1e1;\n    }" ({ "{") (labeled_statement "LAB_0007e1cd:\n      cVar7 = param_1[(int)local_48];" (statement_identifier "LAB_0007e1cd") (: ":") (expression_statement "cVar7 = param_1[(int)local_48];" (assignment_expression "cVar7 = param_1[(int)local_48]" (identifier "cVar7") (= "=") (subscript_expression "param_1[(int)local_48]" (identifier "param_1") ([ "[") (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (] "]"))) (; ";"))) (expression_statement "local_48 = pcVar1;" (assignment_expression "local_48 = pcVar1" (identifier "local_48") (= "=") (identifier "pcVar1")) (; ";")) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" (identifier "local_44") (= "=") (identifier "pcVar15")) (; ";")) (goto_statement "goto LAB_0007e1e1;" (goto "goto") (statement_identifier "LAB_0007e1e1") (; ";")) (} "}"))) (expression_statement "*local_44 = '\\';" (assignment_expression "*local_44 = '\\'" (pointer_expression "*local_44" (* "*") (identifier "local_44")) (= "=") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) (; ";")) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" (identifier "cVar7") (= "=") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12"))) (; ";")) (expression_statement "local_44 = pcVar15;" (assignment_expression "local_44 = pcVar15" (identifier "local_44") (= "=") (identifier "pcVar15")) (; ";")) (if_statement "if (cVar7 == '\0') goto LAB_0007e1ed;" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0007e1ed;" (goto "goto") (statement_identifier "LAB_0007e1ed") (; ";"))) (expression_statement "iVar14 = iVar13 + 2;" (assignment_expression "iVar14 = iVar13 + 2" (identifier "iVar14") (= "=") (binary_expression "iVar13 + 2" (identifier "iVar13") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_44 = pcVar9 + iVar14;" (assignment_expression "local_44 = pcVar9 + iVar14" (identifier "local_44") (= "=") (binary_expression "pcVar9 + iVar14" (identifier "pcVar9") (+ "+") (identifier "iVar14"))) (; ";")) (expression_statement "pcVar10 = pcVar15;" (assignment_expression "pcVar10 = pcVar15" (identifier "pcVar10") (= "=") (identifier "pcVar15")) (; ";")) (if_statement "if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {\n      local_48 = (char *)((int)local_48 + 2);\n    }\n    else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }" (if "if") (parenthesized_expression "(((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01'))" (( "(") (binary_expression "((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')" (parenthesized_expression "((param_2 >> 3 & 1) == 0)" (( "(") (binary_expression "(param_2 >> 3 & 1) == 0" (parenthesized_expression "(param_2 >> 3 & 1)" (( "(") (binary_expression "param_2 >> 3 & 1" (binary_expression "param_2 >> 3" (identifier "param_2") (>> ">>") (number_literal "3")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(cVar7 != '\x01')" (( "(") (binary_expression "cVar7 != '\x01'" (identifier "cVar7") (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      local_48 = (char *)((int)local_48 + 2);\n    }" ({ "{") (expression_statement "local_48 = (char *)((int)local_48 + 2);" (assignment_expression "local_48 = (char *)((int)local_48 + 2)" (identifier "local_48") (= "=") (cast_expression "(char *)((int)local_48 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_48 + 2)" (( "(") (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }" (else "else") (compound_statement "{\n      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }\n      cVar7 = param_1[(int)local_48 + 2];\n      local_48 = (char *)((int)local_48 + 3);\n    }" ({ "{") (if_statement "if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }" (if "if") (parenthesized_expression "((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f'))" (( "(") (binary_expression "(param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')" (parenthesized_expression "(param_1[(int)local_48 + 2] != '\x01')" (( "(") (binary_expression "param_1[(int)local_48 + 2] != '\x01'" (subscript_expression "param_1[(int)local_48 + 2]" (identifier "param_1") ([ "[") (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "2")) (] "]")) (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(param_1[(int)local_48 + 2] != '\x7f')" (( "(") (binary_expression "param_1[(int)local_48 + 2] != '\x7f'" (subscript_expression "param_1[(int)local_48 + 2]" (identifier "param_1") ([ "[") (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "2")) (] "]")) (!= "!=") (char_literal "'\x7f'" (' "'") (escape_sequence "\x7f") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        local_48 = (char *)((int)local_48 + 2);\n        cVar7 = '\x01';\n        pcVar12 = param_1 + (int)local_48;\n        goto LAB_0007e1e1;\n      }" ({ "{") (expression_statement "local_48 = (char *)((int)local_48 + 2);" (assignment_expression "local_48 = (char *)((int)local_48 + 2)" (identifier "local_48") (= "=") (cast_expression "(char *)((int)local_48 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_48 + 2)" (( "(") (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "cVar7 = '\x01';" (assignment_expression "cVar7 = '\x01'" (identifier "cVar7") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "pcVar12 = param_1 + (int)local_48;" (assignment_expression "pcVar12 = param_1 + (int)local_48" (identifier "pcVar12") (= "=") (binary_expression "param_1 + (int)local_48" (identifier "param_1") (+ "+") (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")))) (; ";")) (goto_statement "goto LAB_0007e1e1;" (goto "goto") (statement_identifier "LAB_0007e1e1") (; ";")) (} "}"))) (expression_statement "cVar7 = param_1[(int)local_48 + 2];" (assignment_expression "cVar7 = param_1[(int)local_48 + 2]" (identifier "cVar7") (= "=") (subscript_expression "param_1[(int)local_48 + 2]" (identifier "param_1") ([ "[") (binary_expression "(int)local_48 + 2" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "2")) (] "]"))) (; ";")) (expression_statement "local_48 = (char *)((int)local_48 + 3);" (assignment_expression "local_48 = (char *)((int)local_48 + 3)" (identifier "local_48") (= "=") (cast_expression "(char *)((int)local_48 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_48 + 3)" (( "(") (binary_expression "(int)local_48 + 3" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "3")) () ")")))) (; ";")) (} "}")))) (expression_statement "pcVar12 = param_1 + (int)local_48;" (assignment_expression "pcVar12 = param_1 + (int)local_48" (identifier "pcVar12") (= "=") (binary_expression "param_1 + (int)local_48" (identifier "param_1") (+ "+") (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")))) (; ";")) (} "}")))) (labeled_statement "LAB_0007e1e1:\n  *pcVar10 = cVar7;" (statement_identifier "LAB_0007e1e1") (: ":") (expression_statement "*pcVar10 = cVar7;" (assignment_expression "*pcVar10 = cVar7" (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) (= "=") (identifier "cVar7")) (; ";"))) (expression_statement "pcVar1 = local_48;" (assignment_expression "pcVar1 = local_48" (identifier "pcVar1") (= "=") (identifier "local_48")) (; ";")) (labeled_statement "LAB_0007e1e3:\n  local_48 = pcVar1;" (statement_identifier "LAB_0007e1e3") (: ":") (expression_statement "local_48 = pcVar1;" (assignment_expression "local_48 = pcVar1" (identifier "local_48") (= "=") (identifier "pcVar1")) (; ";"))) (expression_statement "cVar7 = *pcVar12;" (assignment_expression "cVar7 = *pcVar12" (identifier "cVar7") (= "=") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12"))) (; ";")) (expression_statement "iVar13 = iVar14;" (assignment_expression "iVar13 = iVar14" (identifier "iVar13") (= "=") (identifier "iVar14")) (; ";")) (if_statement "if (cVar7 == '\0') goto LAB_0007e1ed;" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0007e1ed;" (goto "goto") (statement_identifier "LAB_0007e1ed") (; ";"))) (goto_statement "goto LAB_0007e180;" (goto "goto") (statement_identifier "LAB_0007e180") (; ";")) (} "}")))

char * function_1(char *var_9,int var_5)

{
  char *pcVar1;
  char *pcVar2;
  char var_15;
  bool bVar4;
  bool bVar5;
  bool bVar6;
  char var_6;
  size_t var_4;
  char *var_7;
  char *pcVar10;
  int var_14;
  char *pcVar12;
  int var_8;
  int var_11;
  char *pcVar15;
  int var_10;
  int var_13;
  char *var_12;
  char *local_44;
  
  var_1();
  var_4 = var_2(var_9);
  var_7 = (char *)var_3(var_4 * 2 + 1);
  var_6 = *var_9;
  if (((var_5 & 1U) == 0) || (var_6 != '\x7f')) {
    local_44 = var_7;
    if (var_6 == '\0') {
LAB_0007e1ed:
      *local_44 = '\0';
      return var_7;
    }
  }
  else if (var_9[1] == '\0') {
    *var_7 = '\0';
    return var_7;
  }
  bVar5 = false;
  bVar6 = false;
  bVar4 = false;
  var_12 = (char *)0x0;
  var_8 = 0;
LAB_0007e180:
  local_44 = var_7 + var_8;
  if (var_6 == '\x01') {
    var_6 = var_9[(int)var_12 + 1];
    if (var_6 == '\0') {
      *local_44 = '\x01';
      local_44 = var_7 + var_8 + 1;
      goto LAB_0007e1ed;
    }
    pcVar1 = (char *)((int)var_12 + 1);
    pcVar12 = var_9 + (int)pcVar1;
    var_11 = var_8;
    if ((var_5 & 0xcU) == 0) {
      if ((var_5 & 2U) != 0) {
LAB_0007e238:
        if (var_6 == '/') goto LAB_0007e1e3;
      }
      if (var_6 != '\x01') goto LAB_0007e240;
    }
    else {
      if ((var_6 == '\x01') || (var_6 == '\x7f')) {
        *local_44 = *pcVar12;
        pcVar12 = var_9 + (int)var_12 + 2;
        var_11 = var_8 + 1;
        pcVar1 = (char *)((int)var_12 + 2);
        local_44 = var_7 + var_8 + 1;
        goto LAB_0007e1e3;
      }
      if ((var_5 & 2U) != 0) goto LAB_0007e238;
LAB_0007e240:
      if ((var_5 & 4U) != 0) {
        if ((byte)(var_6 - 0x24U) < 0x59) {
                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          var_7 = (char *)(*(type_1 *)(var_10 + 0xcbf09 +
                                     *(int *)(var_10 + 0x73325 + (type_2)(byte)(var_6 - 0x24U) * 4)
                                     ))();
          return var_7;
        }
        goto LAB_0007e1e3;
      }
    }
    *local_44 = '\\';
    var_6 = *pcVar12;
    pcVar10 = var_7 + var_8 + 1;
    local_44 = pcVar10;
    if (var_6 == '\0') goto LAB_0007e1ed;
    var_11 = var_8 + 2;
    var_12 = (char *)((int)var_12 + 2);
    local_44 = var_7 + var_11;
    pcVar12 = var_9 + (int)var_12;
  }
  else {
    var_11 = var_8 + 1;
    pcVar1 = (char *)((int)var_12 + 1);
    pcVar15 = var_7 + var_11;
    pcVar12 = var_9 + (int)pcVar1;
    pcVar10 = local_44;
    if ((var_5 & 4U) != 0) {
      if ((var_12 != (char *)0x0) && (var_9[(int)var_12 + -1] == '\x01')) {
        var_6 = var_9[(int)var_12];
        var_12 = pcVar1;
        local_44 = pcVar15;
        goto LAB_0007e1e1;
      }
      if (var_6 != '[') goto LAB_0007e1cd;
      *local_44 = '[';
      var_14 = (int)var_12 + 2;
      var_6 = *pcVar12;
      var_13 = var_11;
      pcVar10 = pcVar15;
      if (var_6 == '^') {
        var_13 = var_8 + 2;
        var_14 = (int)var_12 + 3;
        *pcVar15 = '^';
        var_6 = var_9[(int)var_12 + 2];
        pcVar10 = var_7 + var_13;
      }
      var_12 = pcVar10;
      if (var_6 == ']') {
        var_13 = var_13 + 1;
        *var_12 = ']';
        var_6 = var_9[var_14];
        var_14 = var_14 + 1;
        var_12 = var_7 + var_13;
      }
      if (var_6 == '\0') {
        local_44 = var_12;
        goto LAB_0007e1ed;
      }
      do {
        local_44 = var_7 + var_13;
        pcVar10 = var_9 + var_14;
        if (var_6 == '\x01') {
          if (*pcVar10 == '\0') goto LAB_0007e1ed;
          *local_44 = *pcVar10;
          var_6 = var_9[var_14 + 1];
          var_13 = var_13 + 1;
          var_14 = var_14 + 2;
        }
        else {
          var_8 = var_13 + 1;
          if (var_6 == '[') {
            var_15 = *pcVar10;
            if (var_15 == ':') {
              pcVar2 = var_7 + var_13;
              var_13 = var_13 + 2;
              bVar4 = true;
              *pcVar2 = '[';
              var_7[var_8] = *pcVar10;
              var_6 = var_9[var_14 + 1];
              var_14 = var_14 + 2;
            }
            else if (var_15 == '=') {
              var_7[var_13] = '[';
              var_7[var_13 + 1] = *pcVar10;
              var_6 = var_9[var_14 + 1];
              if (var_6 == ']') {
                var_7[var_13 + 2] = ']';
                var_13 = var_13 + 3;
                var_6 = var_9[var_14 + 2];
                var_14 = var_14 + 3;
                bVar5 = true;
              }
              else {
                var_14 = var_14 + 2;
                bVar5 = true;
                var_13 = var_13 + 2;
              }
            }
            else {
              if (var_15 != '.') goto LAB_0007e405;
              var_7[var_13] = '[';
              var_7[var_13 + 1] = *pcVar10;
              var_6 = var_9[var_14 + 1];
              if (var_6 == ']') {
                var_7[var_13 + 2] = ']';
                var_6 = var_9[var_14 + 2];
                var_14 = var_14 + 3;
                bVar6 = true;
                var_13 = var_13 + 3;
              }
              else {
                var_14 = var_14 + 2;
                bVar6 = true;
                var_13 = var_13 + 2;
              }
            }
          }
          else if ((var_6 == ':') && (bVar4)) {
            if (*pcVar10 != ']') goto LAB_0007e405;
            bVar4 = false;
            var_7[var_13] = ':';
            var_7[var_8] = *pcVar10;
            var_6 = var_9[var_14 + 1];
            var_14 = var_14 + 2;
            var_13 = var_13 + 2;
          }
          else if ((var_6 == '=') && (bVar5)) {
            if (*pcVar10 == ']') {
              bVar5 = false;
              var_7[var_13] = '=';
              var_7[var_8] = *pcVar10;
              var_6 = var_9[var_14 + 1];
              var_14 = var_14 + 2;
              var_13 = var_13 + 2;
            }
            else {
LAB_0007e405:
              *local_44 = var_6;
              var_6 = *pcVar10;
              var_13 = var_8;
              var_14 = var_14 + 1;
            }
          }
          else {
            if (((var_6 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;
            bVar6 = false;
            var_7[var_13] = '.';
            var_7[var_8] = *pcVar10;
            var_6 = var_9[var_14 + 1];
            var_14 = var_14 + 2;
            var_13 = var_13 + 2;
          }
        }
        if (var_6 == ']') {
          var_7[var_13] = ']';
          pcVar12 = var_9 + var_14;
          var_11 = var_13 + 1;
          pcVar1 = (char *)var_14;
          local_44 = var_7 + var_13 + 1;
          break;
        }
        local_44 = pcVar15;
      } while (var_6 != '\0');
      goto LAB_0007e1e3;
    }
    if (var_6 != '\\') {
LAB_0007e1cd:
      var_6 = var_9[(int)var_12];
      var_12 = pcVar1;
      local_44 = pcVar15;
      goto LAB_0007e1e1;
    }
    *local_44 = '\\';
    var_6 = *pcVar12;
    local_44 = pcVar15;
    if (var_6 == '\0') goto LAB_0007e1ed;
    var_11 = var_8 + 2;
    local_44 = var_7 + var_11;
    pcVar10 = pcVar15;
    if ((((type_2)var_5 >> 3 & 1) == 0) || (var_6 != '\x01')) {
      var_12 = (char *)((int)var_12 + 2);
    }
    else {
      if ((var_9[(int)var_12 + 2] != '\x01') && (var_9[(int)var_12 + 2] != '\x7f')) {
        var_12 = (char *)((int)var_12 + 2);
        var_6 = '\x01';
        pcVar12 = var_9 + (int)var_12;
        goto LAB_0007e1e1;
      }
      var_6 = var_9[(int)var_12 + 2];
      var_12 = (char *)((int)var_12 + 3);
    }
    pcVar12 = var_9 + (int)var_12;
  }
LAB_0007e1e1:
  *pcVar10 = var_6;
  pcVar1 = var_12;
LAB_0007e1e3:
  var_12 = pcVar1;
  var_6 = *pcVar12;
  var_8 = var_11;
  if (var_6 == '\0') goto LAB_0007e1ed;
  goto LAB_0007e180;
}


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

char * MASKED(char *param_1,uint param_2)

{
  char *pcVar1;
  char *pcVar2;
  char cVar3;
  bool bVar4;
  bool bVar5;
  bool bVar6;
  char cVar7;
  size_t sVar8;
  char *pcVar9;
  char *pcVar10;
  int iVar11;
  char *pcVar12;
  int iVar13;
  int iVar14;
  char *pcVar15;
  int unaff_EDI;
  int iVar16;
  char *local_48;
  char *local_44;
  
  FUN_00042933();
  sVar8 = strlen(param_1);
  pcVar9 = (char *)xmalloc(sVar8 * 2 + 1);
  cVar7 = *param_1;
  if (((param_2 & 1) == 0) || (cVar7 != '\x7f')) {
    local_44 = pcVar9;
    if (cVar7 == '\0') {
LAB_0007e1ed:
      *local_44 = '\0';
      return pcVar9;
    }
  }
  else if (param_1[1] == '\0') {
    *pcVar9 = '\0';
    return pcVar9;
  }
  bVar5 = false;
  bVar6 = false;
  bVar4 = false;
  local_48 = (char *)0x0;
  iVar13 = 0;
LAB_0007e180:
  local_44 = pcVar9 + iVar13;
  if (cVar7 == '\x01') {
    cVar7 = param_1[(int)local_48 + 1];
    if (cVar7 == '\0') {
      *local_44 = '\x01';
      local_44 = pcVar9 + iVar13 + 1;
      goto LAB_0007e1ed;
    }
    pcVar1 = (char *)((int)local_48 + 1);
    pcVar12 = param_1 + (int)pcVar1;
    iVar14 = iVar13;
    if ((param_2 & 0xc) == 0) {
      if ((param_2 & 2) != 0) {
LAB_0007e238:
        if (cVar7 == '/') goto LAB_0007e1e3;
      }
      if (cVar7 != '\x01') goto LAB_0007e240;
    }
    else {
      if ((cVar7 == '\x01') || (cVar7 == '\x7f')) {
        *local_44 = *pcVar12;
        pcVar12 = param_1 + (int)local_48 + 2;
        iVar14 = iVar13 + 1;
        pcVar1 = (char *)((int)local_48 + 2);
        local_44 = pcVar9 + iVar13 + 1;
        goto LAB_0007e1e3;
      }
      if ((param_2 & 2) != 0) goto LAB_0007e238;
LAB_0007e240:
      if ((param_2 & 4) != 0) {
        if ((byte)(cVar7 - 0x24U) < 0x59) {
                    /* WARNING: Could not recover jumptable at 0x0007e25c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          pcVar9 = (char *)(*(code *)(unaff_EDI + 0xcbf09 +
                                     *(int *)(&UNK_00073325 +
                                             (uint)(byte)(cVar7 - 0x24U) * 4 + unaff_EDI)))();
          return pcVar9;
        }
        goto LAB_0007e1e3;
      }
    }
    *local_44 = '\\';
    cVar7 = *pcVar12;
    pcVar10 = pcVar9 + iVar13 + 1;
    local_44 = pcVar10;
    if (cVar7 == '\0') goto LAB_0007e1ed;
    iVar14 = iVar13 + 2;
    local_48 = (char *)((int)local_48 + 2);
    local_44 = pcVar9 + iVar14;
    pcVar12 = param_1 + (int)local_48;
  }
  else {
    iVar14 = iVar13 + 1;
    pcVar1 = (char *)((int)local_48 + 1);
    pcVar15 = pcVar9 + iVar14;
    pcVar12 = param_1 + (int)pcVar1;
    pcVar10 = local_44;
    if ((param_2 & 4) != 0) {
      if ((local_48 != (char *)0x0) && (param_1[(int)local_48 + -1] == '\x01')) {
        cVar7 = param_1[(int)local_48];
        local_48 = pcVar1;
        local_44 = pcVar15;
        goto LAB_0007e1e1;
      }
      if (cVar7 != '[') goto LAB_0007e1cd;
      *local_44 = '[';
      iVar11 = (int)local_48 + 2;
      cVar7 = *pcVar12;
      iVar16 = iVar14;
      pcVar10 = pcVar15;
      if (cVar7 == '^') {
        iVar16 = iVar13 + 2;
        iVar11 = (int)local_48 + 3;
        *pcVar15 = '^';
        cVar7 = param_1[(int)local_48 + 2];
        pcVar10 = pcVar9 + iVar16;
      }
      local_48 = pcVar10;
      if (cVar7 == ']') {
        iVar16 = iVar16 + 1;
        *local_48 = ']';
        cVar7 = param_1[iVar11];
        iVar11 = iVar11 + 1;
        local_48 = pcVar9 + iVar16;
      }
      if (cVar7 == '\0') {
        local_44 = local_48;
        goto LAB_0007e1ed;
      }
      do {
        local_44 = pcVar9 + iVar16;
        pcVar10 = param_1 + iVar11;
        if (cVar7 == '\x01') {
          if (*pcVar10 == '\0') goto LAB_0007e1ed;
          *local_44 = *pcVar10;
          cVar7 = param_1[iVar11 + 1];
          iVar16 = iVar16 + 1;
          iVar11 = iVar11 + 2;
        }
        else {
          iVar13 = iVar16 + 1;
          if (cVar7 == '[') {
            cVar3 = *pcVar10;
            if (cVar3 == ':') {
              pcVar2 = pcVar9 + iVar16;
              iVar16 = iVar16 + 2;
              bVar4 = true;
              *pcVar2 = '[';
              pcVar9[iVar13] = *pcVar10;
              cVar7 = param_1[iVar11 + 1];
              iVar11 = iVar11 + 2;
            }
            else if (cVar3 == '=') {
              pcVar9[iVar16] = '[';
              pcVar9[iVar16 + 1] = *pcVar10;
              cVar7 = param_1[iVar11 + 1];
              if (cVar7 == ']') {
                pcVar9[iVar16 + 2] = ']';
                iVar16 = iVar16 + 3;
                cVar7 = param_1[iVar11 + 2];
                iVar11 = iVar11 + 3;
                bVar5 = true;
              }
              else {
                iVar11 = iVar11 + 2;
                bVar5 = true;
                iVar16 = iVar16 + 2;
              }
            }
            else {
              if (cVar3 != '.') goto LAB_0007e405;
              pcVar9[iVar16] = '[';
              pcVar9[iVar16 + 1] = *pcVar10;
              cVar7 = param_1[iVar11 + 1];
              if (cVar7 == ']') {
                pcVar9[iVar16 + 2] = ']';
                cVar7 = param_1[iVar11 + 2];
                iVar11 = iVar11 + 3;
                bVar6 = true;
                iVar16 = iVar16 + 3;
              }
              else {
                iVar11 = iVar11 + 2;
                bVar6 = true;
                iVar16 = iVar16 + 2;
              }
            }
          }
          else if ((cVar7 == ':') && (bVar4)) {
            if (*pcVar10 != ']') goto LAB_0007e405;
            bVar4 = false;
            pcVar9[iVar16] = ':';
            pcVar9[iVar13] = *pcVar10;
            cVar7 = param_1[iVar11 + 1];
            iVar11 = iVar11 + 2;
            iVar16 = iVar16 + 2;
          }
          else if ((cVar7 == '=') && (bVar5)) {
            if (*pcVar10 == ']') {
              bVar5 = false;
              pcVar9[iVar16] = '=';
              pcVar9[iVar13] = *pcVar10;
              cVar7 = param_1[iVar11 + 1];
              iVar11 = iVar11 + 2;
              iVar16 = iVar16 + 2;
            }
            else {
LAB_0007e405:
              *local_44 = cVar7;
              cVar7 = *pcVar10;
              iVar16 = iVar13;
              iVar11 = iVar11 + 1;
            }
          }
          else {
            if (((cVar7 != '.') || (!bVar6)) || (*pcVar10 != ']')) goto LAB_0007e405;
            bVar6 = false;
            pcVar9[iVar16] = '.';
            pcVar9[iVar13] = *pcVar10;
            cVar7 = param_1[iVar11 + 1];
            iVar11 = iVar11 + 2;
            iVar16 = iVar16 + 2;
          }
        }
        if (cVar7 == ']') {
          pcVar9[iVar16] = ']';
          pcVar12 = param_1 + iVar11;
          iVar14 = iVar16 + 1;
          pcVar1 = (char *)iVar11;
          local_44 = pcVar9 + iVar16 + 1;
          break;
        }
        local_44 = pcVar15;
      } while (cVar7 != '\0');
      goto LAB_0007e1e3;
    }
    if (cVar7 != '\\') {
LAB_0007e1cd:
      cVar7 = param_1[(int)local_48];
      local_48 = pcVar1;
      local_44 = pcVar15;
      goto LAB_0007e1e1;
    }
    *local_44 = '\\';
    cVar7 = *pcVar12;
    local_44 = pcVar15;
    if (cVar7 == '\0') goto LAB_0007e1ed;
    iVar14 = iVar13 + 2;
    local_44 = pcVar9 + iVar14;
    pcVar10 = pcVar15;
    if (((param_2 >> 3 & 1) == 0) || (cVar7 != '\x01')) {
      local_48 = (char *)((int)local_48 + 2);
    }
    else {
      if ((param_1[(int)local_48 + 2] != '\x01') && (param_1[(int)local_48 + 2] != '\x7f')) {
        local_48 = (char *)((int)local_48 + 2);
        cVar7 = '\x01';
        pcVar12 = param_1 + (int)local_48;
        goto LAB_0007e1e1;
      }
      cVar7 = param_1[(int)local_48 + 2];
      local_48 = (char *)((int)local_48 + 3);
    }
    pcVar12 = param_1 + (int)local_48;
  }
LAB_0007e1e1:
  *pcVar10 = cVar7;
  pcVar1 = local_48;
LAB_0007e1e3:
  local_48 = pcVar1;
  cVar7 = *pcVar12;
  iVar13 = iVar14;
  if (cVar7 == '\0') goto LAB_0007e1ed;
  goto LAB_0007e180;
}

