
/* WARNING: Unknown calling convention */

char * quote_string_for_globbing(char *pathname,int qflags)

{
  char *pcVar1;
  char cVar2;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  char cVar6;
  size_t sVar7;
  char *pcVar8;
  char *pcVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  char *pcVar14;
  int unaff_EDI;
  char *local_58;
  char *local_50;
  int local_4c;
  char *local_48;
  
  __x86_get_pc_thunk_di();
  sVar7 = strlen(pathname);
  pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);
  cVar6 = *pathname;
  if (((qflags & 1U) == 0) || (cVar6 != '\x7f')) {
    local_48 = pcVar8;
    if (cVar6 == '\0') goto LAB_0008e5bc;
  }
  else if (pathname[1] == '\0') {
    *pcVar8 = '\0';
    return pcVar8;
  }
  bVar4 = false;
  bVar5 = false;
  bVar3 = false;
  local_50 = (char *)0x0;
  iVar12 = 0;
  do {
    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {
      local_4c = (int)local_50 + 1;
      local_58 = pathname + local_4c;
      iVar13 = iVar12 + 1;
      pcVar9 = pcVar8 + iVar13;
      pcVar14 = local_48;
      if ((qflags & 4U) == 0) {
        if (cVar6 == '\\') {
          *local_48 = '\\';
          cVar6 = *local_58;
          local_48 = pcVar9;
          if (cVar6 == '\0') goto LAB_0008e5bc;
          iVar13 = iVar12 + 2;
          pcVar14 = pcVar9;
          pcVar9 = pcVar8 + iVar13;
          if ((((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\x01')) {
            local_4c = (int)local_50 + 2;
          }
          else {
            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))
            {
              local_4c = (int)local_50 + 2;
              local_58 = pathname + local_4c;
              cVar6 = '\x01';
              goto LAB_0008e4d7;
            }
            local_4c = (int)local_50 + 3;
            cVar6 = pathname[(int)local_50 + 2];
          }
          local_58 = pathname + local_4c;
        }
LAB_0008e4d7:
        local_48 = pcVar9;
        *pcVar14 = cVar6;
        local_50 = (char *)local_4c;
      }
      else {
        if (((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')) ||
           (cVar6 != '[')) goto LAB_0008e4d7;
        *local_48 = '[';
        iVar11 = (int)local_50 + 2;
        cVar6 = *local_58;
        iVar10 = iVar13;
        pcVar14 = pcVar9;
        if (cVar6 == '^') {
          iVar10 = iVar12 + 2;
          *pcVar9 = '^';
          iVar11 = (int)local_50 + 3;
          cVar6 = pathname[(int)local_50 + 2];
          pcVar14 = pcVar8 + iVar10;
        }
        local_50 = pcVar14;
        if (cVar6 == ']') {
          iVar10 = iVar10 + 1;
          *local_50 = ']';
          cVar6 = pathname[iVar11];
          iVar11 = iVar11 + 1;
          local_50 = pcVar8 + iVar10;
        }
        if (cVar6 == '\0') {
          local_48 = local_50;
          goto LAB_0008e5bc;
        }
        do {
          local_48 = pcVar8 + iVar10;
          pcVar14 = pathname + iVar11;
          if (cVar6 == '\x01') {
            if (*pcVar14 == '\0') goto LAB_0008e5bc;
            *local_48 = *pcVar14;
            cVar6 = pathname[iVar11 + 1];
            iVar10 = iVar10 + 1;
            iVar11 = iVar11 + 2;
          }
          else {
            iVar12 = iVar10 + 1;
            if (cVar6 == '[') {
              cVar2 = *pcVar14;
              if (cVar2 == ':') {
                pcVar1 = pcVar8 + iVar10;
                iVar10 = iVar10 + 2;
                bVar3 = true;
                *pcVar1 = '[';
                pcVar8[iVar12] = *pcVar14;
                cVar6 = pathname[iVar11 + 1];
                iVar11 = iVar11 + 2;
              }
              else if (cVar2 == '=') {
                pcVar8[iVar10] = '[';
                pcVar8[iVar10 + 1] = *pcVar14;
                cVar6 = pathname[iVar11 + 1];
                if (cVar6 == ']') {
                  pcVar8[iVar10 + 2] = ']';
                  iVar10 = iVar10 + 3;
                  cVar6 = pathname[iVar11 + 2];
                  iVar11 = iVar11 + 3;
                  bVar4 = true;
                }
                else {
                  iVar11 = iVar11 + 2;
                  bVar4 = true;
                  iVar10 = iVar10 + 2;
                }
              }
              else {
                if (cVar2 != '.') goto LAB_0008e724;
                pcVar8[iVar10] = '[';
                pcVar8[iVar10 + 1] = *pcVar14;
                cVar6 = pathname[iVar11 + 1];
                if (cVar6 == ']') {
                  pcVar8[iVar10 + 2] = ']';
                  cVar6 = pathname[iVar11 + 2];
                  iVar11 = iVar11 + 3;
                  bVar5 = true;
                  iVar10 = iVar10 + 3;
                }
                else {
                  iVar11 = iVar11 + 2;
                  bVar5 = true;
                  iVar10 = iVar10 + 2;
                }
              }
            }
            else if ((cVar6 == ':') && (bVar3)) {
              if (*pcVar14 != ']') goto LAB_0008e724;
              bVar3 = false;
              pcVar8[iVar10] = ':';
              pcVar8[iVar12] = *pcVar14;
              cVar6 = pathname[iVar11 + 1];
              iVar11 = iVar11 + 2;
              iVar10 = iVar10 + 2;
            }
            else if ((cVar6 == '=') && (bVar4)) {
              if (*pcVar14 == ']') {
                bVar4 = false;
                pcVar8[iVar10] = '=';
                pcVar8[iVar12] = *pcVar14;
                cVar6 = pathname[iVar11 + 1];
                iVar11 = iVar11 + 2;
                iVar10 = iVar10 + 2;
              }
              else {
LAB_0008e724:
                *local_48 = cVar6;
                cVar6 = *pcVar14;
                iVar10 = iVar12;
                iVar11 = iVar11 + 1;
              }
            }
            else {
              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;
              bVar5 = false;
              pcVar8[iVar10] = '.';
              pcVar8[iVar12] = *pcVar14;
              cVar6 = pathname[iVar11 + 1];
              iVar11 = iVar11 + 2;
              iVar10 = iVar10 + 2;
            }
          }
          if (cVar6 == ']') {
            pcVar8[iVar10] = ']';
            goto LAB_0008e64f;
          }
          local_50 = (char *)local_4c;
          local_48 = pcVar9;
        } while (cVar6 != '\0');
      }
LAB_0008e4e3:
      cVar6 = *local_58;
      iVar12 = iVar13;
      if (cVar6 == '\0') goto LAB_0008e5bc;
    }
    cVar6 = pathname[(int)local_50 + 1];
    if (cVar6 == '\0') {
      *local_48 = '\x01';
      local_48 = pcVar8 + iVar12 + 1;
      break;
    }
    pcVar9 = pathname + (int)local_50 + 1;
    if ((qflags & 0xcU) == 0) {
      if ((qflags & 2U) == 0) {
LAB_0008e53b:
        if (cVar6 != '\x01') goto LAB_0008e53f;
        goto _L138;
      }
LAB_0008e537:
      if (cVar6 != '/') goto LAB_0008e53b;
    }
    else {
      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {
        iVar11 = (int)local_50 + 2;
        *local_48 = *pcVar9;
        iVar10 = iVar12;
LAB_0008e64f:
        iVar13 = iVar10 + 1;
        local_58 = pathname + iVar11;
        local_50 = (char *)iVar11;
        local_48 = pcVar8 + iVar13;
        goto LAB_0008e4e3;
      }
      if ((qflags & 2U) != 0) goto LAB_0008e537;
LAB_0008e53f:
      if ((qflags & 4U) == 0) {
_L138:
        *local_48 = '\\';
        cVar6 = *pcVar9;
        local_48 = pcVar8 + iVar12 + 1;
        if (cVar6 != '\0') {
          local_4c = (int)local_50 + 2;
          iVar13 = iVar12 + 2;
          local_58 = pathname + local_4c;
          pcVar14 = local_48;
          pcVar9 = pcVar8 + iVar13;
          goto LAB_0008e4d7;
        }
        break;
      }
      if ((byte)(cVar6 - 0x24U) < 0x59) {
                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)
                                   + unaff_EDI + 0xe3c09))();
        return pcVar8;
      }
    }
    cVar6 = *pcVar9;
    local_50 = (char *)((int)local_50 + 1);
  } while (cVar6 != '\0');
LAB_0008e5bc:
  *local_48 = '\0';
  return pcVar8;
}



char * quote_string_for_globbing(char *param_1,uint param_2)

{
  char *pcVar1;
  char cVar2;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  char cVar6;
  size_t sVar7;
  char *pcVar8;
  char *pcVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  char *pcVar14;
  int unaff_EDI;
  char *local_58;
  char *local_50;
  int local_4c;
  char *local_48;
  
  FUN_00032201();
  sVar7 = strlen(param_1);
  pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);
  cVar6 = *param_1;
  if (((param_2 & 1) == 0) || (cVar6 != '\x7f')) {
    local_48 = pcVar8;
    if (cVar6 == '\0') goto LAB_0008e5bc;
  }
  else if (param_1[1] == '\0') {
    *pcVar8 = '\0';
    return pcVar8;
  }
  bVar4 = false;
  bVar5 = false;
  bVar3 = false;
  local_50 = (char *)0x0;
  iVar12 = 0;
  do {
    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {
      local_4c = (int)local_50 + 1;
      local_58 = param_1 + local_4c;
      iVar13 = iVar12 + 1;
      pcVar9 = pcVar8 + iVar13;
      pcVar14 = local_48;
      if ((param_2 & 4) == 0) {
        if (cVar6 == '\\') {
          *local_48 = '\\';
          cVar6 = *local_58;
          local_48 = pcVar9;
          if (cVar6 == '\0') goto LAB_0008e5bc;
          iVar13 = iVar12 + 2;
          pcVar14 = pcVar9;
          pcVar9 = pcVar8 + iVar13;
          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {
            local_4c = (int)local_50 + 2;
          }
          else {
            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {
              local_4c = (int)local_50 + 2;
              local_58 = param_1 + local_4c;
              cVar6 = '\x01';
              goto LAB_0008e4d7;
            }
            local_4c = (int)local_50 + 3;
            cVar6 = param_1[(int)local_50 + 2];
          }
          local_58 = param_1 + local_4c;
        }
LAB_0008e4d7:
        local_48 = pcVar9;
        *pcVar14 = cVar6;
        local_50 = (char *)local_4c;
      }
      else {
        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')
           ) goto LAB_0008e4d7;
        *local_48 = '[';
        iVar11 = (int)local_50 + 2;
        cVar6 = *local_58;
        iVar10 = iVar13;
        pcVar14 = pcVar9;
        if (cVar6 == '^') {
          iVar10 = iVar12 + 2;
          *pcVar9 = '^';
          iVar11 = (int)local_50 + 3;
          cVar6 = param_1[(int)local_50 + 2];
          pcVar14 = pcVar8 + iVar10;
        }
        local_50 = pcVar14;
        if (cVar6 == ']') {
          iVar10 = iVar10 + 1;
          *local_50 = ']';
          cVar6 = param_1[iVar11];
          iVar11 = iVar11 + 1;
          local_50 = pcVar8 + iVar10;
        }
        if (cVar6 == '\0') {
          local_48 = local_50;
          goto LAB_0008e5bc;
        }
        do {
          local_48 = pcVar8 + iVar10;
          pcVar14 = param_1 + iVar11;
          if (cVar6 == '\x01') {
            if (*pcVar14 == '\0') goto LAB_0008e5bc;
            *local_48 = *pcVar14;
            cVar6 = param_1[iVar11 + 1];
            iVar10 = iVar10 + 1;
            iVar11 = iVar11 + 2;
          }
          else {
            iVar12 = iVar10 + 1;
            if (cVar6 == '[') {
              cVar2 = *pcVar14;
              if (cVar2 == ':') {
                pcVar1 = pcVar8 + iVar10;
                iVar10 = iVar10 + 2;
                bVar3 = true;
                *pcVar1 = '[';
                pcVar8[iVar12] = *pcVar14;
                cVar6 = param_1[iVar11 + 1];
                iVar11 = iVar11 + 2;
              }
              else if (cVar2 == '=') {
                pcVar8[iVar10] = '[';
                pcVar8[iVar10 + 1] = *pcVar14;
                cVar6 = param_1[iVar11 + 1];
                if (cVar6 == ']') {
                  pcVar8[iVar10 + 2] = ']';
                  iVar10 = iVar10 + 3;
                  cVar6 = param_1[iVar11 + 2];
                  iVar11 = iVar11 + 3;
                  bVar4 = true;
                }
                else {
                  iVar11 = iVar11 + 2;
                  bVar4 = true;
                  iVar10 = iVar10 + 2;
                }
              }
              else {
                if (cVar2 != '.') goto LAB_0008e724;
                pcVar8[iVar10] = '[';
                pcVar8[iVar10 + 1] = *pcVar14;
                cVar6 = param_1[iVar11 + 1];
                if (cVar6 == ']') {
                  pcVar8[iVar10 + 2] = ']';
                  cVar6 = param_1[iVar11 + 2];
                  iVar11 = iVar11 + 3;
                  bVar5 = true;
                  iVar10 = iVar10 + 3;
                }
                else {
                  iVar11 = iVar11 + 2;
                  bVar5 = true;
                  iVar10 = iVar10 + 2;
                }
              }
            }
            else if ((cVar6 == ':') && (bVar3)) {
              if (*pcVar14 != ']') goto LAB_0008e724;
              bVar3 = false;
              pcVar8[iVar10] = ':';
              pcVar8[iVar12] = *pcVar14;
              cVar6 = param_1[iVar11 + 1];
              iVar11 = iVar11 + 2;
              iVar10 = iVar10 + 2;
            }
            else if ((cVar6 == '=') && (bVar4)) {
              if (*pcVar14 == ']') {
                bVar4 = false;
                pcVar8[iVar10] = '=';
                pcVar8[iVar12] = *pcVar14;
                cVar6 = param_1[iVar11 + 1];
                iVar11 = iVar11 + 2;
                iVar10 = iVar10 + 2;
              }
              else {
LAB_0008e724:
                *local_48 = cVar6;
                cVar6 = *pcVar14;
                iVar10 = iVar12;
                iVar11 = iVar11 + 1;
              }
            }
            else {
              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;
              bVar5 = false;
              pcVar8[iVar10] = '.';
              pcVar8[iVar12] = *pcVar14;
              cVar6 = param_1[iVar11 + 1];
              iVar11 = iVar11 + 2;
              iVar10 = iVar10 + 2;
            }
          }
          if (cVar6 == ']') {
            pcVar8[iVar10] = ']';
            goto LAB_0008e64f;
          }
          local_50 = (char *)local_4c;
          local_48 = pcVar9;
        } while (cVar6 != '\0');
      }
LAB_0008e4e3:
      cVar6 = *local_58;
      iVar12 = iVar13;
      if (cVar6 == '\0') goto LAB_0008e5bc;
    }
    cVar6 = param_1[(int)local_50 + 1];
    if (cVar6 == '\0') {
      *local_48 = '\x01';
      local_48 = pcVar8 + iVar12 + 1;
      break;
    }
    pcVar9 = param_1 + (int)local_50 + 1;
    if ((param_2 & 0xc) == 0) {
      if ((param_2 & 2) == 0) {
LAB_0008e53b:
        if (cVar6 != '\x01') goto LAB_0008e53f;
        goto LAB_0008e560;
      }
LAB_0008e537:
      if (cVar6 != '/') goto LAB_0008e53b;
    }
    else {
      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {
        iVar11 = (int)local_50 + 2;
        *local_48 = *pcVar9;
        iVar10 = iVar12;
LAB_0008e64f:
        iVar13 = iVar10 + 1;
        local_58 = param_1 + iVar11;
        local_50 = (char *)iVar11;
        local_48 = pcVar8 + iVar13;
        goto LAB_0008e4e3;
      }
      if ((param_2 & 2) != 0) goto LAB_0008e537;
LAB_0008e53f:
      if ((param_2 & 4) == 0) {
LAB_0008e560:
        *local_48 = '\\';
        cVar6 = *pcVar9;
        local_48 = pcVar8 + iVar12 + 1;
        if (cVar6 != '\0') {
          local_4c = (int)local_50 + 2;
          iVar13 = iVar12 + 2;
          local_58 = param_1 + local_4c;
          pcVar14 = local_48;
          pcVar9 = pcVar8 + iVar13;
          goto LAB_0008e4d7;
        }
        break;
      }
      if ((byte)(cVar6 - 0x24U) < 0x59) {
                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)
                                   + unaff_EDI + 0xe3c09))();
        return pcVar8;
      }
    }
    cVar6 = *pcVar9;
    local_50 = (char *)((int)local_50 + 1);
  } while (cVar6 != '\0');
LAB_0008e5bc:
  *local_48 = '\0';
  return pcVar8;
}


PUSH EBP
PUSH EDI
CALL 0x00032201
ADD EDI,0xe3c09
PUSH ESI
PUSH EBX
SUB ESP,0x58
MOV ESI,dword ptr [ESP + 0x70]
MOV dword ptr [ESP + 0x44],EDI
MOV EBX,EDI
PUSH dword ptr [ESP + 0x6c]
CALL 0x0002e760
LEA EAX,[EAX + EAX*0x1 + 0x1]
MOV dword ptr [ESP],EAX
CALL 0x000ad700
ADD ESP,0x10
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x60]
MOVZX EAX,byte ptr [EAX]
TEST ESI,0x1
JZ 0x0008e43d
CMP AL,0x7f
JZ 0x0008e94f
TEST AL,AL
JZ 0x0008e9e5
MOV ECX,ESI
MOV dword ptr [ESP + 0x2c],0x0
XOR EBP,EBP
XOR EBX,EBX
AND ECX,0x4
MOV dword ptr [ESP + 0x30],0x0
MOV dword ptr [ESP + 0x18],ECX
MOV ECX,ESI
AND ECX,0x2
MOV dword ptr [ESP + 0x28],0x0
MOV dword ptr [ESP + 0x24],ECX
MOV ECX,ESI
SHR ESI,0x3
AND ECX,0xc
MOV EDX,ESI
MOV dword ptr [ESP + 0x8],EDI
MOV dword ptr [ESP + 0x20],ECX
AND EDX,0x1
XOR ECX,ECX
MOV byte ptr [ESP + 0x37],DL
MOV dword ptr [ESP + 0xc],ECX
JMP 0x0008e4f2
LEA EDX,[EBX + 0x1]
MOV dword ptr [ESP + 0x10],EDX
ADD EDX,dword ptr [ESP + 0x60]
MOV dword ptr [ESP + 0x4],EDX
LEA EDX,[EBP + 0x1]
CMP dword ptr [ESP + 0x18],0x0
LEA ECX,[EDI + EDX*0x1]
MOV dword ptr [ESP + 0x14],ECX
JZ 0x0008e5d0
TEST EBX,EBX
JZ 0x0008e4cf
MOV ECX,dword ptr [ESP + 0x60]
MOV EDI,dword ptr [ESP + 0xc]
CMP byte ptr [ECX + EDI*0x1 + -0x1],0x1
JZ 0x0008e4d7
CMP AL,0x5b
JZ 0x0008e670
MOV EBX,dword ptr [ESP + 0x10]
MOV byte ptr [ESI],AL
MOV EBP,EDX
MOV dword ptr [ESP + 0xc],EBX
MOV EAX,dword ptr [ESP + 0x4]
MOVZX EAX,byte ptr [EAX]
TEST AL,AL
JZ 0x0008e5b8
MOV EDI,dword ptr [ESP + 0x8]
LEA ESI,[EDI + EBP*0x1]
CMP AL,0x1
JNZ 0x0008e498
MOV EAX,dword ptr [ESP + 0x60]
MOV EDX,dword ptr [ESP + 0xc]
MOVZX EAX,byte ptr [EAX + EDX*0x1 + 0x1]
TEST AL,AL
JZ 0x0008e993
LEA ECX,[EBX + 0x1]
MOV EDI,ECX
MOV dword ptr [ESP + 0xc],ECX
ADD ECX,dword ptr [ESP + 0x60]
MOV dword ptr [ESP + 0x4],ECX
MOV ECX,dword ptr [ESP + 0x20]
TEST ECX,ECX
JNZ 0x0008e620
MOV ECX,dword ptr [ESP + 0x24]
TEST ECX,ECX
JZ 0x0008e53b
CMP AL,0x2f
JZ 0x0008e5a0
CMP AL,0x1
JZ 0x0008e560
MOV EDX,dword ptr [ESP + 0x18]
TEST EDX,EDX
JZ 0x0008e560
SUB EAX,0x24
CMP AL,0x58
JA 0x0008e5a0
MOV ECX,dword ptr [ESP + 0x38]
MOVZX EAX,AL
MOV EDX,dword ptr [ECX + EAX*0x4 + 0xfffa2480]
ADD EDX,ECX
JMP EDX
MOV EAX,dword ptr [ESP + 0x4]
MOV EDI,dword ptr [ESP + 0x8]
MOV byte ptr [ESI],0x5c
MOVZX EAX,byte ptr [EAX]
LEA ESI,[EDI + EBP*0x1 + 0x1]
TEST AL,AL
JZ 0x0008e9c0
ADD EBX,0x2
LEA EDX,[EBP + 0x2]
MOV dword ptr [ESP + 0x10],EBX
LEA ECX,[EDI + EDX*0x1]
ADD EBX,dword ptr [ESP + 0x60]
MOV dword ptr [ESP + 0x4],EBX
MOV dword ptr [ESP + 0x14],ECX
JMP 0x0008e4d7
MOV EAX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x14],ESI
MOV EBX,EDI
MOVZX EAX,byte ptr [EAX]
TEST AL,AL
JNZ 0x0008e4f2
LEA ESI,[ESI]
MOV EDI,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0x14]
MOV byte ptr [EAX],0x0
ADD ESP,0x4c
MOV EAX,EDI
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP AL,0x5c
JNZ 0x0008e4d7
MOV EAX,dword ptr [ESP + 0x4]
MOV byte ptr [ESI],0x5c
MOVZX EAX,byte ptr [EAX]
TEST AL,AL
JZ 0x0008e5bc
LEA EDX,[EBP + 0x2]
CMP byte ptr [ESP + 0x37],0x0
LEA EBP,[EDI + EDX*0x1]
JZ 0x0008e5fb
CMP AL,0x1
JZ 0x0008e900
LEA ESI,[EBX + 0x2]
MOV dword ptr [ESP + 0x10],ESI
ADD ESI,dword ptr [ESP + 0x60]
MOV dword ptr [ESP + 0x4],ESI
MOV ESI,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x14],EBP
JMP 0x0008e4d7
CMP AL,0x1
JZ 0x0008e640
CMP AL,0x7f
JZ 0x0008e640
MOV EDX,dword ptr [ESP + 0x24]
TEST EDX,EDX
JNZ 0x0008e537
JMP 0x0008e53f
MOV EAX,dword ptr [ESP + 0x4]
ADD EBP,0x1
ADD EBX,0x2
MOVZX EAX,byte ptr [EAX]
MOV byte ptr [ESI],AL
MOV EAX,dword ptr [ESP + 0x60]
MOV dword ptr [ESP + 0xc],EBX
ADD EAX,EBX
MOV dword ptr [ESP + 0x4],EAX
MOV EAX,dword ptr [ESP + 0x8]
ADD EAX,EBP
MOV dword ptr [ESP + 0x14],EAX
JMP 0x0008e4e3
MOV EAX,dword ptr [ESP + 0x4]
MOV ECX,dword ptr [ESP + 0x14]
MOV byte ptr [ESI],0x5b
LEA ESI,[EBX + 0x2]
MOVSX EAX,byte ptr [EAX]
MOV dword ptr [ESP + 0xc],ECX
MOV ECX,EDX
CMP EAX,0x5e
JNZ 0x0008e6ac
MOV EAX,dword ptr [ESP + 0x14]
MOV ESI,dword ptr [ESP + 0x8]
LEA ECX,[EBP + 0x2]
MOV byte ptr [EAX],0x5e
MOV EAX,dword ptr [ESP + 0x60]
ADD ESI,ECX
MOV dword ptr [ESP + 0xc],ESI
LEA ESI,[EBX + 0x3]
MOVSX EAX,byte ptr [EAX + EBX*0x1 + 0x2]
CMP EAX,0x5d
JNZ 0x0008e6d1
MOV EDI,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0xc]
ADD ECX,0x1
LEA EBX,[EDI + ECX*0x1]
MOV byte ptr [EAX],0x5d
MOV EAX,dword ptr [ESP + 0x60]
MOV dword ptr [ESP + 0xc],EBX
MOVSX EAX,byte ptr [EAX + ESI*0x1]
ADD ESI,0x1
TEST EAX,EAX
JZ 0x0008e9d4
MOV EBP,dword ptr [ESP + 0x8]
MOV EDI,dword ptr [ESP + 0x60]
MOV dword ptr [ESP + 0x3c],EDX
JMP 0x0008e742
LEA EBX,[ESI + 0x1]
MOV dword ptr [ESP + 0x1c],EBX
LEA EBX,[ECX + 0x1]
MOV dword ptr [ESP + 0xc],EBX
CMP EAX,0x5b
JZ 0x0008e788
CMP EAX,0x3a
JNZ 0x0008e7e0
CMP dword ptr [ESP + 0x28],0x0
JZ 0x0008e7e0
CMP byte ptr [EDX],0x5d
JZ 0x0008e870
MOV ESI,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [ESP + 0xc]
MOV byte ptr [ESI],AL
MOV ESI,dword ptr [ESP + 0x1c]
MOVSX EAX,byte ptr [EDX]
CMP EAX,0x5d
JZ 0x0008e76f
TEST EAX,EAX
JZ 0x0008e938
LEA EBX,[EBP + ECX*0x1]
LEA EDX,[EDI + ESI*0x1]
MOV dword ptr [ESP + 0x8],EBX
CMP EAX,0x1
JNZ 0x0008e6f0
MOVZX EAX,byte ptr [EDX]
TEST AL,AL
JZ 0x0008e9c9
MOV byte ptr [EBX],AL
MOVSX EAX,byte ptr [EDI + ESI*0x1 + 0x1]
ADD ECX,0x1
ADD ESI,0x2
CMP EAX,0x5d
JNZ 0x0008e73a
MOV dword ptr [ESP + 0x8],EBP
MOV EAX,dword ptr [ESP + 0x8]
LEA EBP,[ECX + 0x1]
MOV EBX,ESI
MOV byte ptr [EAX + ECX*0x1],0x5d
JMP 0x0008e64f
MOVZX EBX,byte ptr [EDX]
CMP BL,0x3a
JZ 0x0008e8a0
CMP BL,0x3d
JZ 0x0008e8d0
CMP BL,0x2e
JNZ 0x0008e724
LEA EAX,[EBP + ECX*0x1]
LEA EBX,[ECX + 0x2]
MOV byte ptr [EAX],0x5b
MOVZX EAX,byte ptr [EDX]
MOV byte ptr [EBP + ECX*0x1 + 0x1],AL
MOVSX EAX,byte ptr [EDI + ESI*0x1 + 0x1]
CMP AL,0x5d
JZ 0x0008e9a3
ADD ESI,0x2
MOV ECX,EBX
MOV dword ptr [ESP + 0x30],0x1
JMP 0x0008e735
CMP EAX,0x3d
JNZ 0x0008e820
MOV EBX,dword ptr [ESP + 0x2c]
TEST EBX,EBX
JZ 0x0008e820
CMP byte ptr [EDX],0x5d
JNZ 0x0008e724
LEA EAX,[EBP + ECX*0x1]
MOV EBX,dword ptr [ESP + 0xc]
ADD ECX,0x2
MOV dword ptr [ESP + 0x2c],0x0
MOV byte ptr [EAX],0x3d
MOVZX EAX,byte ptr [EDX]
MOV byte ptr [EBP + EBX*0x1],AL
MOVSX EAX,byte ptr [EDI + ESI*0x1 + 0x1]
ADD ESI,0x2
JMP 0x0008e735
CMP EAX,0x2e
JNZ 0x0008e724
MOV EBX,dword ptr [ESP + 0x30]
TEST EBX,EBX
JZ 0x0008e724
CMP byte ptr [EDX],0x5d
JNZ 0x0008e724
LEA EAX,[EBP + ECX*0x1]
MOV EBX,dword ptr [ESP + 0xc]
ADD ECX,0x2
MOV dword ptr [ESP + 0x30],0x0
MOV byte ptr [EAX],0x2e
MOVZX EAX,byte ptr [EDX]
MOV byte ptr [EBP + EBX*0x1],AL
MOVSX EAX,byte ptr [EDI + ESI*0x1 + 0x1]
ADD ESI,0x2
JMP 0x0008e735
LEA EAX,[EBP + ECX*0x1]
MOV dword ptr [ESP + 0x28],0x0
ADD ECX,0x2
MOV byte ptr [EAX],0x3a
MOVZX EAX,byte ptr [EDX]
MOV byte ptr [EBP + EBX*0x1],AL
MOVSX EAX,byte ptr [EDI + ESI*0x1 + 0x1]
ADD ESI,0x2
JMP 0x0008e735
LEA EAX,[EBP + ECX*0x1]
MOV EBX,dword ptr [ESP + 0xc]
ADD ECX,0x2
MOV dword ptr [ESP + 0x28],0x1
MOV byte ptr [EAX],0x5b
MOVZX EAX,byte ptr [EDX]
MOV byte ptr [EBP + EBX*0x1],AL
MOVSX EAX,byte ptr [EDI + ESI*0x1 + 0x1]
ADD ESI,0x2
JMP 0x0008e735
LEA EAX,[EBP + ECX*0x1]
LEA EBX,[ECX + 0x2]
MOV byte ptr [EAX],0x5b
MOVZX EAX,byte ptr [EDX]
MOV byte ptr [EBP + ECX*0x1 + 0x1],AL
MOVSX EAX,byte ptr [EDI + ESI*0x1 + 0x1]
CMP AL,0x5d
JZ 0x0008e976
ADD ESI,0x2
MOV ECX,EBX
MOV dword ptr [ESP + 0x2c],0x1
JMP 0x0008e735
MOV EAX,dword ptr [ESP + 0x60]
MOV EDI,dword ptr [ESP + 0xc]
MOVZX EAX,byte ptr [EAX + EDI*0x1 + 0x2]
CMP AL,0x1
JZ 0x0008e965
CMP AL,0x7f
JZ 0x0008e965
LEA EAX,[EBX + 0x2]
MOV ESI,ECX
MOV dword ptr [ESP + 0x14],EBP
MOV dword ptr [ESP + 0x10],EAX
ADD EAX,dword ptr [ESP + 0x60]
MOV dword ptr [ESP + 0x4],EAX
MOV EAX,0x1
JMP 0x0008e4d7
MOV EDX,dword ptr [ESP + 0x3c]
MOV EBX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x8],EBP
MOV dword ptr [ESP + 0xc],EBX
MOV EBP,EDX
JMP 0x0008e4e3
MOV ECX,dword ptr [ESP + 0x60]
CMP byte ptr [ECX + 0x1],0x0
JNZ 0x0008e445
MOV byte ptr [EDI],0x0
JMP 0x0008e5c3
MOV EAX,dword ptr [ESP + 0x60]
LEA ESI,[EBX + 0x3]
MOVZX EAX,byte ptr [EAX + EBX*0x1 + 0x2]
JMP 0x0008e5fe
MOV byte ptr [EBP + EBX*0x1],0x5d
ADD ECX,0x3
MOVSX EAX,byte ptr [EDI + ESI*0x1 + 0x2]
ADD ESI,0x3
MOV dword ptr [ESP + 0x2c],0x1
JMP 0x0008e735
LEA EAX,[EDI + EBP*0x1 + 0x1]
MOV byte ptr [ESI],0x1
MOV dword ptr [ESP + 0x14],EAX
JMP 0x0008e5bc
MOV byte ptr [EBP + EBX*0x1],0x5d
ADD ECX,0x3
MOVSX EAX,byte ptr [EDI + ESI*0x1 + 0x2]
ADD ESI,0x3
MOV dword ptr [ESP + 0x30],0x1
JMP 0x0008e735
MOV dword ptr [ESP + 0x14],ESI
JMP 0x0008e5bc
MOV EDI,EBP
MOV dword ptr [ESP + 0x14],EBX
JMP 0x0008e5bc
MOV EAX,dword ptr [ESP + 0xc]
MOV EDI,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x14],EAX
JMP 0x0008e5bc
MOV dword ptr [ESP + 0x14],EDI
JMP 0x0008e5bc
(translation_unit "char * quote_string_for_globbing(char *param_1,uint param_2)\n\n{\n  char *pcVar1;\n  char cVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  char *pcVar14;\n  int unaff_EDI;\n  char *local_58;\n  char *local_50;\n  int local_4c;\n  char *local_48;\n  \n  FUN_00032201();\n  sVar7 = strlen(param_1);\n  pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);\n  cVar6 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }\n  bVar4 = false;\n  bVar5 = false;\n  bVar3 = false;\n  local_50 = (char *)0x0;\n  iVar12 = 0;\n  do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = param_1[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = param_1 + (int)local_50 + 1;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');\nLAB_0008e5bc:\n  *local_48 = '\0';\n  return pcVar8;\n}\n\n" (function_definition "char * quote_string_for_globbing(char *param_1,uint param_2)\n\n{\n  char *pcVar1;\n  char cVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  char *pcVar14;\n  int unaff_EDI;\n  char *local_58;\n  char *local_50;\n  int local_4c;\n  char *local_48;\n  \n  FUN_00032201();\n  sVar7 = strlen(param_1);\n  pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);\n  cVar6 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }\n  bVar4 = false;\n  bVar5 = false;\n  bVar3 = false;\n  local_50 = (char *)0x0;\n  iVar12 = 0;\n  do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = param_1[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = param_1 + (int)local_50 + 1;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');\nLAB_0008e5bc:\n  *local_48 = '\0';\n  return pcVar8;\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 cVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  char *pcVar14;\n  int unaff_EDI;\n  char *local_58;\n  char *local_50;\n  int local_4c;\n  char *local_48;\n  \n  FUN_00032201();\n  sVar7 = strlen(param_1);\n  pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);\n  cVar6 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }\n  bVar4 = false;\n  bVar5 = false;\n  bVar3 = false;\n  local_50 = (char *)0x0;\n  iVar12 = 0;\n  do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = param_1[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = param_1 + (int)local_50 + 1;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');\nLAB_0008e5bc:\n  *local_48 = '\0';\n  return pcVar8;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "char *local_58;" primitive_type (pointer_declarator "*local_58" * identifier) ;) (declaration "char *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "char *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (expression_statement "FUN_00032201();" (call_expression "FUN_00032201()" identifier (argument_list "()" ( ))) ;) (expression_statement "sVar7 = strlen(param_1);" (assignment_expression "sVar7 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);" (assignment_expression "pcVar8 = (char *)xmalloc(sVar7 * 2 + 1)" identifier = (cast_expression "(char *)xmalloc(sVar7 * 2 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar7 * 2 + 1)" identifier (argument_list "(sVar7 * 2 + 1)" ( (binary_expression "sVar7 * 2 + 1" (binary_expression "sVar7 * 2" identifier * number_literal) + number_literal) ))))) ;) (expression_statement "cVar6 = *param_1;" (assignment_expression "cVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (((param_2 & 1) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }" if (parenthesized_expression "(((param_2 & 1) == 0) || (cVar6 != '\x7f'))" ( (binary_expression "((param_2 & 1) == 0) || (cVar6 != '\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 "(cVar6 != '\x7f')" ( (binary_expression "cVar6 != '\x7f'" identifier != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }" { (expression_statement "local_48 = pcVar8;" (assignment_expression "local_48 = pcVar8" identifier = identifier) ;) (if_statement "if (cVar6 == '\0') goto LAB_0008e5bc;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;)) }) (else_clause "else if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }" else (if_statement "if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\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    *pcVar8 = '\0';\n    return pcVar8;\n  }" { (expression_statement "*pcVar8 = '\0';" (assignment_expression "*pcVar8 = '\0'" (pointer_expression "*pcVar8" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return pcVar8;" return identifier ;) })))) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "local_50 = (char *)0x0;" (assignment_expression "local_50 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = param_1[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = param_1 + (int)local_50 + 1;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');" do (compound_statement "{\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = param_1[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = param_1 + (int)local_50 + 1;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  }" { (while_statement "while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }" while (parenthesized_expression "(local_48 = pcVar8 + iVar12, cVar6 != '\x01')" ( (comma_expression "local_48 = pcVar8 + iVar12, cVar6 != '\x01'" (assignment_expression "local_48 = pcVar8 + iVar12" identifier = (binary_expression "pcVar8 + iVar12" identifier + identifier)) , (binary_expression "cVar6 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence '))) )) (compound_statement "{\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }" { (expression_statement "local_4c = (int)local_50 + 1;" (assignment_expression "local_4c = (int)local_50 + 1" identifier = (binary_expression "(int)local_50 + 1" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_58 = param_1 + local_4c;" (assignment_expression "local_58 = param_1 + local_4c" identifier = (binary_expression "param_1 + local_4c" identifier + identifier)) ;) (expression_statement "iVar13 = iVar12 + 1;" (assignment_expression "iVar13 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "pcVar9 = pcVar8 + iVar13;" (assignment_expression "pcVar9 = pcVar8 + iVar13" identifier = (binary_expression "pcVar8 + iVar13" identifier + identifier)) ;) (expression_statement "pcVar14 = local_48;" (assignment_expression "pcVar14 = local_48" identifier = identifier) ;) (if_statement "if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\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 (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }" { (if_statement "if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }" if (parenthesized_expression "(cVar6 == '\\')" ( (binary_expression "cVar6 == '\\'" identifier == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }" { (expression_statement "*local_48 = '\\';" (assignment_expression "*local_48 = '\\'" (pointer_expression "*local_48" * identifier) = (char_literal "'\\'" ' escape_sequence ')) ;) (expression_statement "cVar6 = *local_58;" (assignment_expression "cVar6 = *local_58" identifier = (pointer_expression "*local_58" * identifier)) ;) (expression_statement "local_48 = pcVar9;" (assignment_expression "local_48 = pcVar9" identifier = identifier) ;) (if_statement "if (cVar6 == '\0') goto LAB_0008e5bc;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;)) (expression_statement "iVar13 = iVar12 + 2;" (assignment_expression "iVar13 = iVar12 + 2" identifier = (binary_expression "iVar12 + 2" identifier + number_literal)) ;) (expression_statement "pcVar14 = pcVar9;" (assignment_expression "pcVar14 = pcVar9" identifier = identifier) ;) (expression_statement "pcVar9 = pcVar8 + iVar13;" (assignment_expression "pcVar9 = pcVar8 + iVar13" identifier = (binary_expression "pcVar8 + iVar13" identifier + identifier)) ;) (if_statement "if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }" if (parenthesized_expression "(((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01'))" ( (binary_expression "((param_2 >> 3 & 1) == 0) || (cVar6 != '\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 "(cVar6 != '\x01')" ( (binary_expression "cVar6 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) ))) )) (compound_statement "{\n            local_4c = (int)local_50 + 2;\n          }" { (expression_statement "local_4c = (int)local_50 + 2;" (assignment_expression "local_4c = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) }) (else_clause "else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }" else (compound_statement "{\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }" { (if_statement "if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }" if (parenthesized_expression "((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f'))" ( (binary_expression "(param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')" (parenthesized_expression "(param_1[(int)local_50 + 2] != '\x01')" ( (binary_expression "param_1[(int)local_50 + 2] != '\x01'" (subscript_expression "param_1[(int)local_50 + 2]" identifier [ (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) != (char_literal "'\x01'" ' escape_sequence ')) )) && (parenthesized_expression "(param_1[(int)local_50 + 2] != '\x7f')" ( (binary_expression "param_1[(int)local_50 + 2] != '\x7f'" (subscript_expression "param_1[(int)local_50 + 2]" identifier [ (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }" { (expression_statement "local_4c = (int)local_50 + 2;" (assignment_expression "local_4c = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_58 = param_1 + local_4c;" (assignment_expression "local_58 = param_1 + local_4c" identifier = (binary_expression "param_1 + local_4c" identifier + identifier)) ;) (expression_statement "cVar6 = '\x01';" (assignment_expression "cVar6 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0008e4d7;" goto statement_identifier ;) })) (expression_statement "local_4c = (int)local_50 + 3;" (assignment_expression "local_4c = (int)local_50 + 3" identifier = (binary_expression "(int)local_50 + 3" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "cVar6 = param_1[(int)local_50 + 2];" (assignment_expression "cVar6 = param_1[(int)local_50 + 2]" identifier = (subscript_expression "param_1[(int)local_50 + 2]" identifier [ (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) }))) (expression_statement "local_58 = param_1 + local_4c;" (assignment_expression "local_58 = param_1 + local_4c" identifier = (binary_expression "param_1 + local_4c" identifier + identifier)) ;) })) (labeled_statement "LAB_0008e4d7:\n        local_48 = pcVar9;" statement_identifier : (expression_statement "local_48 = pcVar9;" (assignment_expression "local_48 = pcVar9" identifier = identifier) ;)) (expression_statement "*pcVar14 = cVar6;" (assignment_expression "*pcVar14 = cVar6" (pointer_expression "*pcVar14" * identifier) = identifier) ;) (expression_statement "local_50 = (char *)local_4c;" (assignment_expression "local_50 = (char *)local_4c" identifier = (cast_expression "(char *)local_4c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }" else (compound_statement "{\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }" { (if_statement "if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;" if (parenthesized_expression "(((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           )" ( (binary_expression "((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')" (parenthesized_expression "((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01'))" ( (binary_expression "(local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')" (parenthesized_expression "(local_50 != (char *)0x0)" ( (binary_expression "local_50 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(param_1[(int)local_50 + -1] == '\x01')" ( (binary_expression "param_1[(int)local_50 + -1] == '\x01'" (subscript_expression "param_1[(int)local_50 + -1]" identifier [ (binary_expression "(int)local_50 + -1" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) == (char_literal "'\x01'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(cVar6 != '[')" ( (binary_expression "cVar6 != '['" identifier != (char_literal "'['" ' character ')) ))) )) (goto_statement "goto LAB_0008e4d7;" goto statement_identifier ;)) (expression_statement "*local_48 = '[';" (assignment_expression "*local_48 = '['" (pointer_expression "*local_48" * identifier) = (char_literal "'['" ' character ')) ;) (expression_statement "iVar11 = (int)local_50 + 2;" (assignment_expression "iVar11 = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "cVar6 = *local_58;" (assignment_expression "cVar6 = *local_58" identifier = (pointer_expression "*local_58" * identifier)) ;) (expression_statement "iVar10 = iVar13;" (assignment_expression "iVar10 = iVar13" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar9;" (assignment_expression "pcVar14 = pcVar9" identifier = identifier) ;) (if_statement "if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }" if (parenthesized_expression "(cVar6 == '^')" ( (binary_expression "cVar6 == '^'" identifier == (char_literal "'^'" ' character ')) )) (compound_statement "{\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }" { (expression_statement "iVar10 = iVar12 + 2;" (assignment_expression "iVar10 = iVar12 + 2" identifier = (binary_expression "iVar12 + 2" identifier + number_literal)) ;) (expression_statement "*pcVar9 = '^';" (assignment_expression "*pcVar9 = '^'" (pointer_expression "*pcVar9" * identifier) = (char_literal "'^'" ' character ')) ;) (expression_statement "iVar11 = (int)local_50 + 3;" (assignment_expression "iVar11 = (int)local_50 + 3" identifier = (binary_expression "(int)local_50 + 3" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "cVar6 = param_1[(int)local_50 + 2];" (assignment_expression "cVar6 = param_1[(int)local_50 + 2]" identifier = (subscript_expression "param_1[(int)local_50 + 2]" identifier [ (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (expression_statement "pcVar14 = pcVar8 + iVar10;" (assignment_expression "pcVar14 = pcVar8 + iVar10" identifier = (binary_expression "pcVar8 + iVar10" identifier + identifier)) ;) })) (expression_statement "local_50 = pcVar14;" (assignment_expression "local_50 = pcVar14" identifier = identifier) ;) (if_statement "if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }" if (parenthesized_expression "(cVar6 == ']')" ( (binary_expression "cVar6 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }" { (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "*local_50 = ']';" (assignment_expression "*local_50 = ']'" (pointer_expression "*local_50" * identifier) = (char_literal "']'" ' character ')) ;) (expression_statement "cVar6 = param_1[iVar11];" (assignment_expression "cVar6 = 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_50 = pcVar8 + iVar10;" (assignment_expression "local_50 = pcVar8 + iVar10" identifier = (binary_expression "pcVar8 + iVar10" identifier + identifier)) ;) })) (if_statement "if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }" { (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;) })) (do_statement "do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');" do (compound_statement "{\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        }" { (expression_statement "local_48 = pcVar8 + iVar10;" (assignment_expression "local_48 = pcVar8 + iVar10" identifier = (binary_expression "pcVar8 + iVar10" identifier + identifier)) ;) (expression_statement "pcVar14 = param_1 + iVar11;" (assignment_expression "pcVar14 = param_1 + iVar11" identifier = (binary_expression "param_1 + iVar11" identifier + identifier)) ;) (if_statement "if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }" if (parenthesized_expression "(cVar6 == '\x01')" ( (binary_expression "cVar6 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }" { (if_statement "if (*pcVar14 == '\0') goto LAB_0008e5bc;" if (parenthesized_expression "(*pcVar14 == '\0')" ( (binary_expression "*pcVar14 == '\0'" (pointer_expression "*pcVar14" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;)) (expression_statement "*local_48 = *pcVar14;" (assignment_expression "*local_48 = *pcVar14" (pointer_expression "*local_48" * identifier) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 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            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }" else (compound_statement "{\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }" { (expression_statement "iVar12 = iVar10 + 1;" (assignment_expression "iVar12 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (if_statement "if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" if (parenthesized_expression "(cVar6 == '[')" ( (binary_expression "cVar6 == '['" identifier == (char_literal "'['" ' character ')) )) (compound_statement "{\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }" { (expression_statement "cVar2 = *pcVar14;" (assignment_expression "cVar2 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) (if_statement "if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" if (parenthesized_expression "(cVar2 == ':')" ( (binary_expression "cVar2 == ':'" identifier == (char_literal "':'" ' character ')) )) (compound_statement "{\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }" { (expression_statement "pcVar1 = pcVar8 + iVar10;" (assignment_expression "pcVar1 = pcVar8 + iVar10" identifier = (binary_expression "pcVar8 + iVar10" identifier + identifier)) ;) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "*pcVar1 = '[';" (assignment_expression "*pcVar1 = '['" (pointer_expression "*pcVar1" * identifier) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" identifier [ identifier ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = 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 (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" else (if_statement "if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" if (parenthesized_expression "(cVar2 == '=')" ( (binary_expression "cVar2 == '='" identifier == (char_literal "'='" ' character ')) )) (compound_statement "{\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" { (expression_statement "pcVar8[iVar10] = '[';" (assignment_expression "pcVar8[iVar10] = '['" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar8[iVar10 + 1] = *pcVar14;" (assignment_expression "pcVar8[iVar10 + 1] = *pcVar14" (subscript_expression "pcVar8[iVar10 + 1]" identifier [ (binary_expression "iVar10 + 1" identifier + number_literal) ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }" if (parenthesized_expression "(cVar6 == ']')" ( (binary_expression "cVar6 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }" { (expression_statement "pcVar8[iVar10 + 2] = ']';" (assignment_expression "pcVar8[iVar10 + 2] = ']'" (subscript_expression "pcVar8[iVar10 + 2]" identifier [ (binary_expression "iVar10 + 2" identifier + number_literal) ]) = (char_literal "']'" ' character ')) ;) (expression_statement "iVar10 = iVar10 + 3;" (assignment_expression "iVar10 = iVar10 + 3" identifier = (binary_expression "iVar10 + 3" identifier + number_literal)) ;) (expression_statement "cVar6 = param_1[iVar11 + 2];" (assignment_expression "cVar6 = 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 "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) }) (else_clause "else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }" else (compound_statement "{\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }" { (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }))) }) (else_clause "else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" else (compound_statement "{\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" { (if_statement "if (cVar2 != '.') goto LAB_0008e724;" if (parenthesized_expression "(cVar2 != '.')" ( (binary_expression "cVar2 != '.'" identifier != (char_literal "'.'" ' character ')) )) (goto_statement "goto LAB_0008e724;" goto statement_identifier ;)) (expression_statement "pcVar8[iVar10] = '[';" (assignment_expression "pcVar8[iVar10] = '['" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar8[iVar10 + 1] = *pcVar14;" (assignment_expression "pcVar8[iVar10 + 1] = *pcVar14" (subscript_expression "pcVar8[iVar10 + 1]" identifier [ (binary_expression "iVar10 + 1" identifier + number_literal) ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }" if (parenthesized_expression "(cVar6 == ']')" ( (binary_expression "cVar6 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }" { (expression_statement "pcVar8[iVar10 + 2] = ']';" (assignment_expression "pcVar8[iVar10 + 2] = ']'" (subscript_expression "pcVar8[iVar10 + 2]" identifier [ (binary_expression "iVar10 + 2" identifier + number_literal) ]) = (char_literal "']'" ' character ')) ;) (expression_statement "cVar6 = param_1[iVar11 + 2];" (assignment_expression "cVar6 = 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) ;) (expression_statement "iVar10 = iVar10 + 3;" (assignment_expression "iVar10 = iVar10 + 3" identifier = (binary_expression "iVar10 + 3" identifier + number_literal)) ;) }) (else_clause "else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }" else (compound_statement "{\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }))) }))))) }) (else_clause "else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" else (if_statement "if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" if (parenthesized_expression "((cVar6 == ':') && (bVar3))" ( (binary_expression "(cVar6 == ':') && (bVar3)" (parenthesized_expression "(cVar6 == ':')" ( (binary_expression "cVar6 == ':'" identifier == (char_literal "':'" ' character ')) )) && (parenthesized_expression "(bVar3)" ( identifier ))) )) (compound_statement "{\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" { (if_statement "if (*pcVar14 != ']') goto LAB_0008e724;" if (parenthesized_expression "(*pcVar14 != ']')" ( (binary_expression "*pcVar14 != ']'" (pointer_expression "*pcVar14" * identifier) != (char_literal "']'" ' character ')) )) (goto_statement "goto LAB_0008e724;" goto statement_identifier ;)) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "pcVar8[iVar10] = ':';" (assignment_expression "pcVar8[iVar10] = ':'" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "':'" ' character ')) ;) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" identifier [ identifier ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = 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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }) (else_clause "else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" else (if_statement "if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" if (parenthesized_expression "((cVar6 == '=') && (bVar4))" ( (binary_expression "(cVar6 == '=') && (bVar4)" (parenthesized_expression "(cVar6 == '=')" ( (binary_expression "cVar6 == '='" identifier == (char_literal "'='" ' character ')) )) && (parenthesized_expression "(bVar4)" ( identifier ))) )) (compound_statement "{\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }" { (if_statement "if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }" if (parenthesized_expression "(*pcVar14 == ']')" ( (binary_expression "*pcVar14 == ']'" (pointer_expression "*pcVar14" * identifier) == (char_literal "']'" ' character ')) )) (compound_statement "{\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }" { (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "pcVar8[iVar10] = '=';" (assignment_expression "pcVar8[iVar10] = '='" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "'='" ' character ')) ;) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" identifier [ identifier ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = 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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }) (else_clause "else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }" else (compound_statement "{\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }" { (labeled_statement "LAB_0008e724:\n                *local_48 = cVar6;" statement_identifier : (expression_statement "*local_48 = cVar6;" (assignment_expression "*local_48 = cVar6" (pointer_expression "*local_48" * identifier) = identifier) ;)) (expression_statement "cVar6 = *pcVar14;" (assignment_expression "cVar6 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "iVar10 = iVar12;" (assignment_expression "iVar10 = iVar12" 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 (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" else (compound_statement "{\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" { (if_statement "if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;" if (parenthesized_expression "(((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']'))" ( (binary_expression "((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')" (parenthesized_expression "((cVar6 != '.') || (!bVar5))" ( (binary_expression "(cVar6 != '.') || (!bVar5)" (parenthesized_expression "(cVar6 != '.')" ( (binary_expression "cVar6 != '.'" identifier != (char_literal "'.'" ' character ')) )) || (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) ))) )) || (parenthesized_expression "(*pcVar14 != ']')" ( (binary_expression "*pcVar14 != ']'" (pointer_expression "*pcVar14" * identifier) != (char_literal "']'" ' character ')) ))) )) (goto_statement "goto LAB_0008e724;" goto statement_identifier ;)) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "pcVar8[iVar10] = '.';" (assignment_expression "pcVar8[iVar10] = '.'" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "'.'" ' character ')) ;) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" identifier [ identifier ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = 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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }))))))) }))) (if_statement "if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }" if (parenthesized_expression "(cVar6 == ']')" ( (binary_expression "cVar6 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }" { (expression_statement "pcVar8[iVar10] = ']';" (assignment_expression "pcVar8[iVar10] = ']'" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "']'" ' character ')) ;) (goto_statement "goto LAB_0008e64f;" goto statement_identifier ;) })) (expression_statement "local_50 = (char *)local_4c;" (assignment_expression "local_50 = (char *)local_4c" identifier = (cast_expression "(char *)local_4c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_48 = pcVar9;" (assignment_expression "local_48 = pcVar9" identifier = identifier) ;) }) while (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) }))) (labeled_statement "LAB_0008e4e3:\n      cVar6 = *local_58;" statement_identifier : (expression_statement "cVar6 = *local_58;" (assignment_expression "cVar6 = *local_58" identifier = (pointer_expression "*local_58" * identifier)) ;)) (expression_statement "iVar12 = iVar13;" (assignment_expression "iVar12 = iVar13" identifier = identifier) ;) (if_statement "if (cVar6 == '\0') goto LAB_0008e5bc;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;)) })) (expression_statement "cVar6 = param_1[(int)local_50 + 1];" (assignment_expression "cVar6 = param_1[(int)local_50 + 1]" identifier = (subscript_expression "param_1[(int)local_50 + 1]" identifier [ (binary_expression "(int)local_50 + 1" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (if_statement "if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }" { (expression_statement "*local_48 = '\x01';" (assignment_expression "*local_48 = '\x01'" (pointer_expression "*local_48" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_48 = pcVar8 + iVar12 + 1;" (assignment_expression "local_48 = pcVar8 + iVar12 + 1" identifier = (binary_expression "pcVar8 + iVar12 + 1" (binary_expression "pcVar8 + iVar12" identifier + identifier) + number_literal)) ;) (break_statement "break;" break ;) })) (expression_statement "pcVar9 = param_1 + (int)local_50 + 1;" (assignment_expression "pcVar9 = param_1 + (int)local_50 + 1" identifier = (binary_expression "param_1 + (int)local_50 + 1" (binary_expression "param_1 + (int)local_50" identifier + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (if_statement "if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\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_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }" { (if_statement "if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\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_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }" { (labeled_statement "LAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;" statement_identifier : (if_statement "if (cVar6 != '\x01') goto LAB_0008e53f;" if (parenthesized_expression "(cVar6 != '\x01')" ( (binary_expression "cVar6 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e53f;" goto statement_identifier ;))) (goto_statement "goto LAB_0008e560;" goto statement_identifier ;) })) (labeled_statement "LAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;" statement_identifier : (if_statement "if (cVar6 != '/') goto LAB_0008e53b;" if (parenthesized_expression "(cVar6 != '/')" ( (binary_expression "cVar6 != '/'" identifier != (char_literal "'/'" ' character ')) )) (goto_statement "goto LAB_0008e53b;" goto statement_identifier ;))) }) (else_clause "else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }" else (compound_statement "{\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }" { (if_statement "if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }" if (parenthesized_expression "((cVar6 == '\x01') || (cVar6 == '\x7f'))" ( (binary_expression "(cVar6 == '\x01') || (cVar6 == '\x7f')" (parenthesized_expression "(cVar6 == '\x01')" ( (binary_expression "cVar6 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "(cVar6 == '\x7f')" ( (binary_expression "cVar6 == '\x7f'" identifier == (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }" { (expression_statement "iVar11 = (int)local_50 + 2;" (assignment_expression "iVar11 = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*local_48 = *pcVar9;" (assignment_expression "*local_48 = *pcVar9" (pointer_expression "*local_48" * identifier) = (pointer_expression "*pcVar9" * identifier)) ;) (expression_statement "iVar10 = iVar12;" (assignment_expression "iVar10 = iVar12" identifier = identifier) ;) (labeled_statement "LAB_0008e64f:\n        iVar13 = iVar10 + 1;" statement_identifier : (expression_statement "iVar13 = iVar10 + 1;" (assignment_expression "iVar13 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;)) (expression_statement "local_58 = param_1 + iVar11;" (assignment_expression "local_58 = param_1 + iVar11" identifier = (binary_expression "param_1 + iVar11" identifier + identifier)) ;) (expression_statement "local_50 = (char *)iVar11;" (assignment_expression "local_50 = (char *)iVar11" identifier = (cast_expression "(char *)iVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_48 = pcVar8 + iVar13;" (assignment_expression "local_48 = pcVar8 + iVar13" identifier = (binary_expression "pcVar8 + iVar13" identifier + identifier)) ;) (goto_statement "goto LAB_0008e4e3;" goto statement_identifier ;) })) (if_statement "if ((param_2 & 2) != 0) goto LAB_0008e537;" 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_0008e537;" goto statement_identifier ;)) (labeled_statement "LAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }" statement_identifier : (if_statement "if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\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 "{\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }" { (labeled_statement "LAB_0008e560:\n        *local_48 = '\\';" statement_identifier : (expression_statement "*local_48 = '\\';" (assignment_expression "*local_48 = '\\'" (pointer_expression "*local_48" * identifier) = (char_literal "'\\'" ' escape_sequence ')) ;)) (expression_statement "cVar6 = *pcVar9;" (assignment_expression "cVar6 = *pcVar9" identifier = (pointer_expression "*pcVar9" * identifier)) ;) (expression_statement "local_48 = pcVar8 + iVar12 + 1;" (assignment_expression "local_48 = pcVar8 + iVar12 + 1" identifier = (binary_expression "pcVar8 + iVar12 + 1" (binary_expression "pcVar8 + iVar12" identifier + identifier) + number_literal)) ;) (if_statement "if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }" { (expression_statement "local_4c = (int)local_50 + 2;" (assignment_expression "local_4c = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "iVar13 = iVar12 + 2;" (assignment_expression "iVar13 = iVar12 + 2" identifier = (binary_expression "iVar12 + 2" identifier + number_literal)) ;) (expression_statement "local_58 = param_1 + local_4c;" (assignment_expression "local_58 = param_1 + local_4c" identifier = (binary_expression "param_1 + local_4c" identifier + identifier)) ;) (expression_statement "pcVar14 = local_48;" (assignment_expression "pcVar14 = local_48" identifier = identifier) ;) (expression_statement "pcVar9 = pcVar8 + iVar13;" (assignment_expression "pcVar9 = pcVar8 + iVar13" identifier = (binary_expression "pcVar8 + iVar13" identifier + identifier)) ;) (goto_statement "goto LAB_0008e4d7;" goto statement_identifier ;) })) (break_statement "break;" break ;) }))) (if_statement "if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }" if (parenthesized_expression "((byte)(cVar6 - 0x24U) < 0x59)" ( (binary_expression "(byte)(cVar6 - 0x24U) < 0x59" (call_expression "(byte)(cVar6 - 0x24U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar6 - 0x24U)" ( (binary_expression "cVar6 - 0x24U" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }" { comment comment (expression_statement "pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();" (assignment_expression "pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))()" identifier = (cast_expression "(char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))" ( (pointer_expression "*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09)" * (cast_expression "(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09)" ( (binary_expression "*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09" (binary_expression "*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI" (pointer_expression "*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)" * (cast_expression "(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)" ( (binary_expression "unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4" (binary_expression "unaff_EDI + 0x86089" identifier + number_literal) + (binary_expression "(uint)(byte)(cVar6 - 0x24U) * 4" (call_expression "(uint)(byte)(cVar6 - 0x24U)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(cVar6 - 0x24U)" ( (binary_expression "cVar6 - 0x24U" identifier - number_literal) ))) * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar8;" return identifier ;) })) }))) (expression_statement "cVar6 = *pcVar9;" (assignment_expression "cVar6 = *pcVar9" identifier = (pointer_expression "*pcVar9" * identifier)) ;) (expression_statement "local_50 = (char *)((int)local_50 + 1);" (assignment_expression "local_50 = (char *)((int)local_50 + 1)" identifier = (cast_expression "(char *)((int)local_50 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_50 + 1)" ( (binary_expression "(int)local_50 + 1" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (labeled_statement "LAB_0008e5bc:\n  *local_48 = '\0';" statement_identifier : (expression_statement "*local_48 = '\0';" (assignment_expression "*local_48 = '\0'" (pointer_expression "*local_48" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (return_statement "return pcVar8;" return identifier ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nchar * quote_string_for_globbing(char *pathname,int qflags)\n\n{\n  char *pcVar1;\n  char cVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  char *pcVar14;\n  int unaff_EDI;\n  char *local_58;\n  char *local_50;\n  int local_4c;\n  char *local_48;\n  \n  __x86_get_pc_thunk_di();\n  sVar7 = strlen(pathname);\n  pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);\n  cVar6 = *pathname;\n  if (((qflags & 1U) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (pathname[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }\n  bVar4 = false;\n  bVar5 = false;\n  bVar3 = false;\n  local_50 = (char *)0x0;\n  iVar12 = 0;\n  do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = pathname + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((qflags & 4U) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if ((((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = pathname[(int)local_50 + 2];\n          }\n          local_58 = pathname + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')) ||\n           (cVar6 != '[')) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = pathname[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = pathname[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = pathname + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = pathname[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = pathname[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = pathname + (int)local_50 + 1;\n    if ((qflags & 0xcU) == 0) {\n      if ((qflags & 2U) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto _L138;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = pathname + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((qflags & 4U) == 0) {\n_L138:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = pathname + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');\nLAB_0008e5bc:\n  *local_48 = '\0';\n  return pcVar8;\n}\n\n" comment (function_definition "char * quote_string_for_globbing(char *pathname,int qflags)\n\n{\n  char *pcVar1;\n  char cVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  char *pcVar14;\n  int unaff_EDI;\n  char *local_58;\n  char *local_50;\n  int local_4c;\n  char *local_48;\n  \n  __x86_get_pc_thunk_di();\n  sVar7 = strlen(pathname);\n  pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);\n  cVar6 = *pathname;\n  if (((qflags & 1U) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (pathname[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }\n  bVar4 = false;\n  bVar5 = false;\n  bVar3 = false;\n  local_50 = (char *)0x0;\n  iVar12 = 0;\n  do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = pathname + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((qflags & 4U) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if ((((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = pathname[(int)local_50 + 2];\n          }\n          local_58 = pathname + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')) ||\n           (cVar6 != '[')) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = pathname[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = pathname[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = pathname + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = pathname[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = pathname[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = pathname + (int)local_50 + 1;\n    if ((qflags & 0xcU) == 0) {\n      if ((qflags & 2U) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto _L138;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = pathname + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((qflags & 4U) == 0) {\n_L138:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = pathname + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');\nLAB_0008e5bc:\n  *local_48 = '\0';\n  return pcVar8;\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 cVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  char *pcVar14;\n  int unaff_EDI;\n  char *local_58;\n  char *local_50;\n  int local_4c;\n  char *local_48;\n  \n  __x86_get_pc_thunk_di();\n  sVar7 = strlen(pathname);\n  pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);\n  cVar6 = *pathname;\n  if (((qflags & 1U) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (pathname[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }\n  bVar4 = false;\n  bVar5 = false;\n  bVar3 = false;\n  local_50 = (char *)0x0;\n  iVar12 = 0;\n  do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = pathname + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((qflags & 4U) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if ((((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = pathname[(int)local_50 + 2];\n          }\n          local_58 = pathname + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')) ||\n           (cVar6 != '[')) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = pathname[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = pathname[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = pathname + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = pathname[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = pathname[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = pathname + (int)local_50 + 1;\n    if ((qflags & 0xcU) == 0) {\n      if ((qflags & 2U) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto _L138;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = pathname + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((qflags & 4U) == 0) {\n_L138:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = pathname + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');\nLAB_0008e5bc:\n  *local_48 = '\0';\n  return pcVar8;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "char *local_58;" primitive_type (pointer_declarator "*local_58" * identifier) ;) (declaration "char *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "char *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (expression_statement "__x86_get_pc_thunk_di();" (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( ))) ;) (expression_statement "sVar7 = strlen(pathname);" (assignment_expression "sVar7 = strlen(pathname)" identifier = (call_expression "strlen(pathname)" identifier (argument_list "(pathname)" ( identifier )))) ;) (expression_statement "pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);" (assignment_expression "pcVar8 = (char *)xmalloc(sVar7 * 2 + 1)" identifier = (cast_expression "(char *)xmalloc(sVar7 * 2 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar7 * 2 + 1)" identifier (argument_list "(sVar7 * 2 + 1)" ( (binary_expression "sVar7 * 2 + 1" (binary_expression "sVar7 * 2" identifier * number_literal) + number_literal) ))))) ;) (expression_statement "cVar6 = *pathname;" (assignment_expression "cVar6 = *pathname" identifier = (pointer_expression "*pathname" * identifier)) ;) (if_statement "if (((qflags & 1U) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (pathname[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }" if (parenthesized_expression "(((qflags & 1U) == 0) || (cVar6 != '\x7f'))" ( (binary_expression "((qflags & 1U) == 0) || (cVar6 != '\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 "(cVar6 != '\x7f')" ( (binary_expression "cVar6 != '\x7f'" identifier != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }" { (expression_statement "local_48 = pcVar8;" (assignment_expression "local_48 = pcVar8" identifier = identifier) ;) (if_statement "if (cVar6 == '\0') goto LAB_0008e5bc;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;)) }) (else_clause "else if (pathname[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }" else (if_statement "if (pathname[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\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    *pcVar8 = '\0';\n    return pcVar8;\n  }" { (expression_statement "*pcVar8 = '\0';" (assignment_expression "*pcVar8 = '\0'" (pointer_expression "*pcVar8" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return pcVar8;" return identifier ;) })))) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "local_50 = (char *)0x0;" (assignment_expression "local_50 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = pathname + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((qflags & 4U) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if ((((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = pathname[(int)local_50 + 2];\n          }\n          local_58 = pathname + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')) ||\n           (cVar6 != '[')) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = pathname[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = pathname[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = pathname + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = pathname[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = pathname[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = pathname + (int)local_50 + 1;\n    if ((qflags & 0xcU) == 0) {\n      if ((qflags & 2U) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto _L138;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = pathname + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((qflags & 4U) == 0) {\n_L138:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = pathname + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');" do (compound_statement "{\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = pathname + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((qflags & 4U) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if ((((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = pathname[(int)local_50 + 2];\n          }\n          local_58 = pathname + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')) ||\n           (cVar6 != '[')) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = pathname[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = pathname[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = pathname + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = pathname[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = pathname[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = pathname + (int)local_50 + 1;\n    if ((qflags & 0xcU) == 0) {\n      if ((qflags & 2U) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto _L138;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = pathname + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((qflags & 4U) == 0) {\n_L138:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = pathname + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  }" { (while_statement "while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = pathname + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((qflags & 4U) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if ((((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = pathname[(int)local_50 + 2];\n          }\n          local_58 = pathname + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')) ||\n           (cVar6 != '[')) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = pathname[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = pathname[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = pathname + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = pathname[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }" while (parenthesized_expression "(local_48 = pcVar8 + iVar12, cVar6 != '\x01')" ( (comma_expression "local_48 = pcVar8 + iVar12, cVar6 != '\x01'" (assignment_expression "local_48 = pcVar8 + iVar12" identifier = (binary_expression "pcVar8 + iVar12" identifier + identifier)) , (binary_expression "cVar6 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence '))) )) (compound_statement "{\n      local_4c = (int)local_50 + 1;\n      local_58 = pathname + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((qflags & 4U) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if ((((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = pathname[(int)local_50 + 2];\n          }\n          local_58 = pathname + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')) ||\n           (cVar6 != '[')) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = pathname[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = pathname[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = pathname + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = pathname[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }" { (expression_statement "local_4c = (int)local_50 + 1;" (assignment_expression "local_4c = (int)local_50 + 1" identifier = (binary_expression "(int)local_50 + 1" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_58 = pathname + local_4c;" (assignment_expression "local_58 = pathname + local_4c" identifier = (binary_expression "pathname + local_4c" identifier + identifier)) ;) (expression_statement "iVar13 = iVar12 + 1;" (assignment_expression "iVar13 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "pcVar9 = pcVar8 + iVar13;" (assignment_expression "pcVar9 = pcVar8 + iVar13" identifier = (binary_expression "pcVar8 + iVar13" identifier + identifier)) ;) (expression_statement "pcVar14 = local_48;" (assignment_expression "pcVar14 = local_48" identifier = identifier) ;) (if_statement "if ((qflags & 4U) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if ((((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = pathname[(int)local_50 + 2];\n          }\n          local_58 = pathname + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')) ||\n           (cVar6 != '[')) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = pathname[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = pathname[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = pathname + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = pathname[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\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 (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if ((((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = pathname[(int)local_50 + 2];\n          }\n          local_58 = pathname + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }" { (if_statement "if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if ((((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = pathname[(int)local_50 + 2];\n          }\n          local_58 = pathname + local_4c;\n        }" if (parenthesized_expression "(cVar6 == '\\')" ( (binary_expression "cVar6 == '\\'" identifier == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if ((((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = pathname[(int)local_50 + 2];\n          }\n          local_58 = pathname + local_4c;\n        }" { (expression_statement "*local_48 = '\\';" (assignment_expression "*local_48 = '\\'" (pointer_expression "*local_48" * identifier) = (char_literal "'\\'" ' escape_sequence ')) ;) (expression_statement "cVar6 = *local_58;" (assignment_expression "cVar6 = *local_58" identifier = (pointer_expression "*local_58" * identifier)) ;) (expression_statement "local_48 = pcVar9;" (assignment_expression "local_48 = pcVar9" identifier = identifier) ;) (if_statement "if (cVar6 == '\0') goto LAB_0008e5bc;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;)) (expression_statement "iVar13 = iVar12 + 2;" (assignment_expression "iVar13 = iVar12 + 2" identifier = (binary_expression "iVar12 + 2" identifier + number_literal)) ;) (expression_statement "pcVar14 = pcVar9;" (assignment_expression "pcVar14 = pcVar9" identifier = identifier) ;) (expression_statement "pcVar9 = pcVar8 + iVar13;" (assignment_expression "pcVar9 = pcVar8 + iVar13" identifier = (binary_expression "pcVar8 + iVar13" identifier + identifier)) ;) (if_statement "if ((((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = pathname[(int)local_50 + 2];\n          }" if (parenthesized_expression "((((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\x01'))" ( (binary_expression "(((uint)qflags >> 3 & 1) == 0) || (cVar6 != '\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 "(cVar6 != '\x01')" ( (binary_expression "cVar6 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) ))) )) (compound_statement "{\n            local_4c = (int)local_50 + 2;\n          }" { (expression_statement "local_4c = (int)local_50 + 2;" (assignment_expression "local_4c = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) }) (else_clause "else {\n            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = pathname[(int)local_50 + 2];\n          }" else (compound_statement "{\n            if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = pathname[(int)local_50 + 2];\n          }" { (if_statement "if ((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))\n            {\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }" if (parenthesized_expression "((pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f'))" ( (binary_expression "(pathname[(int)local_50 + 2] != '\x01') && (pathname[(int)local_50 + 2] != '\x7f')" (parenthesized_expression "(pathname[(int)local_50 + 2] != '\x01')" ( (binary_expression "pathname[(int)local_50 + 2] != '\x01'" (subscript_expression "pathname[(int)local_50 + 2]" identifier [ (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) != (char_literal "'\x01'" ' escape_sequence ')) )) && (parenthesized_expression "(pathname[(int)local_50 + 2] != '\x7f')" ( (binary_expression "pathname[(int)local_50 + 2] != '\x7f'" (subscript_expression "pathname[(int)local_50 + 2]" identifier [ (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n              local_4c = (int)local_50 + 2;\n              local_58 = pathname + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }" { (expression_statement "local_4c = (int)local_50 + 2;" (assignment_expression "local_4c = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_58 = pathname + local_4c;" (assignment_expression "local_58 = pathname + local_4c" identifier = (binary_expression "pathname + local_4c" identifier + identifier)) ;) (expression_statement "cVar6 = '\x01';" (assignment_expression "cVar6 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0008e4d7;" goto statement_identifier ;) })) (expression_statement "local_4c = (int)local_50 + 3;" (assignment_expression "local_4c = (int)local_50 + 3" identifier = (binary_expression "(int)local_50 + 3" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "cVar6 = pathname[(int)local_50 + 2];" (assignment_expression "cVar6 = pathname[(int)local_50 + 2]" identifier = (subscript_expression "pathname[(int)local_50 + 2]" identifier [ (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) }))) (expression_statement "local_58 = pathname + local_4c;" (assignment_expression "local_58 = pathname + local_4c" identifier = (binary_expression "pathname + local_4c" identifier + identifier)) ;) })) (labeled_statement "LAB_0008e4d7:\n        local_48 = pcVar9;" statement_identifier : (expression_statement "local_48 = pcVar9;" (assignment_expression "local_48 = pcVar9" identifier = identifier) ;)) (expression_statement "*pcVar14 = cVar6;" (assignment_expression "*pcVar14 = cVar6" (pointer_expression "*pcVar14" * identifier) = identifier) ;) (expression_statement "local_50 = (char *)local_4c;" (assignment_expression "local_50 = (char *)local_4c" identifier = (cast_expression "(char *)local_4c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n        if (((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')) ||\n           (cVar6 != '[')) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = pathname[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = pathname[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = pathname + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = pathname[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }" else (compound_statement "{\n        if (((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')) ||\n           (cVar6 != '[')) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = pathname[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = pathname[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = pathname + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = pathname[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }" { (if_statement "if (((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')) ||\n           (cVar6 != '[')) goto LAB_0008e4d7;" if (parenthesized_expression "(((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')) ||\n           (cVar6 != '['))" ( (binary_expression "((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')) ||\n           (cVar6 != '[')" (parenthesized_expression "((local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01'))" ( (binary_expression "(local_50 != (char *)0x0) && (pathname[(int)local_50 + -1] == '\x01')" (parenthesized_expression "(local_50 != (char *)0x0)" ( (binary_expression "local_50 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pathname[(int)local_50 + -1] == '\x01')" ( (binary_expression "pathname[(int)local_50 + -1] == '\x01'" (subscript_expression "pathname[(int)local_50 + -1]" identifier [ (binary_expression "(int)local_50 + -1" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) == (char_literal "'\x01'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(cVar6 != '[')" ( (binary_expression "cVar6 != '['" identifier != (char_literal "'['" ' character ')) ))) )) (goto_statement "goto LAB_0008e4d7;" goto statement_identifier ;)) (expression_statement "*local_48 = '[';" (assignment_expression "*local_48 = '['" (pointer_expression "*local_48" * identifier) = (char_literal "'['" ' character ')) ;) (expression_statement "iVar11 = (int)local_50 + 2;" (assignment_expression "iVar11 = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "cVar6 = *local_58;" (assignment_expression "cVar6 = *local_58" identifier = (pointer_expression "*local_58" * identifier)) ;) (expression_statement "iVar10 = iVar13;" (assignment_expression "iVar10 = iVar13" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar9;" (assignment_expression "pcVar14 = pcVar9" identifier = identifier) ;) (if_statement "if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = pathname[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }" if (parenthesized_expression "(cVar6 == '^')" ( (binary_expression "cVar6 == '^'" identifier == (char_literal "'^'" ' character ')) )) (compound_statement "{\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = pathname[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }" { (expression_statement "iVar10 = iVar12 + 2;" (assignment_expression "iVar10 = iVar12 + 2" identifier = (binary_expression "iVar12 + 2" identifier + number_literal)) ;) (expression_statement "*pcVar9 = '^';" (assignment_expression "*pcVar9 = '^'" (pointer_expression "*pcVar9" * identifier) = (char_literal "'^'" ' character ')) ;) (expression_statement "iVar11 = (int)local_50 + 3;" (assignment_expression "iVar11 = (int)local_50 + 3" identifier = (binary_expression "(int)local_50 + 3" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "cVar6 = pathname[(int)local_50 + 2];" (assignment_expression "cVar6 = pathname[(int)local_50 + 2]" identifier = (subscript_expression "pathname[(int)local_50 + 2]" identifier [ (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (expression_statement "pcVar14 = pcVar8 + iVar10;" (assignment_expression "pcVar14 = pcVar8 + iVar10" identifier = (binary_expression "pcVar8 + iVar10" identifier + identifier)) ;) })) (expression_statement "local_50 = pcVar14;" (assignment_expression "local_50 = pcVar14" identifier = identifier) ;) (if_statement "if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = pathname[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }" if (parenthesized_expression "(cVar6 == ']')" ( (binary_expression "cVar6 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = pathname[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }" { (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "*local_50 = ']';" (assignment_expression "*local_50 = ']'" (pointer_expression "*local_50" * identifier) = (char_literal "']'" ' character ')) ;) (expression_statement "cVar6 = pathname[iVar11];" (assignment_expression "cVar6 = 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_50 = pcVar8 + iVar10;" (assignment_expression "local_50 = pcVar8 + iVar10" identifier = (binary_expression "pcVar8 + iVar10" identifier + identifier)) ;) })) (if_statement "if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }" { (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;) })) (do_statement "do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = pathname + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = pathname[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');" do (compound_statement "{\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = pathname + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = pathname[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        }" { (expression_statement "local_48 = pcVar8 + iVar10;" (assignment_expression "local_48 = pcVar8 + iVar10" identifier = (binary_expression "pcVar8 + iVar10" identifier + identifier)) ;) (expression_statement "pcVar14 = pathname + iVar11;" (assignment_expression "pcVar14 = pathname + iVar11" identifier = (binary_expression "pathname + iVar11" identifier + identifier)) ;) (if_statement "if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = pathname[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }" if (parenthesized_expression "(cVar6 == '\x01')" ( (binary_expression "cVar6 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = pathname[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }" { (if_statement "if (*pcVar14 == '\0') goto LAB_0008e5bc;" if (parenthesized_expression "(*pcVar14 == '\0')" ( (binary_expression "*pcVar14 == '\0'" (pointer_expression "*pcVar14" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;)) (expression_statement "*local_48 = *pcVar14;" (assignment_expression "*local_48 = *pcVar14" (pointer_expression "*local_48" * identifier) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = pathname[iVar11 + 1];" (assignment_expression "cVar6 = pathname[iVar11 + 1]" identifier = (subscript_expression "pathname[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 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            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }" else (compound_statement "{\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }" { (expression_statement "iVar12 = iVar10 + 1;" (assignment_expression "iVar12 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (if_statement "if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" if (parenthesized_expression "(cVar6 == '[')" ( (binary_expression "cVar6 == '['" identifier == (char_literal "'['" ' character ')) )) (compound_statement "{\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }" { (expression_statement "cVar2 = *pcVar14;" (assignment_expression "cVar2 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) (if_statement "if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" if (parenthesized_expression "(cVar2 == ':')" ( (binary_expression "cVar2 == ':'" identifier == (char_literal "':'" ' character ')) )) (compound_statement "{\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }" { (expression_statement "pcVar1 = pcVar8 + iVar10;" (assignment_expression "pcVar1 = pcVar8 + iVar10" identifier = (binary_expression "pcVar8 + iVar10" identifier + identifier)) ;) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "*pcVar1 = '[';" (assignment_expression "*pcVar1 = '['" (pointer_expression "*pcVar1" * identifier) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" identifier [ identifier ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = pathname[iVar11 + 1];" (assignment_expression "cVar6 = 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 (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" else (if_statement "if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" if (parenthesized_expression "(cVar2 == '=')" ( (binary_expression "cVar2 == '='" identifier == (char_literal "'='" ' character ')) )) (compound_statement "{\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" { (expression_statement "pcVar8[iVar10] = '[';" (assignment_expression "pcVar8[iVar10] = '['" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar8[iVar10 + 1] = *pcVar14;" (assignment_expression "pcVar8[iVar10 + 1] = *pcVar14" (subscript_expression "pcVar8[iVar10 + 1]" identifier [ (binary_expression "iVar10 + 1" identifier + number_literal) ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = pathname[iVar11 + 1];" (assignment_expression "cVar6 = pathname[iVar11 + 1]" identifier = (subscript_expression "pathname[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }" if (parenthesized_expression "(cVar6 == ']')" ( (binary_expression "cVar6 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }" { (expression_statement "pcVar8[iVar10 + 2] = ']';" (assignment_expression "pcVar8[iVar10 + 2] = ']'" (subscript_expression "pcVar8[iVar10 + 2]" identifier [ (binary_expression "iVar10 + 2" identifier + number_literal) ]) = (char_literal "']'" ' character ')) ;) (expression_statement "iVar10 = iVar10 + 3;" (assignment_expression "iVar10 = iVar10 + 3" identifier = (binary_expression "iVar10 + 3" identifier + number_literal)) ;) (expression_statement "cVar6 = pathname[iVar11 + 2];" (assignment_expression "cVar6 = 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 "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) }) (else_clause "else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }" else (compound_statement "{\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }" { (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }))) }) (else_clause "else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" else (compound_statement "{\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" { (if_statement "if (cVar2 != '.') goto LAB_0008e724;" if (parenthesized_expression "(cVar2 != '.')" ( (binary_expression "cVar2 != '.'" identifier != (char_literal "'.'" ' character ')) )) (goto_statement "goto LAB_0008e724;" goto statement_identifier ;)) (expression_statement "pcVar8[iVar10] = '[';" (assignment_expression "pcVar8[iVar10] = '['" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar8[iVar10 + 1] = *pcVar14;" (assignment_expression "pcVar8[iVar10 + 1] = *pcVar14" (subscript_expression "pcVar8[iVar10 + 1]" identifier [ (binary_expression "iVar10 + 1" identifier + number_literal) ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = pathname[iVar11 + 1];" (assignment_expression "cVar6 = pathname[iVar11 + 1]" identifier = (subscript_expression "pathname[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }" if (parenthesized_expression "(cVar6 == ']')" ( (binary_expression "cVar6 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = pathname[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }" { (expression_statement "pcVar8[iVar10 + 2] = ']';" (assignment_expression "pcVar8[iVar10 + 2] = ']'" (subscript_expression "pcVar8[iVar10 + 2]" identifier [ (binary_expression "iVar10 + 2" identifier + number_literal) ]) = (char_literal "']'" ' character ')) ;) (expression_statement "cVar6 = pathname[iVar11 + 2];" (assignment_expression "cVar6 = 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) ;) (expression_statement "iVar10 = iVar10 + 3;" (assignment_expression "iVar10 = iVar10 + 3" identifier = (binary_expression "iVar10 + 3" identifier + number_literal)) ;) }) (else_clause "else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }" else (compound_statement "{\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }))) }))))) }) (else_clause "else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" else (if_statement "if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" if (parenthesized_expression "((cVar6 == ':') && (bVar3))" ( (binary_expression "(cVar6 == ':') && (bVar3)" (parenthesized_expression "(cVar6 == ':')" ( (binary_expression "cVar6 == ':'" identifier == (char_literal "':'" ' character ')) )) && (parenthesized_expression "(bVar3)" ( identifier ))) )) (compound_statement "{\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" { (if_statement "if (*pcVar14 != ']') goto LAB_0008e724;" if (parenthesized_expression "(*pcVar14 != ']')" ( (binary_expression "*pcVar14 != ']'" (pointer_expression "*pcVar14" * identifier) != (char_literal "']'" ' character ')) )) (goto_statement "goto LAB_0008e724;" goto statement_identifier ;)) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "pcVar8[iVar10] = ':';" (assignment_expression "pcVar8[iVar10] = ':'" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "':'" ' character ')) ;) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" identifier [ identifier ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = pathname[iVar11 + 1];" (assignment_expression "cVar6 = 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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }) (else_clause "else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" else (if_statement "if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" if (parenthesized_expression "((cVar6 == '=') && (bVar4))" ( (binary_expression "(cVar6 == '=') && (bVar4)" (parenthesized_expression "(cVar6 == '=')" ( (binary_expression "cVar6 == '='" identifier == (char_literal "'='" ' character ')) )) && (parenthesized_expression "(bVar4)" ( identifier ))) )) (compound_statement "{\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }" { (if_statement "if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }" if (parenthesized_expression "(*pcVar14 == ']')" ( (binary_expression "*pcVar14 == ']'" (pointer_expression "*pcVar14" * identifier) == (char_literal "']'" ' character ')) )) (compound_statement "{\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = pathname[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }" { (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "pcVar8[iVar10] = '=';" (assignment_expression "pcVar8[iVar10] = '='" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "'='" ' character ')) ;) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" identifier [ identifier ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = pathname[iVar11 + 1];" (assignment_expression "cVar6 = 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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }) (else_clause "else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }" else (compound_statement "{\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }" { (labeled_statement "LAB_0008e724:\n                *local_48 = cVar6;" statement_identifier : (expression_statement "*local_48 = cVar6;" (assignment_expression "*local_48 = cVar6" (pointer_expression "*local_48" * identifier) = identifier) ;)) (expression_statement "cVar6 = *pcVar14;" (assignment_expression "cVar6 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "iVar10 = iVar12;" (assignment_expression "iVar10 = iVar12" 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 (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" else (compound_statement "{\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = pathname[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" { (if_statement "if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;" if (parenthesized_expression "(((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']'))" ( (binary_expression "((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')" (parenthesized_expression "((cVar6 != '.') || (!bVar5))" ( (binary_expression "(cVar6 != '.') || (!bVar5)" (parenthesized_expression "(cVar6 != '.')" ( (binary_expression "cVar6 != '.'" identifier != (char_literal "'.'" ' character ')) )) || (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) ))) )) || (parenthesized_expression "(*pcVar14 != ']')" ( (binary_expression "*pcVar14 != ']'" (pointer_expression "*pcVar14" * identifier) != (char_literal "']'" ' character ')) ))) )) (goto_statement "goto LAB_0008e724;" goto statement_identifier ;)) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "pcVar8[iVar10] = '.';" (assignment_expression "pcVar8[iVar10] = '.'" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "'.'" ' character ')) ;) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" identifier [ identifier ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = pathname[iVar11 + 1];" (assignment_expression "cVar6 = 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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }))))))) }))) (if_statement "if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }" if (parenthesized_expression "(cVar6 == ']')" ( (binary_expression "cVar6 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }" { (expression_statement "pcVar8[iVar10] = ']';" (assignment_expression "pcVar8[iVar10] = ']'" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "']'" ' character ')) ;) (goto_statement "goto LAB_0008e64f;" goto statement_identifier ;) })) (expression_statement "local_50 = (char *)local_4c;" (assignment_expression "local_50 = (char *)local_4c" identifier = (cast_expression "(char *)local_4c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_48 = pcVar9;" (assignment_expression "local_48 = pcVar9" identifier = identifier) ;) }) while (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) }))) (labeled_statement "LAB_0008e4e3:\n      cVar6 = *local_58;" statement_identifier : (expression_statement "cVar6 = *local_58;" (assignment_expression "cVar6 = *local_58" identifier = (pointer_expression "*local_58" * identifier)) ;)) (expression_statement "iVar12 = iVar13;" (assignment_expression "iVar12 = iVar13" identifier = identifier) ;) (if_statement "if (cVar6 == '\0') goto LAB_0008e5bc;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;)) })) (expression_statement "cVar6 = pathname[(int)local_50 + 1];" (assignment_expression "cVar6 = pathname[(int)local_50 + 1]" identifier = (subscript_expression "pathname[(int)local_50 + 1]" identifier [ (binary_expression "(int)local_50 + 1" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (if_statement "if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }" { (expression_statement "*local_48 = '\x01';" (assignment_expression "*local_48 = '\x01'" (pointer_expression "*local_48" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_48 = pcVar8 + iVar12 + 1;" (assignment_expression "local_48 = pcVar8 + iVar12 + 1" identifier = (binary_expression "pcVar8 + iVar12 + 1" (binary_expression "pcVar8 + iVar12" identifier + identifier) + number_literal)) ;) (break_statement "break;" break ;) })) (expression_statement "pcVar9 = pathname + (int)local_50 + 1;" (assignment_expression "pcVar9 = pathname + (int)local_50 + 1" identifier = (binary_expression "pathname + (int)local_50 + 1" (binary_expression "pathname + (int)local_50" identifier + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (if_statement "if ((qflags & 0xcU) == 0) {\n      if ((qflags & 2U) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto _L138;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = pathname + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((qflags & 4U) == 0) {\n_L138:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = pathname + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\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_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto _L138;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }" { (if_statement "if ((qflags & 2U) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto _L138;\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_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto _L138;\n      }" { (labeled_statement "LAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;" statement_identifier : (if_statement "if (cVar6 != '\x01') goto LAB_0008e53f;" if (parenthesized_expression "(cVar6 != '\x01')" ( (binary_expression "cVar6 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e53f;" goto statement_identifier ;))) (goto_statement "goto _L138;" goto statement_identifier ;) })) (labeled_statement "LAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;" statement_identifier : (if_statement "if (cVar6 != '/') goto LAB_0008e53b;" if (parenthesized_expression "(cVar6 != '/')" ( (binary_expression "cVar6 != '/'" identifier != (char_literal "'/'" ' character ')) )) (goto_statement "goto LAB_0008e53b;" goto statement_identifier ;))) }) (else_clause "else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = pathname + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((qflags & 4U) == 0) {\n_L138:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = pathname + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }" else (compound_statement "{\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = pathname + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((qflags & 2U) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((qflags & 4U) == 0) {\n_L138:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = pathname + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }" { (if_statement "if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = pathname + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }" if (parenthesized_expression "((cVar6 == '\x01') || (cVar6 == '\x7f'))" ( (binary_expression "(cVar6 == '\x01') || (cVar6 == '\x7f')" (parenthesized_expression "(cVar6 == '\x01')" ( (binary_expression "cVar6 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "(cVar6 == '\x7f')" ( (binary_expression "cVar6 == '\x7f'" identifier == (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = pathname + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }" { (expression_statement "iVar11 = (int)local_50 + 2;" (assignment_expression "iVar11 = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*local_48 = *pcVar9;" (assignment_expression "*local_48 = *pcVar9" (pointer_expression "*local_48" * identifier) = (pointer_expression "*pcVar9" * identifier)) ;) (expression_statement "iVar10 = iVar12;" (assignment_expression "iVar10 = iVar12" identifier = identifier) ;) (labeled_statement "LAB_0008e64f:\n        iVar13 = iVar10 + 1;" statement_identifier : (expression_statement "iVar13 = iVar10 + 1;" (assignment_expression "iVar13 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;)) (expression_statement "local_58 = pathname + iVar11;" (assignment_expression "local_58 = pathname + iVar11" identifier = (binary_expression "pathname + iVar11" identifier + identifier)) ;) (expression_statement "local_50 = (char *)iVar11;" (assignment_expression "local_50 = (char *)iVar11" identifier = (cast_expression "(char *)iVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_48 = pcVar8 + iVar13;" (assignment_expression "local_48 = pcVar8 + iVar13" identifier = (binary_expression "pcVar8 + iVar13" identifier + identifier)) ;) (goto_statement "goto LAB_0008e4e3;" goto statement_identifier ;) })) (if_statement "if ((qflags & 2U) != 0) goto LAB_0008e537;" 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_0008e537;" goto statement_identifier ;)) (labeled_statement "LAB_0008e53f:\n      if ((qflags & 4U) == 0) {\n_L138:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = pathname + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }" statement_identifier : (if_statement "if ((qflags & 4U) == 0) {\n_L138:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = pathname + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\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_L138:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = pathname + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }" { (labeled_statement "_L138:\n        *local_48 = '\\';" statement_identifier : (expression_statement "*local_48 = '\\';" (assignment_expression "*local_48 = '\\'" (pointer_expression "*local_48" * identifier) = (char_literal "'\\'" ' escape_sequence ')) ;)) (expression_statement "cVar6 = *pcVar9;" (assignment_expression "cVar6 = *pcVar9" identifier = (pointer_expression "*pcVar9" * identifier)) ;) (expression_statement "local_48 = pcVar8 + iVar12 + 1;" (assignment_expression "local_48 = pcVar8 + iVar12 + 1" identifier = (binary_expression "pcVar8 + iVar12 + 1" (binary_expression "pcVar8 + iVar12" identifier + identifier) + number_literal)) ;) (if_statement "if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = pathname + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = pathname + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }" { (expression_statement "local_4c = (int)local_50 + 2;" (assignment_expression "local_4c = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "iVar13 = iVar12 + 2;" (assignment_expression "iVar13 = iVar12 + 2" identifier = (binary_expression "iVar12 + 2" identifier + number_literal)) ;) (expression_statement "local_58 = pathname + local_4c;" (assignment_expression "local_58 = pathname + local_4c" identifier = (binary_expression "pathname + local_4c" identifier + identifier)) ;) (expression_statement "pcVar14 = local_48;" (assignment_expression "pcVar14 = local_48" identifier = identifier) ;) (expression_statement "pcVar9 = pcVar8 + iVar13;" (assignment_expression "pcVar9 = pcVar8 + iVar13" identifier = (binary_expression "pcVar8 + iVar13" identifier + identifier)) ;) (goto_statement "goto LAB_0008e4d7;" goto statement_identifier ;) })) (break_statement "break;" break ;) }))) (if_statement "if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }" if (parenthesized_expression "((byte)(cVar6 - 0x24U) < 0x59)" ( (binary_expression "(byte)(cVar6 - 0x24U) < 0x59" (call_expression "(byte)(cVar6 - 0x24U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar6 - 0x24U)" ( (binary_expression "cVar6 - 0x24U" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }" { comment comment (expression_statement "pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();" (assignment_expression "pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))()" identifier = (cast_expression "(char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))" ( (pointer_expression "*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09)" * (cast_expression "(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09)" ( (binary_expression "*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09" (binary_expression "*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI" (pointer_expression "*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)" * (cast_expression "(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)" ( (binary_expression "unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4" (binary_expression "unaff_EDI + 0x86089" identifier + number_literal) + (binary_expression "(uint)(byte)(cVar6 - 0x24U) * 4" (call_expression "(uint)(byte)(cVar6 - 0x24U)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(cVar6 - 0x24U)" ( (binary_expression "cVar6 - 0x24U" identifier - number_literal) ))) * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar8;" return identifier ;) })) }))) (expression_statement "cVar6 = *pcVar9;" (assignment_expression "cVar6 = *pcVar9" identifier = (pointer_expression "*pcVar9" * identifier)) ;) (expression_statement "local_50 = (char *)((int)local_50 + 1);" (assignment_expression "local_50 = (char *)((int)local_50 + 1)" identifier = (cast_expression "(char *)((int)local_50 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_50 + 1)" ( (binary_expression "(int)local_50 + 1" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (labeled_statement "LAB_0008e5bc:\n  *local_48 = '\0';" statement_identifier : (expression_statement "*local_48 = '\0';" (assignment_expression "*local_48 = '\0'" (pointer_expression "*local_48" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (return_statement "return pcVar8;" return identifier ;) })))
(translation_unit "char * quote_string_for_globbing(char *param_1,uint param_2)\n\n{\n  char *pcVar1;\n  char cVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  char *pcVar14;\n  int unaff_EDI;\n  char *local_58;\n  char *local_50;\n  int local_4c;\n  char *local_48;\n  \n  FUN_00032201();\n  sVar7 = strlen(param_1);\n  pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);\n  cVar6 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }\n  bVar4 = false;\n  bVar5 = false;\n  bVar3 = false;\n  local_50 = (char *)0x0;\n  iVar12 = 0;\n  do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = param_1[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = param_1 + (int)local_50 + 1;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');\nLAB_0008e5bc:\n  *local_48 = '\0';\n  return pcVar8;\n}\n\n" (function_definition "char * quote_string_for_globbing(char *param_1,uint param_2)\n\n{\n  char *pcVar1;\n  char cVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  char *pcVar14;\n  int unaff_EDI;\n  char *local_58;\n  char *local_50;\n  int local_4c;\n  char *local_48;\n  \n  FUN_00032201();\n  sVar7 = strlen(param_1);\n  pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);\n  cVar6 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }\n  bVar4 = false;\n  bVar5 = false;\n  bVar3 = false;\n  local_50 = (char *)0x0;\n  iVar12 = 0;\n  do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = param_1[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = param_1 + (int)local_50 + 1;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');\nLAB_0008e5bc:\n  *local_48 = '\0';\n  return pcVar8;\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 cVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  char *pcVar14;\n  int unaff_EDI;\n  char *local_58;\n  char *local_50;\n  int local_4c;\n  char *local_48;\n  \n  FUN_00032201();\n  sVar7 = strlen(param_1);\n  pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);\n  cVar6 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }\n  bVar4 = false;\n  bVar5 = false;\n  bVar3 = false;\n  local_50 = (char *)0x0;\n  iVar12 = 0;\n  do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = param_1[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = param_1 + (int)local_50 + 1;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');\nLAB_0008e5bc:\n  *local_48 = '\0';\n  return pcVar8;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "char *local_58;" primitive_type (pointer_declarator "*local_58" * identifier) ;) (declaration "char *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "char *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (expression_statement "FUN_00032201();" (call_expression "FUN_00032201()" identifier (argument_list "()" ( ))) ;) (expression_statement "sVar7 = strlen(param_1);" (assignment_expression "sVar7 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);" (assignment_expression "pcVar8 = (char *)xmalloc(sVar7 * 2 + 1)" identifier = (cast_expression "(char *)xmalloc(sVar7 * 2 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar7 * 2 + 1)" identifier (argument_list "(sVar7 * 2 + 1)" ( (binary_expression "sVar7 * 2 + 1" (binary_expression "sVar7 * 2" identifier * number_literal) + number_literal) ))))) ;) (expression_statement "cVar6 = *param_1;" (assignment_expression "cVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (((param_2 & 1) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }" if (parenthesized_expression "(((param_2 & 1) == 0) || (cVar6 != '\x7f'))" ( (binary_expression "((param_2 & 1) == 0) || (cVar6 != '\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 "(cVar6 != '\x7f')" ( (binary_expression "cVar6 != '\x7f'" identifier != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }" { (expression_statement "local_48 = pcVar8;" (assignment_expression "local_48 = pcVar8" identifier = identifier) ;) (if_statement "if (cVar6 == '\0') goto LAB_0008e5bc;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;)) }) (else_clause "else if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }" else (if_statement "if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\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    *pcVar8 = '\0';\n    return pcVar8;\n  }" { (expression_statement "*pcVar8 = '\0';" (assignment_expression "*pcVar8 = '\0'" (pointer_expression "*pcVar8" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return pcVar8;" return identifier ;) })))) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "local_50 = (char *)0x0;" (assignment_expression "local_50 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = param_1[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = param_1 + (int)local_50 + 1;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');" do (compound_statement "{\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = param_1[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = param_1 + (int)local_50 + 1;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  }" { (while_statement "while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }" while (parenthesized_expression "(local_48 = pcVar8 + iVar12, cVar6 != '\x01')" ( (comma_expression "local_48 = pcVar8 + iVar12, cVar6 != '\x01'" (assignment_expression "local_48 = pcVar8 + iVar12" identifier = (binary_expression "pcVar8 + iVar12" identifier + identifier)) , (binary_expression "cVar6 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence '))) )) (compound_statement "{\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }" { (expression_statement "local_4c = (int)local_50 + 1;" (assignment_expression "local_4c = (int)local_50 + 1" identifier = (binary_expression "(int)local_50 + 1" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_58 = param_1 + local_4c;" (assignment_expression "local_58 = param_1 + local_4c" identifier = (binary_expression "param_1 + local_4c" identifier + identifier)) ;) (expression_statement "iVar13 = iVar12 + 1;" (assignment_expression "iVar13 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "pcVar9 = pcVar8 + iVar13;" (assignment_expression "pcVar9 = pcVar8 + iVar13" identifier = (binary_expression "pcVar8 + iVar13" identifier + identifier)) ;) (expression_statement "pcVar14 = local_48;" (assignment_expression "pcVar14 = local_48" identifier = identifier) ;) (if_statement "if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\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 (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }" { (if_statement "if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }" if (parenthesized_expression "(cVar6 == '\\')" ( (binary_expression "cVar6 == '\\'" identifier == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }" { (expression_statement "*local_48 = '\\';" (assignment_expression "*local_48 = '\\'" (pointer_expression "*local_48" * identifier) = (char_literal "'\\'" ' escape_sequence ')) ;) (expression_statement "cVar6 = *local_58;" (assignment_expression "cVar6 = *local_58" identifier = (pointer_expression "*local_58" * identifier)) ;) (expression_statement "local_48 = pcVar9;" (assignment_expression "local_48 = pcVar9" identifier = identifier) ;) (if_statement "if (cVar6 == '\0') goto LAB_0008e5bc;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;)) (expression_statement "iVar13 = iVar12 + 2;" (assignment_expression "iVar13 = iVar12 + 2" identifier = (binary_expression "iVar12 + 2" identifier + number_literal)) ;) (expression_statement "pcVar14 = pcVar9;" (assignment_expression "pcVar14 = pcVar9" identifier = identifier) ;) (expression_statement "pcVar9 = pcVar8 + iVar13;" (assignment_expression "pcVar9 = pcVar8 + iVar13" identifier = (binary_expression "pcVar8 + iVar13" identifier + identifier)) ;) (if_statement "if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }" if (parenthesized_expression "(((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01'))" ( (binary_expression "((param_2 >> 3 & 1) == 0) || (cVar6 != '\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 "(cVar6 != '\x01')" ( (binary_expression "cVar6 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) ))) )) (compound_statement "{\n            local_4c = (int)local_50 + 2;\n          }" { (expression_statement "local_4c = (int)local_50 + 2;" (assignment_expression "local_4c = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) }) (else_clause "else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }" else (compound_statement "{\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }" { (if_statement "if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }" if (parenthesized_expression "((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f'))" ( (binary_expression "(param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')" (parenthesized_expression "(param_1[(int)local_50 + 2] != '\x01')" ( (binary_expression "param_1[(int)local_50 + 2] != '\x01'" (subscript_expression "param_1[(int)local_50 + 2]" identifier [ (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) != (char_literal "'\x01'" ' escape_sequence ')) )) && (parenthesized_expression "(param_1[(int)local_50 + 2] != '\x7f')" ( (binary_expression "param_1[(int)local_50 + 2] != '\x7f'" (subscript_expression "param_1[(int)local_50 + 2]" identifier [ (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }" { (expression_statement "local_4c = (int)local_50 + 2;" (assignment_expression "local_4c = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "local_58 = param_1 + local_4c;" (assignment_expression "local_58 = param_1 + local_4c" identifier = (binary_expression "param_1 + local_4c" identifier + identifier)) ;) (expression_statement "cVar6 = '\x01';" (assignment_expression "cVar6 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0008e4d7;" goto statement_identifier ;) })) (expression_statement "local_4c = (int)local_50 + 3;" (assignment_expression "local_4c = (int)local_50 + 3" identifier = (binary_expression "(int)local_50 + 3" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "cVar6 = param_1[(int)local_50 + 2];" (assignment_expression "cVar6 = param_1[(int)local_50 + 2]" identifier = (subscript_expression "param_1[(int)local_50 + 2]" identifier [ (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) }))) (expression_statement "local_58 = param_1 + local_4c;" (assignment_expression "local_58 = param_1 + local_4c" identifier = (binary_expression "param_1 + local_4c" identifier + identifier)) ;) })) (labeled_statement "LAB_0008e4d7:\n        local_48 = pcVar9;" statement_identifier : (expression_statement "local_48 = pcVar9;" (assignment_expression "local_48 = pcVar9" identifier = identifier) ;)) (expression_statement "*pcVar14 = cVar6;" (assignment_expression "*pcVar14 = cVar6" (pointer_expression "*pcVar14" * identifier) = identifier) ;) (expression_statement "local_50 = (char *)local_4c;" (assignment_expression "local_50 = (char *)local_4c" identifier = (cast_expression "(char *)local_4c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }" else (compound_statement "{\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }" { (if_statement "if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;" if (parenthesized_expression "(((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           )" ( (binary_expression "((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')" (parenthesized_expression "((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01'))" ( (binary_expression "(local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')" (parenthesized_expression "(local_50 != (char *)0x0)" ( (binary_expression "local_50 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(param_1[(int)local_50 + -1] == '\x01')" ( (binary_expression "param_1[(int)local_50 + -1] == '\x01'" (subscript_expression "param_1[(int)local_50 + -1]" identifier [ (binary_expression "(int)local_50 + -1" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) == (char_literal "'\x01'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(cVar6 != '[')" ( (binary_expression "cVar6 != '['" identifier != (char_literal "'['" ' character ')) ))) )) (goto_statement "goto LAB_0008e4d7;" goto statement_identifier ;)) (expression_statement "*local_48 = '[';" (assignment_expression "*local_48 = '['" (pointer_expression "*local_48" * identifier) = (char_literal "'['" ' character ')) ;) (expression_statement "iVar11 = (int)local_50 + 2;" (assignment_expression "iVar11 = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "cVar6 = *local_58;" (assignment_expression "cVar6 = *local_58" identifier = (pointer_expression "*local_58" * identifier)) ;) (expression_statement "iVar10 = iVar13;" (assignment_expression "iVar10 = iVar13" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar9;" (assignment_expression "pcVar14 = pcVar9" identifier = identifier) ;) (if_statement "if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }" if (parenthesized_expression "(cVar6 == '^')" ( (binary_expression "cVar6 == '^'" identifier == (char_literal "'^'" ' character ')) )) (compound_statement "{\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }" { (expression_statement "iVar10 = iVar12 + 2;" (assignment_expression "iVar10 = iVar12 + 2" identifier = (binary_expression "iVar12 + 2" identifier + number_literal)) ;) (expression_statement "*pcVar9 = '^';" (assignment_expression "*pcVar9 = '^'" (pointer_expression "*pcVar9" * identifier) = (char_literal "'^'" ' character ')) ;) (expression_statement "iVar11 = (int)local_50 + 3;" (assignment_expression "iVar11 = (int)local_50 + 3" identifier = (binary_expression "(int)local_50 + 3" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "cVar6 = param_1[(int)local_50 + 2];" (assignment_expression "cVar6 = param_1[(int)local_50 + 2]" identifier = (subscript_expression "param_1[(int)local_50 + 2]" identifier [ (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (expression_statement "pcVar14 = pcVar8 + iVar10;" (assignment_expression "pcVar14 = pcVar8 + iVar10" identifier = (binary_expression "pcVar8 + iVar10" identifier + identifier)) ;) })) (expression_statement "local_50 = pcVar14;" (assignment_expression "local_50 = pcVar14" identifier = identifier) ;) (if_statement "if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }" if (parenthesized_expression "(cVar6 == ']')" ( (binary_expression "cVar6 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }" { (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "*local_50 = ']';" (assignment_expression "*local_50 = ']'" (pointer_expression "*local_50" * identifier) = (char_literal "']'" ' character ')) ;) (expression_statement "cVar6 = param_1[iVar11];" (assignment_expression "cVar6 = 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_50 = pcVar8 + iVar10;" (assignment_expression "local_50 = pcVar8 + iVar10" identifier = (binary_expression "pcVar8 + iVar10" identifier + identifier)) ;) })) (if_statement "if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }" { (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;) })) (do_statement "do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');" do (compound_statement "{\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        }" { (expression_statement "local_48 = pcVar8 + iVar10;" (assignment_expression "local_48 = pcVar8 + iVar10" identifier = (binary_expression "pcVar8 + iVar10" identifier + identifier)) ;) (expression_statement "pcVar14 = param_1 + iVar11;" (assignment_expression "pcVar14 = param_1 + iVar11" identifier = (binary_expression "param_1 + iVar11" identifier + identifier)) ;) (if_statement "if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }" if (parenthesized_expression "(cVar6 == '\x01')" ( (binary_expression "cVar6 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }" { (if_statement "if (*pcVar14 == '\0') goto LAB_0008e5bc;" if (parenthesized_expression "(*pcVar14 == '\0')" ( (binary_expression "*pcVar14 == '\0'" (pointer_expression "*pcVar14" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;)) (expression_statement "*local_48 = *pcVar14;" (assignment_expression "*local_48 = *pcVar14" (pointer_expression "*local_48" * identifier) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 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            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }" else (compound_statement "{\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }" { (expression_statement "iVar12 = iVar10 + 1;" (assignment_expression "iVar12 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (if_statement "if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" if (parenthesized_expression "(cVar6 == '[')" ( (binary_expression "cVar6 == '['" identifier == (char_literal "'['" ' character ')) )) (compound_statement "{\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }" { (expression_statement "cVar2 = *pcVar14;" (assignment_expression "cVar2 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) (if_statement "if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" if (parenthesized_expression "(cVar2 == ':')" ( (binary_expression "cVar2 == ':'" identifier == (char_literal "':'" ' character ')) )) (compound_statement "{\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }" { (expression_statement "pcVar1 = pcVar8 + iVar10;" (assignment_expression "pcVar1 = pcVar8 + iVar10" identifier = (binary_expression "pcVar8 + iVar10" identifier + identifier)) ;) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "*pcVar1 = '[';" (assignment_expression "*pcVar1 = '['" (pointer_expression "*pcVar1" * identifier) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" identifier [ identifier ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = 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 (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" else (if_statement "if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" if (parenthesized_expression "(cVar2 == '=')" ( (binary_expression "cVar2 == '='" identifier == (char_literal "'='" ' character ')) )) (compound_statement "{\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" { (expression_statement "pcVar8[iVar10] = '[';" (assignment_expression "pcVar8[iVar10] = '['" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar8[iVar10 + 1] = *pcVar14;" (assignment_expression "pcVar8[iVar10 + 1] = *pcVar14" (subscript_expression "pcVar8[iVar10 + 1]" identifier [ (binary_expression "iVar10 + 1" identifier + number_literal) ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }" if (parenthesized_expression "(cVar6 == ']')" ( (binary_expression "cVar6 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }" { (expression_statement "pcVar8[iVar10 + 2] = ']';" (assignment_expression "pcVar8[iVar10 + 2] = ']'" (subscript_expression "pcVar8[iVar10 + 2]" identifier [ (binary_expression "iVar10 + 2" identifier + number_literal) ]) = (char_literal "']'" ' character ')) ;) (expression_statement "iVar10 = iVar10 + 3;" (assignment_expression "iVar10 = iVar10 + 3" identifier = (binary_expression "iVar10 + 3" identifier + number_literal)) ;) (expression_statement "cVar6 = param_1[iVar11 + 2];" (assignment_expression "cVar6 = 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 "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) }) (else_clause "else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }" else (compound_statement "{\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }" { (expression_statement "iVar11 = iVar11 + 2;" (assignment_expression "iVar11 = iVar11 + 2" identifier = (binary_expression "iVar11 + 2" identifier + number_literal)) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }))) }) (else_clause "else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" else (compound_statement "{\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" { (if_statement "if (cVar2 != '.') goto LAB_0008e724;" if (parenthesized_expression "(cVar2 != '.')" ( (binary_expression "cVar2 != '.'" identifier != (char_literal "'.'" ' character ')) )) (goto_statement "goto LAB_0008e724;" goto statement_identifier ;)) (expression_statement "pcVar8[iVar10] = '[';" (assignment_expression "pcVar8[iVar10] = '['" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "'['" ' character ')) ;) (expression_statement "pcVar8[iVar10 + 1] = *pcVar14;" (assignment_expression "pcVar8[iVar10 + 1] = *pcVar14" (subscript_expression "pcVar8[iVar10 + 1]" identifier [ (binary_expression "iVar10 + 1" identifier + number_literal) ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = param_1[iVar11 + 1]" identifier = (subscript_expression "param_1[iVar11 + 1]" identifier [ (binary_expression "iVar11 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }" if (parenthesized_expression "(cVar6 == ']')" ( (binary_expression "cVar6 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }" { (expression_statement "pcVar8[iVar10 + 2] = ']';" (assignment_expression "pcVar8[iVar10 + 2] = ']'" (subscript_expression "pcVar8[iVar10 + 2]" identifier [ (binary_expression "iVar10 + 2" identifier + number_literal) ]) = (char_literal "']'" ' character ')) ;) (expression_statement "cVar6 = param_1[iVar11 + 2];" (assignment_expression "cVar6 = 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) ;) (expression_statement "iVar10 = iVar10 + 3;" (assignment_expression "iVar10 = iVar10 + 3" identifier = (binary_expression "iVar10 + 3" identifier + number_literal)) ;) }) (else_clause "else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }" else (compound_statement "{\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }))) }))))) }) (else_clause "else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" else (if_statement "if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" if (parenthesized_expression "((cVar6 == ':') && (bVar3))" ( (binary_expression "(cVar6 == ':') && (bVar3)" (parenthesized_expression "(cVar6 == ':')" ( (binary_expression "cVar6 == ':'" identifier == (char_literal "':'" ' character ')) )) && (parenthesized_expression "(bVar3)" ( identifier ))) )) (compound_statement "{\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" { (if_statement "if (*pcVar14 != ']') goto LAB_0008e724;" if (parenthesized_expression "(*pcVar14 != ']')" ( (binary_expression "*pcVar14 != ']'" (pointer_expression "*pcVar14" * identifier) != (char_literal "']'" ' character ')) )) (goto_statement "goto LAB_0008e724;" goto statement_identifier ;)) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "pcVar8[iVar10] = ':';" (assignment_expression "pcVar8[iVar10] = ':'" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "':'" ' character ')) ;) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" identifier [ identifier ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = 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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }) (else_clause "else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" else (if_statement "if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" if (parenthesized_expression "((cVar6 == '=') && (bVar4))" ( (binary_expression "(cVar6 == '=') && (bVar4)" (parenthesized_expression "(cVar6 == '=')" ( (binary_expression "cVar6 == '='" identifier == (char_literal "'='" ' character ')) )) && (parenthesized_expression "(bVar4)" ( identifier ))) )) (compound_statement "{\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }" { (if_statement "if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }" if (parenthesized_expression "(*pcVar14 == ']')" ( (binary_expression "*pcVar14 == ']'" (pointer_expression "*pcVar14" * identifier) == (char_literal "']'" ' character ')) )) (compound_statement "{\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }" { (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "pcVar8[iVar10] = '=';" (assignment_expression "pcVar8[iVar10] = '='" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "'='" ' character ')) ;) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" identifier [ identifier ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = 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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }) (else_clause "else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }" else (compound_statement "{\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }" { (labeled_statement "LAB_0008e724:\n                *local_48 = cVar6;" statement_identifier : (expression_statement "*local_48 = cVar6;" (assignment_expression "*local_48 = cVar6" (pointer_expression "*local_48" * identifier) = identifier) ;)) (expression_statement "cVar6 = *pcVar14;" (assignment_expression "cVar6 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "iVar10 = iVar12;" (assignment_expression "iVar10 = iVar12" 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 (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" else (compound_statement "{\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" { (if_statement "if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;" if (parenthesized_expression "(((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']'))" ( (binary_expression "((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')" (parenthesized_expression "((cVar6 != '.') || (!bVar5))" ( (binary_expression "(cVar6 != '.') || (!bVar5)" (parenthesized_expression "(cVar6 != '.')" ( (binary_expression "cVar6 != '.'" identifier != (char_literal "'.'" ' character ')) )) || (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) ))) )) || (parenthesized_expression "(*pcVar14 != ']')" ( (binary_expression "*pcVar14 != ']'" (pointer_expression "*pcVar14" * identifier) != (char_literal "']'" ' character ')) ))) )) (goto_statement "goto LAB_0008e724;" goto statement_identifier ;)) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "pcVar8[iVar10] = '.';" (assignment_expression "pcVar8[iVar10] = '.'" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "'.'" ' character ')) ;) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" identifier [ identifier ]) = (pointer_expression "*pcVar14" * identifier)) ;) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = 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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) }))))))) }))) (if_statement "if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }" if (parenthesized_expression "(cVar6 == ']')" ( (binary_expression "cVar6 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }" { (expression_statement "pcVar8[iVar10] = ']';" (assignment_expression "pcVar8[iVar10] = ']'" (subscript_expression "pcVar8[iVar10]" identifier [ identifier ]) = (char_literal "']'" ' character ')) ;) (goto_statement "goto LAB_0008e64f;" goto statement_identifier ;) })) (expression_statement "local_50 = (char *)local_4c;" (assignment_expression "local_50 = (char *)local_4c" identifier = (cast_expression "(char *)local_4c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_48 = pcVar9;" (assignment_expression "local_48 = pcVar9" identifier = identifier) ;) }) while (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) }))) (labeled_statement "LAB_0008e4e3:\n      cVar6 = *local_58;" statement_identifier : (expression_statement "cVar6 = *local_58;" (assignment_expression "cVar6 = *local_58" identifier = (pointer_expression "*local_58" * identifier)) ;)) (expression_statement "iVar12 = iVar13;" (assignment_expression "iVar12 = iVar13" identifier = identifier) ;) (if_statement "if (cVar6 == '\0') goto LAB_0008e5bc;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e5bc;" goto statement_identifier ;)) })) (expression_statement "cVar6 = param_1[(int)local_50 + 1];" (assignment_expression "cVar6 = param_1[(int)local_50 + 1]" identifier = (subscript_expression "param_1[(int)local_50 + 1]" identifier [ (binary_expression "(int)local_50 + 1" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ])) ;) (if_statement "if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }" { (expression_statement "*local_48 = '\x01';" (assignment_expression "*local_48 = '\x01'" (pointer_expression "*local_48" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_48 = pcVar8 + iVar12 + 1;" (assignment_expression "local_48 = pcVar8 + iVar12 + 1" identifier = (binary_expression "pcVar8 + iVar12 + 1" (binary_expression "pcVar8 + iVar12" identifier + identifier) + number_literal)) ;) (break_statement "break;" break ;) })) (expression_statement "pcVar9 = param_1 + (int)local_50 + 1;" (assignment_expression "pcVar9 = param_1 + (int)local_50 + 1" identifier = (binary_expression "param_1 + (int)local_50 + 1" (binary_expression "param_1 + (int)local_50" identifier + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (if_statement "if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\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_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }" { (if_statement "if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\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_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }" { (labeled_statement "LAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;" statement_identifier : (if_statement "if (cVar6 != '\x01') goto LAB_0008e53f;" if (parenthesized_expression "(cVar6 != '\x01')" ( (binary_expression "cVar6 != '\x01'" identifier != (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008e53f;" goto statement_identifier ;))) (goto_statement "goto LAB_0008e560;" goto statement_identifier ;) })) (labeled_statement "LAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;" statement_identifier : (if_statement "if (cVar6 != '/') goto LAB_0008e53b;" if (parenthesized_expression "(cVar6 != '/')" ( (binary_expression "cVar6 != '/'" identifier != (char_literal "'/'" ' character ')) )) (goto_statement "goto LAB_0008e53b;" goto statement_identifier ;))) }) (else_clause "else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }" else (compound_statement "{\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }" { (if_statement "if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }" if (parenthesized_expression "((cVar6 == '\x01') || (cVar6 == '\x7f'))" ( (binary_expression "(cVar6 == '\x01') || (cVar6 == '\x7f')" (parenthesized_expression "(cVar6 == '\x01')" ( (binary_expression "cVar6 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "(cVar6 == '\x7f')" ( (binary_expression "cVar6 == '\x7f'" identifier == (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }" { (expression_statement "iVar11 = (int)local_50 + 2;" (assignment_expression "iVar11 = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*local_48 = *pcVar9;" (assignment_expression "*local_48 = *pcVar9" (pointer_expression "*local_48" * identifier) = (pointer_expression "*pcVar9" * identifier)) ;) (expression_statement "iVar10 = iVar12;" (assignment_expression "iVar10 = iVar12" identifier = identifier) ;) (labeled_statement "LAB_0008e64f:\n        iVar13 = iVar10 + 1;" statement_identifier : (expression_statement "iVar13 = iVar10 + 1;" (assignment_expression "iVar13 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;)) (expression_statement "local_58 = param_1 + iVar11;" (assignment_expression "local_58 = param_1 + iVar11" identifier = (binary_expression "param_1 + iVar11" identifier + identifier)) ;) (expression_statement "local_50 = (char *)iVar11;" (assignment_expression "local_50 = (char *)iVar11" identifier = (cast_expression "(char *)iVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_48 = pcVar8 + iVar13;" (assignment_expression "local_48 = pcVar8 + iVar13" identifier = (binary_expression "pcVar8 + iVar13" identifier + identifier)) ;) (goto_statement "goto LAB_0008e4e3;" goto statement_identifier ;) })) (if_statement "if ((param_2 & 2) != 0) goto LAB_0008e537;" 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_0008e537;" goto statement_identifier ;)) (labeled_statement "LAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }" statement_identifier : (if_statement "if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\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 "{\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }" { (labeled_statement "LAB_0008e560:\n        *local_48 = '\\';" statement_identifier : (expression_statement "*local_48 = '\\';" (assignment_expression "*local_48 = '\\'" (pointer_expression "*local_48" * identifier) = (char_literal "'\\'" ' escape_sequence ')) ;)) (expression_statement "cVar6 = *pcVar9;" (assignment_expression "cVar6 = *pcVar9" identifier = (pointer_expression "*pcVar9" * identifier)) ;) (expression_statement "local_48 = pcVar8 + iVar12 + 1;" (assignment_expression "local_48 = pcVar8 + iVar12 + 1" identifier = (binary_expression "pcVar8 + iVar12 + 1" (binary_expression "pcVar8 + iVar12" identifier + identifier) + number_literal)) ;) (if_statement "if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }" { (expression_statement "local_4c = (int)local_50 + 2;" (assignment_expression "local_4c = (int)local_50 + 2" identifier = (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "iVar13 = iVar12 + 2;" (assignment_expression "iVar13 = iVar12 + 2" identifier = (binary_expression "iVar12 + 2" identifier + number_literal)) ;) (expression_statement "local_58 = param_1 + local_4c;" (assignment_expression "local_58 = param_1 + local_4c" identifier = (binary_expression "param_1 + local_4c" identifier + identifier)) ;) (expression_statement "pcVar14 = local_48;" (assignment_expression "pcVar14 = local_48" identifier = identifier) ;) (expression_statement "pcVar9 = pcVar8 + iVar13;" (assignment_expression "pcVar9 = pcVar8 + iVar13" identifier = (binary_expression "pcVar8 + iVar13" identifier + identifier)) ;) (goto_statement "goto LAB_0008e4d7;" goto statement_identifier ;) })) (break_statement "break;" break ;) }))) (if_statement "if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }" if (parenthesized_expression "((byte)(cVar6 - 0x24U) < 0x59)" ( (binary_expression "(byte)(cVar6 - 0x24U) < 0x59" (call_expression "(byte)(cVar6 - 0x24U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar6 - 0x24U)" ( (binary_expression "cVar6 - 0x24U" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }" { (expression_statement "pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();" (assignment_expression "pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))()" identifier = (cast_expression "(char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))" ( (pointer_expression "*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09)" * (cast_expression "(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09)" ( (binary_expression "*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09" (binary_expression "*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI" (pointer_expression "*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)" * (cast_expression "(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)" ( (binary_expression "unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4" (binary_expression "unaff_EDI + 0x86089" identifier + number_literal) + (binary_expression "(uint)(byte)(cVar6 - 0x24U) * 4" (call_expression "(uint)(byte)(cVar6 - 0x24U)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(cVar6 - 0x24U)" ( (binary_expression "cVar6 - 0x24U" identifier - number_literal) ))) * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar8;" return identifier ;) })) }))) (expression_statement "cVar6 = *pcVar9;" (assignment_expression "cVar6 = *pcVar9" identifier = (pointer_expression "*pcVar9" * identifier)) ;) (expression_statement "local_50 = (char *)((int)local_50 + 1);" (assignment_expression "local_50 = (char *)((int)local_50 + 1)" identifier = (cast_expression "(char *)((int)local_50 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_50 + 1)" ( (binary_expression "(int)local_50 + 1" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (labeled_statement "LAB_0008e5bc:\n  *local_48 = '\0';" statement_identifier : (expression_statement "*local_48 = '\0';" (assignment_expression "*local_48 = '\0'" (pointer_expression "*local_48" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (return_statement "return pcVar8;" return 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 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 ')) )) (goto_statement goto statement_identifier ;)) }) (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) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + IDENT)) , (binary_expression IDENT != (char_literal ' escape_sequence '))) )) (compound_statement { (expression_statement (assignment_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 = (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 IDENT & LIT) )) == LIT) )) (compound_statement { (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 = (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_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 = (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 = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (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)) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (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 ')) ))) )) || (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 (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 = (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 ')) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) }))) (labeled_statement statement_identifier : (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 = (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)) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (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 IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (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 { (labeled_statement 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)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (goto_statement goto statement_identifier ;) })) (break_statement break ;) }))) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT - LIT) ))) * LIT)) )))) + IDENT) + LIT) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;)) (return_statement return IDENT ;) })))
(function_definition "char * quote_string_for_globbing(char *param_1,uint param_2)\n\n{\n  char *pcVar1;\n  char cVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  char *pcVar14;\n  int unaff_EDI;\n  char *local_58;\n  char *local_50;\n  int local_4c;\n  char *local_48;\n  \n  FUN_00032201();\n  sVar7 = strlen(param_1);\n  pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);\n  cVar6 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }\n  bVar4 = false;\n  bVar5 = false;\n  bVar3 = false;\n  local_50 = (char *)0x0;\n  iVar12 = 0;\n  do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = param_1[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = param_1 + (int)local_50 + 1;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');\nLAB_0008e5bc:\n  *local_48 = '\0';\n  return pcVar8;\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 cVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  char *pcVar14;\n  int unaff_EDI;\n  char *local_58;\n  char *local_50;\n  int local_4c;\n  char *local_48;\n  \n  FUN_00032201();\n  sVar7 = strlen(param_1);\n  pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);\n  cVar6 = *param_1;\n  if (((param_2 & 1) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }\n  bVar4 = false;\n  bVar5 = false;\n  bVar3 = false;\n  local_50 = (char *)0x0;\n  iVar12 = 0;\n  do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = param_1[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = param_1 + (int)local_50 + 1;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');\nLAB_0008e5bc:\n  *local_48 = '\0';\n  return pcVar8;\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "bool bVar3;" (primitive_type "bool") (identifier "bVar3") (; ";")) (declaration "bool bVar4;" (primitive_type "bool") (identifier "bVar4") (; ";")) (declaration "bool bVar5;" (primitive_type "bool") (identifier "bVar5") (; ";")) (declaration "char cVar6;" (primitive_type "char") (identifier "cVar6") (; ";")) (declaration "size_t sVar7;" (primitive_type "size_t") (identifier "sVar7") (; ";")) (declaration "char *pcVar8;" (primitive_type "char") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "char *pcVar14;" (primitive_type "char") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (declaration "char *local_58;" (primitive_type "char") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "char *local_50;" (primitive_type "char") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (declaration "char *local_48;" (primitive_type "char") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (expression_statement "FUN_00032201();" (call_expression "FUN_00032201()" (identifier "FUN_00032201") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "sVar7 = strlen(param_1);" (assignment_expression "sVar7 = strlen(param_1)" (identifier "sVar7") (= "=") (call_expression "strlen(param_1)" (identifier "strlen") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);" (assignment_expression "pcVar8 = (char *)xmalloc(sVar7 * 2 + 1)" (identifier "pcVar8") (= "=") (cast_expression "(char *)xmalloc(sVar7 * 2 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar7 * 2 + 1)" (identifier "xmalloc") (argument_list "(sVar7 * 2 + 1)" (( "(") (binary_expression "sVar7 * 2 + 1" (binary_expression "sVar7 * 2" (identifier "sVar7") (* "*") (number_literal "2")) (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "cVar6 = *param_1;" (assignment_expression "cVar6 = *param_1" (identifier "cVar6") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (if_statement "if (((param_2 & 1) == 0) || (cVar6 != '\x7f')) {\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }\n  else if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }" (if "if") (parenthesized_expression "(((param_2 & 1) == 0) || (cVar6 != '\x7f'))" (( "(") (binary_expression "((param_2 & 1) == 0) || (cVar6 != '\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 "(cVar6 != '\x7f')" (( "(") (binary_expression "cVar6 != '\x7f'" (identifier "cVar6") (!= "!=") (char_literal "'\x7f'" (' "'") (escape_sequence "\x7f") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    local_48 = pcVar8;\n    if (cVar6 == '\0') goto LAB_0008e5bc;\n  }" ({ "{") (expression_statement "local_48 = pcVar8;" (assignment_expression "local_48 = pcVar8" (identifier "local_48") (= "=") (identifier "pcVar8")) (; ";")) (if_statement "if (cVar6 == '\0') goto LAB_0008e5bc;" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0008e5bc;" (goto "goto") (statement_identifier "LAB_0008e5bc") (; ";"))) (} "}")) (else_clause "else if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\n  }" (else "else") (if_statement "if (param_1[1] == '\0') {\n    *pcVar8 = '\0';\n    return pcVar8;\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    *pcVar8 = '\0';\n    return pcVar8;\n  }" ({ "{") (expression_statement "*pcVar8 = '\0';" (assignment_expression "*pcVar8 = '\0'" (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (return_statement "return pcVar8;" (return "return") (identifier "pcVar8") (; ";")) (} "}"))))) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" (identifier "bVar4") (= "=") (false "false")) (; ";")) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" (identifier "bVar5") (= "=") (false "false")) (; ";")) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (expression_statement "local_50 = (char *)0x0;" (assignment_expression "local_50 = (char *)0x0" (identifier "local_50") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = param_1[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = param_1 + (int)local_50 + 1;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  } while (cVar6 != '\0');" (do "do") (compound_statement "{\n    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }\n    cVar6 = param_1[(int)local_50 + 1];\n    if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }\n    pcVar9 = param_1 + (int)local_50 + 1;\n    if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }\n    cVar6 = *pcVar9;\n    local_50 = (char *)((int)local_50 + 1);\n  }" ({ "{") (while_statement "while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }" (while "while") (parenthesized_expression "(local_48 = pcVar8 + iVar12, cVar6 != '\x01')" (( "(") (comma_expression "local_48 = pcVar8 + iVar12, cVar6 != '\x01'" (assignment_expression "local_48 = pcVar8 + iVar12" (identifier "local_48") (= "=") (binary_expression "pcVar8 + iVar12" (identifier "pcVar8") (+ "+") (identifier "iVar12"))) (, ",") (binary_expression "cVar6 != '\x01'" (identifier "cVar6") (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'")))) () ")")) (compound_statement "{\n      local_4c = (int)local_50 + 1;\n      local_58 = param_1 + local_4c;\n      iVar13 = iVar12 + 1;\n      pcVar9 = pcVar8 + iVar13;\n      pcVar14 = local_48;\n      if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }\nLAB_0008e4e3:\n      cVar6 = *local_58;\n      iVar12 = iVar13;\n      if (cVar6 == '\0') goto LAB_0008e5bc;\n    }" ({ "{") (expression_statement "local_4c = (int)local_50 + 1;" (assignment_expression "local_4c = (int)local_50 + 1" (identifier "local_4c") (= "=") (binary_expression "(int)local_50 + 1" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_58 = param_1 + local_4c;" (assignment_expression "local_58 = param_1 + local_4c" (identifier "local_58") (= "=") (binary_expression "param_1 + local_4c" (identifier "param_1") (+ "+") (identifier "local_4c"))) (; ";")) (expression_statement "iVar13 = iVar12 + 1;" (assignment_expression "iVar13 = iVar12 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar9 = pcVar8 + iVar13;" (assignment_expression "pcVar9 = pcVar8 + iVar13" (identifier "pcVar9") (= "=") (binary_expression "pcVar8 + iVar13" (identifier "pcVar8") (+ "+") (identifier "iVar13"))) (; ";")) (expression_statement "pcVar14 = local_48;" (assignment_expression "pcVar14 = local_48" (identifier "pcVar14") (= "=") (identifier "local_48")) (; ";")) (if_statement "if ((param_2 & 4) == 0) {\n        if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }\n      else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\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 (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }\nLAB_0008e4d7:\n        local_48 = pcVar9;\n        *pcVar14 = cVar6;\n        local_50 = (char *)local_4c;\n      }" ({ "{") (if_statement "if (cVar6 == '\\') {\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }" (if "if") (parenthesized_expression "(cVar6 == '\\')" (( "(") (binary_expression "cVar6 == '\\'" (identifier "cVar6") (== "==") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) () ")")) (compound_statement "{\n          *local_48 = '\\';\n          cVar6 = *local_58;\n          local_48 = pcVar9;\n          if (cVar6 == '\0') goto LAB_0008e5bc;\n          iVar13 = iVar12 + 2;\n          pcVar14 = pcVar9;\n          pcVar9 = pcVar8 + iVar13;\n          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }\n          local_58 = param_1 + local_4c;\n        }" ({ "{") (expression_statement "*local_48 = '\\';" (assignment_expression "*local_48 = '\\'" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (= "=") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) (; ";")) (expression_statement "cVar6 = *local_58;" (assignment_expression "cVar6 = *local_58" (identifier "cVar6") (= "=") (pointer_expression "*local_58" (* "*") (identifier "local_58"))) (; ";")) (expression_statement "local_48 = pcVar9;" (assignment_expression "local_48 = pcVar9" (identifier "local_48") (= "=") (identifier "pcVar9")) (; ";")) (if_statement "if (cVar6 == '\0') goto LAB_0008e5bc;" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0008e5bc;" (goto "goto") (statement_identifier "LAB_0008e5bc") (; ";"))) (expression_statement "iVar13 = iVar12 + 2;" (assignment_expression "iVar13 = iVar12 + 2" (identifier "iVar13") (= "=") (binary_expression "iVar12 + 2" (identifier "iVar12") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pcVar14 = pcVar9;" (assignment_expression "pcVar14 = pcVar9" (identifier "pcVar14") (= "=") (identifier "pcVar9")) (; ";")) (expression_statement "pcVar9 = pcVar8 + iVar13;" (assignment_expression "pcVar9 = pcVar8 + iVar13" (identifier "pcVar9") (= "=") (binary_expression "pcVar8 + iVar13" (identifier "pcVar8") (+ "+") (identifier "iVar13"))) (; ";")) (if_statement "if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {\n            local_4c = (int)local_50 + 2;\n          }\n          else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }" (if "if") (parenthesized_expression "(((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01'))" (( "(") (binary_expression "((param_2 >> 3 & 1) == 0) || (cVar6 != '\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 "(cVar6 != '\x01')" (( "(") (binary_expression "cVar6 != '\x01'" (identifier "cVar6") (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            local_4c = (int)local_50 + 2;\n          }" ({ "{") (expression_statement "local_4c = (int)local_50 + 2;" (assignment_expression "local_4c = (int)local_50 + 2" (identifier "local_4c") (= "=") (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }" (else "else") (compound_statement "{\n            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }\n            local_4c = (int)local_50 + 3;\n            cVar6 = param_1[(int)local_50 + 2];\n          }" ({ "{") (if_statement "if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }" (if "if") (parenthesized_expression "((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f'))" (( "(") (binary_expression "(param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')" (parenthesized_expression "(param_1[(int)local_50 + 2] != '\x01')" (( "(") (binary_expression "param_1[(int)local_50 + 2] != '\x01'" (subscript_expression "param_1[(int)local_50 + 2]" (identifier "param_1") ([ "[") (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "2")) (] "]")) (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(param_1[(int)local_50 + 2] != '\x7f')" (( "(") (binary_expression "param_1[(int)local_50 + 2] != '\x7f'" (subscript_expression "param_1[(int)local_50 + 2]" (identifier "param_1") ([ "[") (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "2")) (] "]")) (!= "!=") (char_literal "'\x7f'" (' "'") (escape_sequence "\x7f") (' "'"))) () ")"))) () ")")) (compound_statement "{\n              local_4c = (int)local_50 + 2;\n              local_58 = param_1 + local_4c;\n              cVar6 = '\x01';\n              goto LAB_0008e4d7;\n            }" ({ "{") (expression_statement "local_4c = (int)local_50 + 2;" (assignment_expression "local_4c = (int)local_50 + 2" (identifier "local_4c") (= "=") (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_58 = param_1 + local_4c;" (assignment_expression "local_58 = param_1 + local_4c" (identifier "local_58") (= "=") (binary_expression "param_1 + local_4c" (identifier "param_1") (+ "+") (identifier "local_4c"))) (; ";")) (expression_statement "cVar6 = '\x01';" (assignment_expression "cVar6 = '\x01'" (identifier "cVar6") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (goto_statement "goto LAB_0008e4d7;" (goto "goto") (statement_identifier "LAB_0008e4d7") (; ";")) (} "}"))) (expression_statement "local_4c = (int)local_50 + 3;" (assignment_expression "local_4c = (int)local_50 + 3" (identifier "local_4c") (= "=") (binary_expression "(int)local_50 + 3" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "3"))) (; ";")) (expression_statement "cVar6 = param_1[(int)local_50 + 2];" (assignment_expression "cVar6 = param_1[(int)local_50 + 2]" (identifier "cVar6") (= "=") (subscript_expression "param_1[(int)local_50 + 2]" (identifier "param_1") ([ "[") (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "2")) (] "]"))) (; ";")) (} "}")))) (expression_statement "local_58 = param_1 + local_4c;" (assignment_expression "local_58 = param_1 + local_4c" (identifier "local_58") (= "=") (binary_expression "param_1 + local_4c" (identifier "param_1") (+ "+") (identifier "local_4c"))) (; ";")) (} "}"))) (labeled_statement "LAB_0008e4d7:\n        local_48 = pcVar9;" (statement_identifier "LAB_0008e4d7") (: ":") (expression_statement "local_48 = pcVar9;" (assignment_expression "local_48 = pcVar9" (identifier "local_48") (= "=") (identifier "pcVar9")) (; ";"))) (expression_statement "*pcVar14 = cVar6;" (assignment_expression "*pcVar14 = cVar6" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (= "=") (identifier "cVar6")) (; ";")) (expression_statement "local_50 = (char *)local_4c;" (assignment_expression "local_50 = (char *)local_4c" (identifier "local_50") (= "=") (cast_expression "(char *)local_4c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_4c"))) (; ";")) (} "}")) (else_clause "else {\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }" (else "else") (compound_statement "{\n        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;\n        *local_48 = '[';\n        iVar11 = (int)local_50 + 2;\n        cVar6 = *local_58;\n        iVar10 = iVar13;\n        pcVar14 = pcVar9;\n        if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }\n        local_50 = pcVar14;\n        if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }\n        if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }\n        do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');\n      }" ({ "{") (if_statement "if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           ) goto LAB_0008e4d7;" (if "if") (parenthesized_expression "(((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')\n           )" (( "(") (binary_expression "((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')" (parenthesized_expression "((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01'))" (( "(") (binary_expression "(local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')" (parenthesized_expression "(local_50 != (char *)0x0)" (( "(") (binary_expression "local_50 != (char *)0x0" (identifier "local_50") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(param_1[(int)local_50 + -1] == '\x01')" (( "(") (binary_expression "param_1[(int)local_50 + -1] == '\x01'" (subscript_expression "param_1[(int)local_50 + -1]" (identifier "param_1") ([ "[") (binary_expression "(int)local_50 + -1" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "-1")) (] "]")) (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(cVar6 != '[')" (( "(") (binary_expression "cVar6 != '['" (identifier "cVar6") (!= "!=") (char_literal "'['" (' "'") (character "[") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_0008e4d7;" (goto "goto") (statement_identifier "LAB_0008e4d7") (; ";"))) (expression_statement "*local_48 = '[';" (assignment_expression "*local_48 = '['" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (= "=") (char_literal "'['" (' "'") (character "[") (' "'"))) (; ";")) (expression_statement "iVar11 = (int)local_50 + 2;" (assignment_expression "iVar11 = (int)local_50 + 2" (identifier "iVar11") (= "=") (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "cVar6 = *local_58;" (assignment_expression "cVar6 = *local_58" (identifier "cVar6") (= "=") (pointer_expression "*local_58" (* "*") (identifier "local_58"))) (; ";")) (expression_statement "iVar10 = iVar13;" (assignment_expression "iVar10 = iVar13" (identifier "iVar10") (= "=") (identifier "iVar13")) (; ";")) (expression_statement "pcVar14 = pcVar9;" (assignment_expression "pcVar14 = pcVar9" (identifier "pcVar14") (= "=") (identifier "pcVar9")) (; ";")) (if_statement "if (cVar6 == '^') {\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }" (if "if") (parenthesized_expression "(cVar6 == '^')" (( "(") (binary_expression "cVar6 == '^'" (identifier "cVar6") (== "==") (char_literal "'^'" (' "'") (character "^") (' "'"))) () ")")) (compound_statement "{\n          iVar10 = iVar12 + 2;\n          *pcVar9 = '^';\n          iVar11 = (int)local_50 + 3;\n          cVar6 = param_1[(int)local_50 + 2];\n          pcVar14 = pcVar8 + iVar10;\n        }" ({ "{") (expression_statement "iVar10 = iVar12 + 2;" (assignment_expression "iVar10 = iVar12 + 2" (identifier "iVar10") (= "=") (binary_expression "iVar12 + 2" (identifier "iVar12") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*pcVar9 = '^';" (assignment_expression "*pcVar9 = '^'" (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) (= "=") (char_literal "'^'" (' "'") (character "^") (' "'"))) (; ";")) (expression_statement "iVar11 = (int)local_50 + 3;" (assignment_expression "iVar11 = (int)local_50 + 3" (identifier "iVar11") (= "=") (binary_expression "(int)local_50 + 3" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "3"))) (; ";")) (expression_statement "cVar6 = param_1[(int)local_50 + 2];" (assignment_expression "cVar6 = param_1[(int)local_50 + 2]" (identifier "cVar6") (= "=") (subscript_expression "param_1[(int)local_50 + 2]" (identifier "param_1") ([ "[") (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "2")) (] "]"))) (; ";")) (expression_statement "pcVar14 = pcVar8 + iVar10;" (assignment_expression "pcVar14 = pcVar8 + iVar10" (identifier "pcVar14") (= "=") (binary_expression "pcVar8 + iVar10" (identifier "pcVar8") (+ "+") (identifier "iVar10"))) (; ";")) (} "}"))) (expression_statement "local_50 = pcVar14;" (assignment_expression "local_50 = pcVar14" (identifier "local_50") (= "=") (identifier "pcVar14")) (; ";")) (if_statement "if (cVar6 == ']') {\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }" (if "if") (parenthesized_expression "(cVar6 == ']')" (( "(") (binary_expression "cVar6 == ']'" (identifier "cVar6") (== "==") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")")) (compound_statement "{\n          iVar10 = iVar10 + 1;\n          *local_50 = ']';\n          cVar6 = param_1[iVar11];\n          iVar11 = iVar11 + 1;\n          local_50 = pcVar8 + iVar10;\n        }" ({ "{") (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*local_50 = ']';" (assignment_expression "*local_50 = ']'" (pointer_expression "*local_50" (* "*") (identifier "local_50")) (= "=") (char_literal "']'" (' "'") (character "]") (' "'"))) (; ";")) (expression_statement "cVar6 = param_1[iVar11];" (assignment_expression "cVar6 = param_1[iVar11]" (identifier "cVar6") (= "=") (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_50 = pcVar8 + iVar10;" (assignment_expression "local_50 = pcVar8 + iVar10" (identifier "local_50") (= "=") (binary_expression "pcVar8 + iVar10" (identifier "pcVar8") (+ "+") (identifier "iVar10"))) (; ";")) (} "}"))) (if_statement "if (cVar6 == '\0') {\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          local_48 = local_50;\n          goto LAB_0008e5bc;\n        }" ({ "{") (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" (identifier "local_48") (= "=") (identifier "local_50")) (; ";")) (goto_statement "goto LAB_0008e5bc;" (goto "goto") (statement_identifier "LAB_0008e5bc") (; ";")) (} "}"))) (do_statement "do {\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        } while (cVar6 != '\0');" (do "do") (compound_statement "{\n          local_48 = pcVar8 + iVar10;\n          pcVar14 = param_1 + iVar11;\n          if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }\n          if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }\n          local_50 = (char *)local_4c;\n          local_48 = pcVar9;\n        }" ({ "{") (expression_statement "local_48 = pcVar8 + iVar10;" (assignment_expression "local_48 = pcVar8 + iVar10" (identifier "local_48") (= "=") (binary_expression "pcVar8 + iVar10" (identifier "pcVar8") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "pcVar14 = param_1 + iVar11;" (assignment_expression "pcVar14 = param_1 + iVar11" (identifier "pcVar14") (= "=") (binary_expression "param_1 + iVar11" (identifier "param_1") (+ "+") (identifier "iVar11"))) (; ";")) (if_statement "if (cVar6 == '\x01') {\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }\n          else {\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }" (if "if") (parenthesized_expression "(cVar6 == '\x01')" (( "(") (binary_expression "cVar6 == '\x01'" (identifier "cVar6") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n            if (*pcVar14 == '\0') goto LAB_0008e5bc;\n            *local_48 = *pcVar14;\n            cVar6 = param_1[iVar11 + 1];\n            iVar10 = iVar10 + 1;\n            iVar11 = iVar11 + 2;\n          }" ({ "{") (if_statement "if (*pcVar14 == '\0') goto LAB_0008e5bc;" (if "if") (parenthesized_expression "(*pcVar14 == '\0')" (( "(") (binary_expression "*pcVar14 == '\0'" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0008e5bc;" (goto "goto") (statement_identifier "LAB_0008e5bc") (; ";"))) (expression_statement "*local_48 = *pcVar14;" (assignment_expression "*local_48 = *pcVar14" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (= "=") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14"))) (; ";")) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = param_1[iVar11 + 1]" (identifier "cVar6") (= "=") (subscript_expression "param_1[iVar11 + 1]" (identifier "param_1") ([ "[") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (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            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }" (else "else") (compound_statement "{\n            iVar12 = iVar10 + 1;\n            if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n          }" ({ "{") (expression_statement "iVar12 = iVar10 + 1;" (assignment_expression "iVar12 = iVar10 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (cVar6 == '[') {\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }\n            else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" (if "if") (parenthesized_expression "(cVar6 == '[')" (( "(") (binary_expression "cVar6 == '['" (identifier "cVar6") (== "==") (char_literal "'['" (' "'") (character "[") (' "'"))) () ")")) (compound_statement "{\n              cVar2 = *pcVar14;\n              if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n            }" ({ "{") (expression_statement "cVar2 = *pcVar14;" (assignment_expression "cVar2 = *pcVar14" (identifier "cVar2") (= "=") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14"))) (; ";")) (if_statement "if (cVar2 == ':') {\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }\n              else if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" (if "if") (parenthesized_expression "(cVar2 == ':')" (( "(") (binary_expression "cVar2 == ':'" (identifier "cVar2") (== "==") (char_literal "':'" (' "'") (character ":") (' "'"))) () ")")) (compound_statement "{\n                pcVar1 = pcVar8 + iVar10;\n                iVar10 = iVar10 + 2;\n                bVar3 = true;\n                *pcVar1 = '[';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n              }" ({ "{") (expression_statement "pcVar1 = pcVar8 + iVar10;" (assignment_expression "pcVar1 = pcVar8 + iVar10" (identifier "pcVar1") (= "=") (binary_expression "pcVar8 + iVar10" (identifier "pcVar8") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 2" (identifier "iVar10") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (expression_statement "*pcVar1 = '[';" (assignment_expression "*pcVar1 = '['" (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) (= "=") (char_literal "'['" (' "'") (character "[") (' "'"))) (; ";")) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" (identifier "pcVar8") ([ "[") (identifier "iVar12") (] "]")) (= "=") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14"))) (; ";")) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = param_1[iVar11 + 1]" (identifier "cVar6") (= "=") (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 (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" (else "else") (if_statement "if (cVar2 == '=') {\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }\n              else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" (if "if") (parenthesized_expression "(cVar2 == '=')" (( "(") (binary_expression "cVar2 == '='" (identifier "cVar2") (== "==") (char_literal "'='" (' "'") (character "=") (' "'"))) () ")")) (compound_statement "{\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" ({ "{") (expression_statement "pcVar8[iVar10] = '[';" (assignment_expression "pcVar8[iVar10] = '['" (subscript_expression "pcVar8[iVar10]" (identifier "pcVar8") ([ "[") (identifier "iVar10") (] "]")) (= "=") (char_literal "'['" (' "'") (character "[") (' "'"))) (; ";")) (expression_statement "pcVar8[iVar10 + 1] = *pcVar14;" (assignment_expression "pcVar8[iVar10 + 1] = *pcVar14" (subscript_expression "pcVar8[iVar10 + 1]" (identifier "pcVar8") ([ "[") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1")) (] "]")) (= "=") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14"))) (; ";")) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = param_1[iVar11 + 1]" (identifier "cVar6") (= "=") (subscript_expression "param_1[iVar11 + 1]" (identifier "param_1") ([ "[") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (if_statement "if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }" (if "if") (parenthesized_expression "(cVar6 == ']')" (( "(") (binary_expression "cVar6 == ']'" (identifier "cVar6") (== "==") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")")) (compound_statement "{\n                  pcVar8[iVar10 + 2] = ']';\n                  iVar10 = iVar10 + 3;\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar4 = true;\n                }" ({ "{") (expression_statement "pcVar8[iVar10 + 2] = ']';" (assignment_expression "pcVar8[iVar10 + 2] = ']'" (subscript_expression "pcVar8[iVar10 + 2]" (identifier "pcVar8") ([ "[") (binary_expression "iVar10 + 2" (identifier "iVar10") (+ "+") (number_literal "2")) (] "]")) (= "=") (char_literal "']'" (' "'") (character "]") (' "'"))) (; ";")) (expression_statement "iVar10 = iVar10 + 3;" (assignment_expression "iVar10 = iVar10 + 3" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 3" (identifier "iVar10") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "cVar6 = param_1[iVar11 + 2];" (assignment_expression "cVar6 = param_1[iVar11 + 2]" (identifier "cVar6") (= "=") (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 "bVar4 = true;" (assignment_expression "bVar4 = true" (identifier "bVar4") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 2;\n                }" (else "else") (compound_statement "{\n                  iVar11 = iVar11 + 2;\n                  bVar4 = true;\n                  iVar10 = iVar10 + 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 "bVar4 = true;" (assignment_expression "bVar4 = true" (identifier "bVar4") (= "=") (true "true")) (; ";")) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 2" (identifier "iVar10") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" (else "else") (compound_statement "{\n                if (cVar2 != '.') goto LAB_0008e724;\n                pcVar8[iVar10] = '[';\n                pcVar8[iVar10 + 1] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }\n              }" ({ "{") (if_statement "if (cVar2 != '.') goto LAB_0008e724;" (if "if") (parenthesized_expression "(cVar2 != '.')" (( "(") (binary_expression "cVar2 != '.'" (identifier "cVar2") (!= "!=") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")")) (goto_statement "goto LAB_0008e724;" (goto "goto") (statement_identifier "LAB_0008e724") (; ";"))) (expression_statement "pcVar8[iVar10] = '[';" (assignment_expression "pcVar8[iVar10] = '['" (subscript_expression "pcVar8[iVar10]" (identifier "pcVar8") ([ "[") (identifier "iVar10") (] "]")) (= "=") (char_literal "'['" (' "'") (character "[") (' "'"))) (; ";")) (expression_statement "pcVar8[iVar10 + 1] = *pcVar14;" (assignment_expression "pcVar8[iVar10 + 1] = *pcVar14" (subscript_expression "pcVar8[iVar10 + 1]" (identifier "pcVar8") ([ "[") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1")) (] "]")) (= "=") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14"))) (; ";")) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = param_1[iVar11 + 1]" (identifier "cVar6") (= "=") (subscript_expression "param_1[iVar11 + 1]" (identifier "param_1") ([ "[") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (if_statement "if (cVar6 == ']') {\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }\n                else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }" (if "if") (parenthesized_expression "(cVar6 == ']')" (( "(") (binary_expression "cVar6 == ']'" (identifier "cVar6") (== "==") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")")) (compound_statement "{\n                  pcVar8[iVar10 + 2] = ']';\n                  cVar6 = param_1[iVar11 + 2];\n                  iVar11 = iVar11 + 3;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 3;\n                }" ({ "{") (expression_statement "pcVar8[iVar10 + 2] = ']';" (assignment_expression "pcVar8[iVar10 + 2] = ']'" (subscript_expression "pcVar8[iVar10 + 2]" (identifier "pcVar8") ([ "[") (binary_expression "iVar10 + 2" (identifier "iVar10") (+ "+") (number_literal "2")) (] "]")) (= "=") (char_literal "']'" (' "'") (character "]") (' "'"))) (; ";")) (expression_statement "cVar6 = param_1[iVar11 + 2];" (assignment_expression "cVar6 = param_1[iVar11 + 2]" (identifier "cVar6") (= "=") (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")) (; ";")) (expression_statement "iVar10 = iVar10 + 3;" (assignment_expression "iVar10 = iVar10 + 3" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 3" (identifier "iVar10") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (else_clause "else {\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 2;\n                }" (else "else") (compound_statement "{\n                  iVar11 = iVar11 + 2;\n                  bVar5 = true;\n                  iVar10 = iVar10 + 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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 2" (identifier "iVar10") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (} "}")))))) (} "}")) (else_clause "else if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" (else "else") (if_statement "if ((cVar6 == ':') && (bVar3)) {\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }\n            else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" (if "if") (parenthesized_expression "((cVar6 == ':') && (bVar3))" (( "(") (binary_expression "(cVar6 == ':') && (bVar3)" (parenthesized_expression "(cVar6 == ':')" (( "(") (binary_expression "cVar6 == ':'" (identifier "cVar6") (== "==") (char_literal "':'" (' "'") (character ":") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")"))) () ")")) (compound_statement "{\n              if (*pcVar14 != ']') goto LAB_0008e724;\n              bVar3 = false;\n              pcVar8[iVar10] = ':';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" ({ "{") (if_statement "if (*pcVar14 != ']') goto LAB_0008e724;" (if "if") (parenthesized_expression "(*pcVar14 != ']')" (( "(") (binary_expression "*pcVar14 != ']'" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (!= "!=") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")")) (goto_statement "goto LAB_0008e724;" (goto "goto") (statement_identifier "LAB_0008e724") (; ";"))) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (expression_statement "pcVar8[iVar10] = ':';" (assignment_expression "pcVar8[iVar10] = ':'" (subscript_expression "pcVar8[iVar10]" (identifier "pcVar8") ([ "[") (identifier "iVar10") (] "]")) (= "=") (char_literal "':'" (' "'") (character ":") (' "'"))) (; ";")) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" (identifier "pcVar8") ([ "[") (identifier "iVar12") (] "]")) (= "=") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14"))) (; ";")) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = param_1[iVar11 + 1]" (identifier "cVar6") (= "=") (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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 2" (identifier "iVar10") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" (else "else") (if_statement "if ((cVar6 == '=') && (bVar4)) {\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }\n            else {\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" (if "if") (parenthesized_expression "((cVar6 == '=') && (bVar4))" (( "(") (binary_expression "(cVar6 == '=') && (bVar4)" (parenthesized_expression "(cVar6 == '=')" (( "(") (binary_expression "cVar6 == '='" (identifier "cVar6") (== "==") (char_literal "'='" (' "'") (character "=") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(bVar4)" (( "(") (identifier "bVar4") () ")"))) () ")")) (compound_statement "{\n              if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }\n            }" ({ "{") (if_statement "if (*pcVar14 == ']') {\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }\n              else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }" (if "if") (parenthesized_expression "(*pcVar14 == ']')" (( "(") (binary_expression "*pcVar14 == ']'" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (== "==") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")")) (compound_statement "{\n                bVar4 = false;\n                pcVar8[iVar10] = '=';\n                pcVar8[iVar12] = *pcVar14;\n                cVar6 = param_1[iVar11 + 1];\n                iVar11 = iVar11 + 2;\n                iVar10 = iVar10 + 2;\n              }" ({ "{") (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" (identifier "bVar4") (= "=") (false "false")) (; ";")) (expression_statement "pcVar8[iVar10] = '=';" (assignment_expression "pcVar8[iVar10] = '='" (subscript_expression "pcVar8[iVar10]" (identifier "pcVar8") ([ "[") (identifier "iVar10") (] "]")) (= "=") (char_literal "'='" (' "'") (character "=") (' "'"))) (; ";")) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" (identifier "pcVar8") ([ "[") (identifier "iVar12") (] "]")) (= "=") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14"))) (; ";")) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = param_1[iVar11 + 1]" (identifier "cVar6") (= "=") (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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 2" (identifier "iVar10") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }" (else "else") (compound_statement "{\nLAB_0008e724:\n                *local_48 = cVar6;\n                cVar6 = *pcVar14;\n                iVar10 = iVar12;\n                iVar11 = iVar11 + 1;\n              }" ({ "{") (labeled_statement "LAB_0008e724:\n                *local_48 = cVar6;" (statement_identifier "LAB_0008e724") (: ":") (expression_statement "*local_48 = cVar6;" (assignment_expression "*local_48 = cVar6" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (= "=") (identifier "cVar6")) (; ";"))) (expression_statement "cVar6 = *pcVar14;" (assignment_expression "cVar6 = *pcVar14" (identifier "cVar6") (= "=") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14"))) (; ";")) (expression_statement "iVar10 = iVar12;" (assignment_expression "iVar10 = iVar12" (identifier "iVar10") (= "=") (identifier "iVar12")) (; ";")) (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 (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" (else "else") (compound_statement "{\n              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;\n              bVar5 = false;\n              pcVar8[iVar10] = '.';\n              pcVar8[iVar12] = *pcVar14;\n              cVar6 = param_1[iVar11 + 1];\n              iVar11 = iVar11 + 2;\n              iVar10 = iVar10 + 2;\n            }" ({ "{") (if_statement "if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;" (if "if") (parenthesized_expression "(((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']'))" (( "(") (binary_expression "((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')" (parenthesized_expression "((cVar6 != '.') || (!bVar5))" (( "(") (binary_expression "(cVar6 != '.') || (!bVar5)" (parenthesized_expression "(cVar6 != '.')" (( "(") (binary_expression "cVar6 != '.'" (identifier "cVar6") (!= "!=") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(!bVar5)" (( "(") (unary_expression "!bVar5" (! "!") (identifier "bVar5")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*pcVar14 != ']')" (( "(") (binary_expression "*pcVar14 != ']'" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (!= "!=") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_0008e724;" (goto "goto") (statement_identifier "LAB_0008e724") (; ";"))) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" (identifier "bVar5") (= "=") (false "false")) (; ";")) (expression_statement "pcVar8[iVar10] = '.';" (assignment_expression "pcVar8[iVar10] = '.'" (subscript_expression "pcVar8[iVar10]" (identifier "pcVar8") ([ "[") (identifier "iVar10") (] "]")) (= "=") (char_literal "'.'" (' "'") (character ".") (' "'"))) (; ";")) (expression_statement "pcVar8[iVar12] = *pcVar14;" (assignment_expression "pcVar8[iVar12] = *pcVar14" (subscript_expression "pcVar8[iVar12]" (identifier "pcVar8") ([ "[") (identifier "iVar12") (] "]")) (= "=") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14"))) (; ";")) (expression_statement "cVar6 = param_1[iVar11 + 1];" (assignment_expression "cVar6 = param_1[iVar11 + 1]" (identifier "cVar6") (= "=") (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 "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 2" (identifier "iVar10") (+ "+") (number_literal "2"))) (; ";")) (} "}")))))))) (} "}")))) (if_statement "if (cVar6 == ']') {\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }" (if "if") (parenthesized_expression "(cVar6 == ']')" (( "(") (binary_expression "cVar6 == ']'" (identifier "cVar6") (== "==") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")")) (compound_statement "{\n            pcVar8[iVar10] = ']';\n            goto LAB_0008e64f;\n          }" ({ "{") (expression_statement "pcVar8[iVar10] = ']';" (assignment_expression "pcVar8[iVar10] = ']'" (subscript_expression "pcVar8[iVar10]" (identifier "pcVar8") ([ "[") (identifier "iVar10") (] "]")) (= "=") (char_literal "']'" (' "'") (character "]") (' "'"))) (; ";")) (goto_statement "goto LAB_0008e64f;" (goto "goto") (statement_identifier "LAB_0008e64f") (; ";")) (} "}"))) (expression_statement "local_50 = (char *)local_4c;" (assignment_expression "local_50 = (char *)local_4c" (identifier "local_50") (= "=") (cast_expression "(char *)local_4c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_4c"))) (; ";")) (expression_statement "local_48 = pcVar9;" (assignment_expression "local_48 = pcVar9" (identifier "local_48") (= "=") (identifier "pcVar9")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar6 != '\0')" (( "(") (binary_expression "cVar6 != '\0'" (identifier "cVar6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (} "}")))) (labeled_statement "LAB_0008e4e3:\n      cVar6 = *local_58;" (statement_identifier "LAB_0008e4e3") (: ":") (expression_statement "cVar6 = *local_58;" (assignment_expression "cVar6 = *local_58" (identifier "cVar6") (= "=") (pointer_expression "*local_58" (* "*") (identifier "local_58"))) (; ";"))) (expression_statement "iVar12 = iVar13;" (assignment_expression "iVar12 = iVar13" (identifier "iVar12") (= "=") (identifier "iVar13")) (; ";")) (if_statement "if (cVar6 == '\0') goto LAB_0008e5bc;" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0008e5bc;" (goto "goto") (statement_identifier "LAB_0008e5bc") (; ";"))) (} "}"))) (expression_statement "cVar6 = param_1[(int)local_50 + 1];" (assignment_expression "cVar6 = param_1[(int)local_50 + 1]" (identifier "cVar6") (= "=") (subscript_expression "param_1[(int)local_50 + 1]" (identifier "param_1") ([ "[") (binary_expression "(int)local_50 + 1" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "1")) (] "]"))) (; ";")) (if_statement "if (cVar6 == '\0') {\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *local_48 = '\x01';\n      local_48 = pcVar8 + iVar12 + 1;\n      break;\n    }" ({ "{") (expression_statement "*local_48 = '\x01';" (assignment_expression "*local_48 = '\x01'" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "local_48 = pcVar8 + iVar12 + 1;" (assignment_expression "local_48 = pcVar8 + iVar12 + 1" (identifier "local_48") (= "=") (binary_expression "pcVar8 + iVar12 + 1" (binary_expression "pcVar8 + iVar12" (identifier "pcVar8") (+ "+") (identifier "iVar12")) (+ "+") (number_literal "1"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "pcVar9 = param_1 + (int)local_50 + 1;" (assignment_expression "pcVar9 = param_1 + (int)local_50 + 1" (identifier "pcVar9") (= "=") (binary_expression "param_1 + (int)local_50 + 1" (binary_expression "param_1 + (int)local_50" (identifier "param_1") (+ "+") (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50"))) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((param_2 & 0xc) == 0) {\n      if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }\n    else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\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_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }\nLAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;\n    }" ({ "{") (if_statement "if ((param_2 & 2) == 0) {\nLAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\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_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;\n        goto LAB_0008e560;\n      }" ({ "{") (labeled_statement "LAB_0008e53b:\n        if (cVar6 != '\x01') goto LAB_0008e53f;" (statement_identifier "LAB_0008e53b") (: ":") (if_statement "if (cVar6 != '\x01') goto LAB_0008e53f;" (if "if") (parenthesized_expression "(cVar6 != '\x01')" (( "(") (binary_expression "cVar6 != '\x01'" (identifier "cVar6") (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (goto_statement "goto LAB_0008e53f;" (goto "goto") (statement_identifier "LAB_0008e53f") (; ";")))) (goto_statement "goto LAB_0008e560;" (goto "goto") (statement_identifier "LAB_0008e560") (; ";")) (} "}"))) (labeled_statement "LAB_0008e537:\n      if (cVar6 != '/') goto LAB_0008e53b;" (statement_identifier "LAB_0008e537") (: ":") (if_statement "if (cVar6 != '/') goto LAB_0008e53b;" (if "if") (parenthesized_expression "(cVar6 != '/')" (( "(") (binary_expression "cVar6 != '/'" (identifier "cVar6") (!= "!=") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (goto_statement "goto LAB_0008e53b;" (goto "goto") (statement_identifier "LAB_0008e53b") (; ";")))) (} "}")) (else_clause "else {\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }" (else "else") (compound_statement "{\n      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }\n      if ((param_2 & 2) != 0) goto LAB_0008e537;\nLAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }\n      if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }\n    }" ({ "{") (if_statement "if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }" (if "if") (parenthesized_expression "((cVar6 == '\x01') || (cVar6 == '\x7f'))" (( "(") (binary_expression "(cVar6 == '\x01') || (cVar6 == '\x7f')" (parenthesized_expression "(cVar6 == '\x01')" (( "(") (binary_expression "cVar6 == '\x01'" (identifier "cVar6") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(cVar6 == '\x7f')" (( "(") (binary_expression "cVar6 == '\x7f'" (identifier "cVar6") (== "==") (char_literal "'\x7f'" (' "'") (escape_sequence "\x7f") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        iVar11 = (int)local_50 + 2;\n        *local_48 = *pcVar9;\n        iVar10 = iVar12;\nLAB_0008e64f:\n        iVar13 = iVar10 + 1;\n        local_58 = param_1 + iVar11;\n        local_50 = (char *)iVar11;\n        local_48 = pcVar8 + iVar13;\n        goto LAB_0008e4e3;\n      }" ({ "{") (expression_statement "iVar11 = (int)local_50 + 2;" (assignment_expression "iVar11 = (int)local_50 + 2" (identifier "iVar11") (= "=") (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*local_48 = *pcVar9;" (assignment_expression "*local_48 = *pcVar9" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (= "=") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9"))) (; ";")) (expression_statement "iVar10 = iVar12;" (assignment_expression "iVar10 = iVar12" (identifier "iVar10") (= "=") (identifier "iVar12")) (; ";")) (labeled_statement "LAB_0008e64f:\n        iVar13 = iVar10 + 1;" (statement_identifier "LAB_0008e64f") (: ":") (expression_statement "iVar13 = iVar10 + 1;" (assignment_expression "iVar13 = iVar10 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "local_58 = param_1 + iVar11;" (assignment_expression "local_58 = param_1 + iVar11" (identifier "local_58") (= "=") (binary_expression "param_1 + iVar11" (identifier "param_1") (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "local_50 = (char *)iVar11;" (assignment_expression "local_50 = (char *)iVar11" (identifier "local_50") (= "=") (cast_expression "(char *)iVar11" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar11"))) (; ";")) (expression_statement "local_48 = pcVar8 + iVar13;" (assignment_expression "local_48 = pcVar8 + iVar13" (identifier "local_48") (= "=") (binary_expression "pcVar8 + iVar13" (identifier "pcVar8") (+ "+") (identifier "iVar13"))) (; ";")) (goto_statement "goto LAB_0008e4e3;" (goto "goto") (statement_identifier "LAB_0008e4e3") (; ";")) (} "}"))) (if_statement "if ((param_2 & 2) != 0) goto LAB_0008e537;" (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_0008e537;" (goto "goto") (statement_identifier "LAB_0008e537") (; ";"))) (labeled_statement "LAB_0008e53f:\n      if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }" (statement_identifier "LAB_0008e53f") (: ":") (if_statement "if ((param_2 & 4) == 0) {\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\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 "{\nLAB_0008e560:\n        *local_48 = '\\';\n        cVar6 = *pcVar9;\n        local_48 = pcVar8 + iVar12 + 1;\n        if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }\n        break;\n      }" ({ "{") (labeled_statement "LAB_0008e560:\n        *local_48 = '\\';" (statement_identifier "LAB_0008e560") (: ":") (expression_statement "*local_48 = '\\';" (assignment_expression "*local_48 = '\\'" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (= "=") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) (; ";"))) (expression_statement "cVar6 = *pcVar9;" (assignment_expression "cVar6 = *pcVar9" (identifier "cVar6") (= "=") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9"))) (; ";")) (expression_statement "local_48 = pcVar8 + iVar12 + 1;" (assignment_expression "local_48 = pcVar8 + iVar12 + 1" (identifier "local_48") (= "=") (binary_expression "pcVar8 + iVar12 + 1" (binary_expression "pcVar8 + iVar12" (identifier "pcVar8") (+ "+") (identifier "iVar12")) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (cVar6 != '\0') {\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }" (if "if") (parenthesized_expression "(cVar6 != '\0')" (( "(") (binary_expression "cVar6 != '\0'" (identifier "cVar6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          local_4c = (int)local_50 + 2;\n          iVar13 = iVar12 + 2;\n          local_58 = param_1 + local_4c;\n          pcVar14 = local_48;\n          pcVar9 = pcVar8 + iVar13;\n          goto LAB_0008e4d7;\n        }" ({ "{") (expression_statement "local_4c = (int)local_50 + 2;" (assignment_expression "local_4c = (int)local_50 + 2" (identifier "local_4c") (= "=") (binary_expression "(int)local_50 + 2" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar13 = iVar12 + 2;" (assignment_expression "iVar13 = iVar12 + 2" (identifier "iVar13") (= "=") (binary_expression "iVar12 + 2" (identifier "iVar12") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_58 = param_1 + local_4c;" (assignment_expression "local_58 = param_1 + local_4c" (identifier "local_58") (= "=") (binary_expression "param_1 + local_4c" (identifier "param_1") (+ "+") (identifier "local_4c"))) (; ";")) (expression_statement "pcVar14 = local_48;" (assignment_expression "pcVar14 = local_48" (identifier "pcVar14") (= "=") (identifier "local_48")) (; ";")) (expression_statement "pcVar9 = pcVar8 + iVar13;" (assignment_expression "pcVar9 = pcVar8 + iVar13" (identifier "pcVar9") (= "=") (binary_expression "pcVar8 + iVar13" (identifier "pcVar8") (+ "+") (identifier "iVar13"))) (; ";")) (goto_statement "goto LAB_0008e4d7;" (goto "goto") (statement_identifier "LAB_0008e4d7") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}")))) (if_statement "if ((byte)(cVar6 - 0x24U) < 0x59) {\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }" (if "if") (parenthesized_expression "((byte)(cVar6 - 0x24U) < 0x59)" (( "(") (binary_expression "(byte)(cVar6 - 0x24U) < 0x59" (call_expression "(byte)(cVar6 - 0x24U)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(cVar6 - 0x24U)" (( "(") (binary_expression "cVar6 - 0x24U" (identifier "cVar6") (- "-") (number_literal "0x24U")) () ")"))) (< "<") (number_literal "0x59")) () ")")) (compound_statement "{\n                    \n                    \n        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();\n        return pcVar8;\n      }" ({ "{") (expression_statement "pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))();" (assignment_expression "pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))()" (identifier "pcVar8") (= "=") (cast_expression "(char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09))" (( "(") (pointer_expression "*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09)" (* "*") (cast_expression "(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09)" (( "(") (binary_expression "*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI + 0xe3c09" (binary_expression "*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)\n                                   + unaff_EDI" (pointer_expression "*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)" (( "(") (binary_expression "unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4" (binary_expression "unaff_EDI + 0x86089" (identifier "unaff_EDI") (+ "+") (number_literal "0x86089")) (+ "+") (binary_expression "(uint)(byte)(cVar6 - 0x24U) * 4" (call_expression "(uint)(byte)(cVar6 - 0x24U)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(cVar6 - 0x24U)" (( "(") (binary_expression "cVar6 - 0x24U" (identifier "cVar6") (- "-") (number_literal "0x24U")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "0xe3c09")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return pcVar8;" (return "return") (identifier "pcVar8") (; ";")) (} "}"))) (} "}")))) (expression_statement "cVar6 = *pcVar9;" (assignment_expression "cVar6 = *pcVar9" (identifier "cVar6") (= "=") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9"))) (; ";")) (expression_statement "local_50 = (char *)((int)local_50 + 1);" (assignment_expression "local_50 = (char *)((int)local_50 + 1)" (identifier "local_50") (= "=") (cast_expression "(char *)((int)local_50 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_50 + 1)" (( "(") (binary_expression "(int)local_50 + 1" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar6 != '\0')" (( "(") (binary_expression "cVar6 != '\0'" (identifier "cVar6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (labeled_statement "LAB_0008e5bc:\n  *local_48 = '\0';" (statement_identifier "LAB_0008e5bc") (: ":") (expression_statement "*local_48 = '\0';" (assignment_expression "*local_48 = '\0'" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";"))) (return_statement "return pcVar8;" (return "return") (identifier "pcVar8") (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

char * function_1(char *var_9,int var_5)

{
  char *pcVar1;
  char var_15;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  char var_6;
  size_t var_4;
  char *var_7;
  char *pcVar9;
  int var_13;
  int var_14;
  int var_8;
  int var_11;
  char *pcVar14;
  int var_16;
  char *local_58;
  char *var_12;
  int var_10;
  char *local_48;
  
  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_48 = var_7;
    if (var_6 == '\0') goto LAB_0008e5bc;
  }
  else if (var_9[1] == '\0') {
    *var_7 = '\0';
    return var_7;
  }
  bVar4 = false;
  bVar5 = false;
  bVar3 = false;
  var_12 = (char *)0x0;
  var_8 = 0;
  do {
    while (local_48 = var_7 + var_8, var_6 != '\x01') {
      var_10 = (int)var_12 + 1;
      local_58 = var_9 + var_10;
      var_11 = var_8 + 1;
      pcVar9 = var_7 + var_11;
      pcVar14 = local_48;
      if ((var_5 & 4U) == 0) {
        if (var_6 == '\\') {
          *local_48 = '\\';
          var_6 = *local_58;
          local_48 = pcVar9;
          if (var_6 == '\0') goto LAB_0008e5bc;
          var_11 = var_8 + 2;
          pcVar14 = pcVar9;
          pcVar9 = var_7 + var_11;
          if ((((type_1)var_5 >> 3 & 1) == 0) || (var_6 != '\x01')) {
            var_10 = (int)var_12 + 2;
          }
          else {
            if ((var_9[(int)var_12 + 2] != '\x01') && (var_9[(int)var_12 + 2] != '\x7f'))
            {
              var_10 = (int)var_12 + 2;
              local_58 = var_9 + var_10;
              var_6 = '\x01';
              goto LAB_0008e4d7;
            }
            var_10 = (int)var_12 + 3;
            var_6 = var_9[(int)var_12 + 2];
          }
          local_58 = var_9 + var_10;
        }
LAB_0008e4d7:
        local_48 = pcVar9;
        *pcVar14 = var_6;
        var_12 = (char *)var_10;
      }
      else {
        if (((var_12 != (char *)0x0) && (var_9[(int)var_12 + -1] == '\x01')) ||
           (var_6 != '[')) goto LAB_0008e4d7;
        *local_48 = '[';
        var_14 = (int)var_12 + 2;
        var_6 = *local_58;
        var_13 = var_11;
        pcVar14 = pcVar9;
        if (var_6 == '^') {
          var_13 = var_8 + 2;
          *pcVar9 = '^';
          var_14 = (int)var_12 + 3;
          var_6 = var_9[(int)var_12 + 2];
          pcVar14 = var_7 + var_13;
        }
        var_12 = pcVar14;
        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_48 = var_12;
          goto LAB_0008e5bc;
        }
        do {
          local_48 = var_7 + var_13;
          pcVar14 = var_9 + var_14;
          if (var_6 == '\x01') {
            if (*pcVar14 == '\0') goto LAB_0008e5bc;
            *local_48 = *pcVar14;
            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 = *pcVar14;
              if (var_15 == ':') {
                pcVar1 = var_7 + var_13;
                var_13 = var_13 + 2;
                bVar3 = true;
                *pcVar1 = '[';
                var_7[var_8] = *pcVar14;
                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] = *pcVar14;
                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;
                  bVar4 = true;
                }
                else {
                  var_14 = var_14 + 2;
                  bVar4 = true;
                  var_13 = var_13 + 2;
                }
              }
              else {
                if (var_15 != '.') goto LAB_0008e724;
                var_7[var_13] = '[';
                var_7[var_13 + 1] = *pcVar14;
                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;
                  bVar5 = true;
                  var_13 = var_13 + 3;
                }
                else {
                  var_14 = var_14 + 2;
                  bVar5 = true;
                  var_13 = var_13 + 2;
                }
              }
            }
            else if ((var_6 == ':') && (bVar3)) {
              if (*pcVar14 != ']') goto LAB_0008e724;
              bVar3 = false;
              var_7[var_13] = ':';
              var_7[var_8] = *pcVar14;
              var_6 = var_9[var_14 + 1];
              var_14 = var_14 + 2;
              var_13 = var_13 + 2;
            }
            else if ((var_6 == '=') && (bVar4)) {
              if (*pcVar14 == ']') {
                bVar4 = false;
                var_7[var_13] = '=';
                var_7[var_8] = *pcVar14;
                var_6 = var_9[var_14 + 1];
                var_14 = var_14 + 2;
                var_13 = var_13 + 2;
              }
              else {
LAB_0008e724:
                *local_48 = var_6;
                var_6 = *pcVar14;
                var_13 = var_8;
                var_14 = var_14 + 1;
              }
            }
            else {
              if (((var_6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;
              bVar5 = false;
              var_7[var_13] = '.';
              var_7[var_8] = *pcVar14;
              var_6 = var_9[var_14 + 1];
              var_14 = var_14 + 2;
              var_13 = var_13 + 2;
            }
          }
          if (var_6 == ']') {
            var_7[var_13] = ']';
            goto LAB_0008e64f;
          }
          var_12 = (char *)var_10;
          local_48 = pcVar9;
        } while (var_6 != '\0');
      }
LAB_0008e4e3:
      var_6 = *local_58;
      var_8 = var_11;
      if (var_6 == '\0') goto LAB_0008e5bc;
    }
    var_6 = var_9[(int)var_12 + 1];
    if (var_6 == '\0') {
      *local_48 = '\x01';
      local_48 = var_7 + var_8 + 1;
      break;
    }
    pcVar9 = var_9 + (int)var_12 + 1;
    if ((var_5 & 0xcU) == 0) {
      if ((var_5 & 2U) == 0) {
LAB_0008e53b:
        if (var_6 != '\x01') goto LAB_0008e53f;
        goto _L138;
      }
LAB_0008e537:
      if (var_6 != '/') goto LAB_0008e53b;
    }
    else {
      if ((var_6 == '\x01') || (var_6 == '\x7f')) {
        var_14 = (int)var_12 + 2;
        *local_48 = *pcVar9;
        var_13 = var_8;
LAB_0008e64f:
        var_11 = var_13 + 1;
        local_58 = var_9 + var_14;
        var_12 = (char *)var_14;
        local_48 = var_7 + var_11;
        goto LAB_0008e4e3;
      }
      if ((var_5 & 2U) != 0) goto LAB_0008e537;
LAB_0008e53f:
      if ((var_5 & 4U) == 0) {
_L138:
        *local_48 = '\\';
        var_6 = *pcVar9;
        local_48 = var_7 + var_8 + 1;
        if (var_6 != '\0') {
          var_10 = (int)var_12 + 2;
          var_11 = var_8 + 2;
          local_58 = var_9 + var_10;
          pcVar14 = local_48;
          pcVar9 = var_7 + var_11;
          goto LAB_0008e4d7;
        }
        break;
      }
      if ((byte)(var_6 - 0x24U) < 0x59) {
                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        var_7 = (char *)(*(type_2 *)(*(int *)(var_16 + 0x86089 + (type_1)(byte)(var_6 - 0x24U) * 4)
                                   + var_16 + 0xe3c09))();
        return var_7;
      }
    }
    var_6 = *pcVar9;
    var_12 = (char *)((int)var_12 + 1);
  } while (var_6 != '\0');
LAB_0008e5bc:
  *local_48 = '\0';
  return var_7;
}


(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: (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: (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: (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))) (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: (goto_statement label: (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))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) body: (compound_statement (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: (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: (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: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (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: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (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: (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: (char_literal (escape_sequence)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (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)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) 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: (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)))))) right: (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: (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: (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)))) (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (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))))) (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)))) (break_statement))) (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)))) (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 (escape_sequence)))) consequence: (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) 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: (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (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: (identifier) right: (identifier)))) (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 (labeled_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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier)))) (break_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (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)) right: (number_literal)))))) arguments: (argument_list))))) (return_statement (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (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))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence))))) (return_statement (identifier)))))

char * MASKED(char *param_1,uint param_2)

{
  char *pcVar1;
  char cVar2;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  char cVar6;
  size_t sVar7;
  char *pcVar8;
  char *pcVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  char *pcVar14;
  int unaff_EDI;
  char *local_58;
  char *local_50;
  int local_4c;
  char *local_48;
  
  FUN_00032201();
  sVar7 = strlen(param_1);
  pcVar8 = (char *)xmalloc(sVar7 * 2 + 1);
  cVar6 = *param_1;
  if (((param_2 & 1) == 0) || (cVar6 != '\x7f')) {
    local_48 = pcVar8;
    if (cVar6 == '\0') goto LAB_0008e5bc;
  }
  else if (param_1[1] == '\0') {
    *pcVar8 = '\0';
    return pcVar8;
  }
  bVar4 = false;
  bVar5 = false;
  bVar3 = false;
  local_50 = (char *)0x0;
  iVar12 = 0;
  do {
    while (local_48 = pcVar8 + iVar12, cVar6 != '\x01') {
      local_4c = (int)local_50 + 1;
      local_58 = param_1 + local_4c;
      iVar13 = iVar12 + 1;
      pcVar9 = pcVar8 + iVar13;
      pcVar14 = local_48;
      if ((param_2 & 4) == 0) {
        if (cVar6 == '\\') {
          *local_48 = '\\';
          cVar6 = *local_58;
          local_48 = pcVar9;
          if (cVar6 == '\0') goto LAB_0008e5bc;
          iVar13 = iVar12 + 2;
          pcVar14 = pcVar9;
          pcVar9 = pcVar8 + iVar13;
          if (((param_2 >> 3 & 1) == 0) || (cVar6 != '\x01')) {
            local_4c = (int)local_50 + 2;
          }
          else {
            if ((param_1[(int)local_50 + 2] != '\x01') && (param_1[(int)local_50 + 2] != '\x7f')) {
              local_4c = (int)local_50 + 2;
              local_58 = param_1 + local_4c;
              cVar6 = '\x01';
              goto LAB_0008e4d7;
            }
            local_4c = (int)local_50 + 3;
            cVar6 = param_1[(int)local_50 + 2];
          }
          local_58 = param_1 + local_4c;
        }
LAB_0008e4d7:
        local_48 = pcVar9;
        *pcVar14 = cVar6;
        local_50 = (char *)local_4c;
      }
      else {
        if (((local_50 != (char *)0x0) && (param_1[(int)local_50 + -1] == '\x01')) || (cVar6 != '[')
           ) goto LAB_0008e4d7;
        *local_48 = '[';
        iVar11 = (int)local_50 + 2;
        cVar6 = *local_58;
        iVar10 = iVar13;
        pcVar14 = pcVar9;
        if (cVar6 == '^') {
          iVar10 = iVar12 + 2;
          *pcVar9 = '^';
          iVar11 = (int)local_50 + 3;
          cVar6 = param_1[(int)local_50 + 2];
          pcVar14 = pcVar8 + iVar10;
        }
        local_50 = pcVar14;
        if (cVar6 == ']') {
          iVar10 = iVar10 + 1;
          *local_50 = ']';
          cVar6 = param_1[iVar11];
          iVar11 = iVar11 + 1;
          local_50 = pcVar8 + iVar10;
        }
        if (cVar6 == '\0') {
          local_48 = local_50;
          goto LAB_0008e5bc;
        }
        do {
          local_48 = pcVar8 + iVar10;
          pcVar14 = param_1 + iVar11;
          if (cVar6 == '\x01') {
            if (*pcVar14 == '\0') goto LAB_0008e5bc;
            *local_48 = *pcVar14;
            cVar6 = param_1[iVar11 + 1];
            iVar10 = iVar10 + 1;
            iVar11 = iVar11 + 2;
          }
          else {
            iVar12 = iVar10 + 1;
            if (cVar6 == '[') {
              cVar2 = *pcVar14;
              if (cVar2 == ':') {
                pcVar1 = pcVar8 + iVar10;
                iVar10 = iVar10 + 2;
                bVar3 = true;
                *pcVar1 = '[';
                pcVar8[iVar12] = *pcVar14;
                cVar6 = param_1[iVar11 + 1];
                iVar11 = iVar11 + 2;
              }
              else if (cVar2 == '=') {
                pcVar8[iVar10] = '[';
                pcVar8[iVar10 + 1] = *pcVar14;
                cVar6 = param_1[iVar11 + 1];
                if (cVar6 == ']') {
                  pcVar8[iVar10 + 2] = ']';
                  iVar10 = iVar10 + 3;
                  cVar6 = param_1[iVar11 + 2];
                  iVar11 = iVar11 + 3;
                  bVar4 = true;
                }
                else {
                  iVar11 = iVar11 + 2;
                  bVar4 = true;
                  iVar10 = iVar10 + 2;
                }
              }
              else {
                if (cVar2 != '.') goto LAB_0008e724;
                pcVar8[iVar10] = '[';
                pcVar8[iVar10 + 1] = *pcVar14;
                cVar6 = param_1[iVar11 + 1];
                if (cVar6 == ']') {
                  pcVar8[iVar10 + 2] = ']';
                  cVar6 = param_1[iVar11 + 2];
                  iVar11 = iVar11 + 3;
                  bVar5 = true;
                  iVar10 = iVar10 + 3;
                }
                else {
                  iVar11 = iVar11 + 2;
                  bVar5 = true;
                  iVar10 = iVar10 + 2;
                }
              }
            }
            else if ((cVar6 == ':') && (bVar3)) {
              if (*pcVar14 != ']') goto LAB_0008e724;
              bVar3 = false;
              pcVar8[iVar10] = ':';
              pcVar8[iVar12] = *pcVar14;
              cVar6 = param_1[iVar11 + 1];
              iVar11 = iVar11 + 2;
              iVar10 = iVar10 + 2;
            }
            else if ((cVar6 == '=') && (bVar4)) {
              if (*pcVar14 == ']') {
                bVar4 = false;
                pcVar8[iVar10] = '=';
                pcVar8[iVar12] = *pcVar14;
                cVar6 = param_1[iVar11 + 1];
                iVar11 = iVar11 + 2;
                iVar10 = iVar10 + 2;
              }
              else {
LAB_0008e724:
                *local_48 = cVar6;
                cVar6 = *pcVar14;
                iVar10 = iVar12;
                iVar11 = iVar11 + 1;
              }
            }
            else {
              if (((cVar6 != '.') || (!bVar5)) || (*pcVar14 != ']')) goto LAB_0008e724;
              bVar5 = false;
              pcVar8[iVar10] = '.';
              pcVar8[iVar12] = *pcVar14;
              cVar6 = param_1[iVar11 + 1];
              iVar11 = iVar11 + 2;
              iVar10 = iVar10 + 2;
            }
          }
          if (cVar6 == ']') {
            pcVar8[iVar10] = ']';
            goto LAB_0008e64f;
          }
          local_50 = (char *)local_4c;
          local_48 = pcVar9;
        } while (cVar6 != '\0');
      }
LAB_0008e4e3:
      cVar6 = *local_58;
      iVar12 = iVar13;
      if (cVar6 == '\0') goto LAB_0008e5bc;
    }
    cVar6 = param_1[(int)local_50 + 1];
    if (cVar6 == '\0') {
      *local_48 = '\x01';
      local_48 = pcVar8 + iVar12 + 1;
      break;
    }
    pcVar9 = param_1 + (int)local_50 + 1;
    if ((param_2 & 0xc) == 0) {
      if ((param_2 & 2) == 0) {
LAB_0008e53b:
        if (cVar6 != '\x01') goto LAB_0008e53f;
        goto LAB_0008e560;
      }
LAB_0008e537:
      if (cVar6 != '/') goto LAB_0008e53b;
    }
    else {
      if ((cVar6 == '\x01') || (cVar6 == '\x7f')) {
        iVar11 = (int)local_50 + 2;
        *local_48 = *pcVar9;
        iVar10 = iVar12;
LAB_0008e64f:
        iVar13 = iVar10 + 1;
        local_58 = param_1 + iVar11;
        local_50 = (char *)iVar11;
        local_48 = pcVar8 + iVar13;
        goto LAB_0008e4e3;
      }
      if ((param_2 & 2) != 0) goto LAB_0008e537;
LAB_0008e53f:
      if ((param_2 & 4) == 0) {
LAB_0008e560:
        *local_48 = '\\';
        cVar6 = *pcVar9;
        local_48 = pcVar8 + iVar12 + 1;
        if (cVar6 != '\0') {
          local_4c = (int)local_50 + 2;
          iVar13 = iVar12 + 2;
          local_58 = param_1 + local_4c;
          pcVar14 = local_48;
          pcVar9 = pcVar8 + iVar13;
          goto LAB_0008e4d7;
        }
        break;
      }
      if ((byte)(cVar6 - 0x24U) < 0x59) {
                    /* WARNING: Could not recover jumptable at 0x0008e55e. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        pcVar8 = (char *)(*(code *)(*(int *)(unaff_EDI + 0x86089 + (uint)(byte)(cVar6 - 0x24U) * 4)
                                   + unaff_EDI + 0xe3c09))();
        return pcVar8;
      }
    }
    cVar6 = *pcVar9;
    local_50 = (char *)((int)local_50 + 1);
  } while (cVar6 != '\0');
LAB_0008e5bc:
  *local_48 = '\0';
  return pcVar8;
}

