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

bool __regparm3 d_demangle_callback_constprop_21(byte *param_1,code *param_2,undefined4 param_3)

{
  byte bVar1;
  int iVar2;
  byte **ppbVar3;
  code *pcVar4;
  byte **ppbVar5;
  byte **ppbVar6;
  size_t sVar7;
  byte *pbVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  undefined4 *puVar12;
  byte bVar13;
  byte *pbVar14;
  uint uVar15;
  bool bVar16;
  bool bVar17;
  int iStackY_1e0;
  undefined1 auStack_1cc [12];
  int local_1c0;
  byte **local_1bc;
  undefined4 local_1b8;
  code *local_1b4;
  byte *local_1b0;
  byte *local_1a0;
  byte *local_19c;
  uint local_198;
  byte **local_194;
  int local_190;
  int local_18c;
  byte *local_188;
  undefined1 *local_184;
  undefined4 local_180;
  size_t local_17c;
  undefined4 local_178;
  undefined4 local_174;
  undefined4 local_170;
  undefined4 local_16c;
  undefined1 local_168 [256];
  int local_68;
  undefined1 local_64;
  code *local_60;
  undefined4 local_5c;
  undefined4 local_58;
  undefined4 local_54;
  int local_50;
  undefined4 local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined1 *local_38;
  undefined4 local_34;
  int local_30;
  undefined1 *local_2c;
  undefined4 local_28;
  int local_24;
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x27983b;
  bVar13 = *param_1;
  local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);
  bVar16 = bVar13 < 0x5f;
  bVar17 = bVar13 == 0x5f;
  if (bVar17) {
    bVar13 = 1;
    bVar16 = param_1[1] < 0x5a;
    bVar17 = param_1[1] == 0x5a;
    if (bVar17) goto LAB_002798c0;
  }
  iVar10 = 8;
  pbVar8 = param_1;
  pbVar14 = (byte *)"_GLOBAL_";
  do {
    if (iVar10 == 0) break;
    iVar10 = iVar10 + -1;
    bVar16 = *pbVar8 < *pbVar14;
    bVar17 = *pbVar8 == *pbVar14;
    pbVar8 = pbVar8 + 1;
    pbVar14 = pbVar14 + 1;
  } while (bVar17);
  bVar13 = 0;
  if (((((!bVar16 && !bVar17) == bVar16) &&
       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&
      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&
     (bVar13 = 0, param_1[10] == 0x5f)) {
    bVar13 = (bVar1 != 0x49) + 2;
  }
LAB_002798c0:
  iStackY_1e0 = 0x2798cf;
  local_1b8 = param_3;
  local_1b4 = param_2;
  local_1b0 = param_1;
  local_17c = strlen((char *)param_1);
  local_1a0 = param_1;
  local_19c = param_1 + local_17c;
  iVar10 = local_17c * -0x20;
  local_188 = (byte *)(local_17c * 2);
  local_198 = 0x11;
  uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;
  iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);
  local_184 = auStack_1cc + iVar2 + iVar10;
  local_18c = 0;
  local_180 = 0;
  local_178 = 0;
  local_174 = 0;
  local_170 = 0;
  local_16c = 0;
  local_190 = uVar15 * 4;
  if (bVar13 == 1) {
    if ((char)local_1bc != '_') {
      return false;
    }
    if (local_1b0[1] != 0x5a) {
      return false;
    }
    local_194 = (byte **)(local_1b0 + 2);
    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;
    pbVar8 = (byte *)d_encoding();
    ppbVar5 = local_1bc;
    pbVar14 = local_1b0;
    if ((local_198 & 1) == 0) {
      bVar13 = *(byte *)local_194;
    }
    else {
      bVar13 = *(byte *)local_194;
      ppbVar6 = &local_1a0;
      ppbVar3 = local_194;
      iVar11 = local_18c;
      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,
            pbVar8 = local_1b0, bVar13 == 0x2e) {
        bVar13 = *(byte *)((int)ppbVar3 + 1);
        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {
          bVar13 = *(byte *)((int)ppbVar3 + 2);
          local_194 = (byte **)((int)ppbVar3 + 2);
          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;
          do {
            do {
              local_194 = (byte **)((int)local_194 + 1);
              bVar13 = *(byte *)local_194;
            } while ((byte)(bVar13 + 0x9f) < 0x1a);
LAB_00279dce:
          } while (bVar13 == 0x5f);
        }
        else {
          if (9 < (byte)(bVar13 - 0x30)) {
            bVar13 = *(byte *)ppbVar3;
            ppbVar5 = local_1bc;
            break;
          }
          bVar13 = *(byte *)ppbVar3;
        }
        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {
          pbVar8 = (byte *)((int)local_194 + 2);
          local_194 = (byte **)((int)local_194 + 2);
          bVar13 = *pbVar8;
          while ((byte)(bVar13 - 0x30) < 10) {
            local_194 = (byte **)((int)local_194 + 1);
            bVar13 = *(byte *)local_194;
          }
        }
        if (iVar11 < (int)local_188) {
          local_18c = iVar11 + 1;
          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);
          puVar12[1] = 0;
          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;
          puVar12[1] = 0;
          *puVar12 = 0;
          puVar12[2] = ppbVar3;
          puVar12[3] = (int)local_194 - (int)ppbVar3;
        }
        else {
LAB_00279da0:
          puVar12 = (undefined4 *)0x0;
        }
        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;
        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;
        pbVar8 = (byte *)d_make_comp();
        ppbVar6 = local_1bc;
        ppbVar5 = local_1bc;
        pbVar14 = local_1b0;
        ppbVar3 = local_194;
        iVar11 = local_18c;
        bVar13 = *(byte *)local_194;
      }
    }
  }
  else if ((bVar13 == 0) || (3 < bVar13)) {
    local_194 = (byte **)param_1;
    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;
    pbVar8 = (byte *)d_type();
    bVar13 = *(byte *)local_194;
    ppbVar5 = local_1bc;
    pbVar14 = local_1b0;
  }
  else {
    local_1bc = (byte **)(local_1b0 + 0xb);
    local_194 = local_1bc;
    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {
      local_194 = (byte **)(local_1b0 + 0xd);
      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;
      d_encoding();
    }
    else {
      local_1c0 = uVar15 * 4;
      local_1b0 = (byte *)(local_17c * 2);
      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;
      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;
      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));
      if (0 < (int)local_1b0) {
        *(undefined4 *)(uVar15 * 4 + 4) = 0;
        local_18c = 1;
        if (sVar7 != 0) {
          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;
          *(undefined4 *)(uVar15 * 4) = 0;
          *(byte ***)(uVar15 * 4 + 8) = local_1bc;
        }
      }
    }
    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;
    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;
    pbVar8 = (byte *)d_make_comp();
    ppbVar3 = local_194;
    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;
    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;
    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));
    bVar13 = *(byte *)((int)ppbVar3 + sVar7);
    ppbVar5 = local_1bc;
    pbVar14 = local_1b0;
    local_194 = (byte **)((int)ppbVar3 + sVar7);
  }
  local_1b0 = pbVar14;
  local_1bc = ppbVar5;
  if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {
    local_64 = 0;
    local_68 = 0;
    local_58 = 0;
    local_54 = 0;
    local_44 = 0;
    local_40 = 0;
    local_50 = 0;
    local_4c = 0;
    local_48 = 0;
    local_3c = 0;
    local_38 = (undefined1 *)0x0;
    local_34 = 0;
    local_30 = 0;
    local_2c = (undefined1 *)0x0;
    local_28 = 0;
    local_24 = 0;
    local_60 = local_1b4;
    local_5c = local_1b8;
    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;
    d_count_templates_scopes();
    local_20 = 0;
    local_24 = local_24 * local_30;
    iVar11 = local_30;
    if (local_30 < 1) {
      iVar11 = 1;
    }
    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);
    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;
    iVar9 = local_24;
    if (local_24 < 1) {
      iVar9 = 1;
    }
    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);
    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;
    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;
    d_print_comp();
    iVar11 = local_68;
    local_168[local_68] = 0;
    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;
    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;
    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;
    pcVar4 = local_60;
    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;
    (*pcVar4)();
    return local_50 == 0;
  }
  return false;
}



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

bool __regparm3 FUN_00279830(byte *param_1,code *param_2,undefined4 param_3)

{
  byte bVar1;
  int iVar2;
  byte **ppbVar3;
  code *pcVar4;
  byte **ppbVar5;
  byte **ppbVar6;
  size_t sVar7;
  byte *pbVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  undefined4 *puVar12;
  byte bVar13;
  byte *pbVar14;
  uint uVar15;
  bool bVar16;
  bool bVar17;
  int iStackY_1e0;
  undefined1 auStack_1cc [12];
  int local_1c0;
  byte **local_1bc;
  undefined4 local_1b8;
  code *local_1b4;
  byte *local_1b0;
  byte *local_1a0;
  byte *local_19c;
  uint local_198;
  byte **local_194;
  int local_190;
  int local_18c;
  byte *local_188;
  undefined1 *local_184;
  undefined4 local_180;
  size_t local_17c;
  undefined4 local_178;
  undefined4 local_174;
  undefined4 local_170;
  undefined4 local_16c;
  undefined1 local_168 [256];
  int local_68;
  undefined1 local_64;
  code *local_60;
  undefined4 local_5c;
  undefined4 local_58;
  undefined4 local_54;
  int local_50;
  undefined4 local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined1 *local_38;
  undefined4 local_34;
  int local_30;
  undefined1 *local_2c;
  undefined4 local_28;
  int local_24;
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x27983b;
  bVar13 = *param_1;
  local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);
  bVar16 = bVar13 < 0x5f;
  bVar17 = bVar13 == 0x5f;
  if (bVar17) {
    bVar13 = 1;
    bVar16 = param_1[1] < 0x5a;
    bVar17 = param_1[1] == 0x5a;
    if (bVar17) goto LAB_002798c0;
  }
  iVar10 = 8;
  pbVar8 = param_1;
  pbVar14 = (byte *)"_GLOBAL_";
  do {
    if (iVar10 == 0) break;
    iVar10 = iVar10 + -1;
    bVar16 = *pbVar8 < *pbVar14;
    bVar17 = *pbVar8 == *pbVar14;
    pbVar8 = pbVar8 + 1;
    pbVar14 = pbVar14 + 1;
  } while (bVar17);
  bVar13 = 0;
  if (((((!bVar16 && !bVar17) == bVar16) &&
       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&
      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&
     (bVar13 = 0, param_1[10] == 0x5f)) {
    bVar13 = (bVar1 != 0x49) + 2;
  }
LAB_002798c0:
  iStackY_1e0 = 0x2798cf;
  local_1b8 = param_3;
  local_1b4 = param_2;
  local_1b0 = param_1;
  local_17c = strlen((char *)param_1);
  local_1a0 = param_1;
  local_19c = param_1 + local_17c;
  iVar10 = local_17c * -0x20;
  local_188 = (byte *)(local_17c * 2);
  local_198 = 0x11;
  uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;
  iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);
  local_184 = auStack_1cc + iVar2 + iVar10;
  local_18c = 0;
  local_180 = 0;
  local_178 = 0;
  local_174 = 0;
  local_170 = 0;
  local_16c = 0;
  local_190 = uVar15 * 4;
  if (bVar13 == 1) {
    if ((char)local_1bc != '_') {
      return false;
    }
    if (local_1b0[1] != 0x5a) {
      return false;
    }
    local_194 = (byte **)(local_1b0 + 2);
    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;
    pbVar8 = (byte *)FUN_002728e0();
    ppbVar5 = local_1bc;
    pbVar14 = local_1b0;
    if ((local_198 & 1) == 0) {
      bVar13 = *(byte *)local_194;
    }
    else {
      bVar13 = *(byte *)local_194;
      ppbVar6 = &local_1a0;
      ppbVar3 = local_194;
      iVar11 = local_18c;
      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,
            pbVar8 = local_1b0, bVar13 == 0x2e) {
        bVar13 = *(byte *)((int)ppbVar3 + 1);
        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {
          bVar13 = *(byte *)((int)ppbVar3 + 2);
          local_194 = (byte **)((int)ppbVar3 + 2);
          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;
          do {
            do {
              local_194 = (byte **)((int)local_194 + 1);
              bVar13 = *(byte *)local_194;
            } while ((byte)(bVar13 + 0x9f) < 0x1a);
LAB_00279dce:
          } while (bVar13 == 0x5f);
        }
        else {
          if (9 < (byte)(bVar13 - 0x30)) {
            bVar13 = *(byte *)ppbVar3;
            ppbVar5 = local_1bc;
            break;
          }
          bVar13 = *(byte *)ppbVar3;
        }
        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {
          pbVar8 = (byte *)((int)local_194 + 2);
          local_194 = (byte **)((int)local_194 + 2);
          bVar13 = *pbVar8;
          while ((byte)(bVar13 - 0x30) < 10) {
            local_194 = (byte **)((int)local_194 + 1);
            bVar13 = *(byte *)local_194;
          }
        }
        if (iVar11 < (int)local_188) {
          local_18c = iVar11 + 1;
          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);
          puVar12[1] = 0;
          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;
          puVar12[1] = 0;
          *puVar12 = 0;
          puVar12[2] = ppbVar3;
          puVar12[3] = (int)local_194 - (int)ppbVar3;
        }
        else {
LAB_00279da0:
          puVar12 = (undefined4 *)0x0;
        }
        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;
        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;
        pbVar8 = (byte *)FUN_0026fc10();
        ppbVar6 = local_1bc;
        ppbVar5 = local_1bc;
        pbVar14 = local_1b0;
        ppbVar3 = local_194;
        iVar11 = local_18c;
        bVar13 = *(byte *)local_194;
      }
    }
  }
  else if ((bVar13 == 0) || (3 < bVar13)) {
    local_194 = (byte **)param_1;
    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;
    pbVar8 = (byte *)FUN_002715c0();
    bVar13 = *(byte *)local_194;
    ppbVar5 = local_1bc;
    pbVar14 = local_1b0;
  }
  else {
    local_1bc = (byte **)(local_1b0 + 0xb);
    local_194 = local_1bc;
    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {
      local_194 = (byte **)(local_1b0 + 0xd);
      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;
      FUN_002728e0();
    }
    else {
      local_1c0 = uVar15 * 4;
      local_1b0 = (byte *)(local_17c * 2);
      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;
      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;
      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));
      if (0 < (int)local_1b0) {
        *(undefined4 *)(uVar15 * 4 + 4) = 0;
        local_18c = 1;
        if (sVar7 != 0) {
          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;
          *(undefined4 *)(uVar15 * 4) = 0;
          *(byte ***)(uVar15 * 4 + 8) = local_1bc;
        }
      }
    }
    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;
    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;
    pbVar8 = (byte *)FUN_0026fc10();
    ppbVar3 = local_194;
    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;
    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;
    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));
    bVar13 = *(byte *)((int)ppbVar3 + sVar7);
    ppbVar5 = local_1bc;
    pbVar14 = local_1b0;
    local_194 = (byte **)((int)ppbVar3 + sVar7);
  }
  local_1b0 = pbVar14;
  local_1bc = ppbVar5;
  if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {
    local_64 = 0;
    local_68 = 0;
    local_58 = 0;
    local_54 = 0;
    local_44 = 0;
    local_40 = 0;
    local_50 = 0;
    local_4c = 0;
    local_48 = 0;
    local_3c = 0;
    local_38 = (undefined1 *)0x0;
    local_34 = 0;
    local_30 = 0;
    local_2c = (undefined1 *)0x0;
    local_28 = 0;
    local_24 = 0;
    local_60 = local_1b4;
    local_5c = local_1b8;
    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;
    FUN_0026fce0();
    local_20 = 0;
    local_24 = local_24 * local_30;
    iVar11 = local_30;
    if (local_30 < 1) {
      iVar11 = 1;
    }
    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);
    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;
    iVar9 = local_24;
    if (local_24 < 1) {
      iVar9 = 1;
    }
    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);
    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;
    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;
    FUN_00273030();
    iVar11 = local_68;
    local_168[local_68] = 0;
    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;
    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;
    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;
    pcVar4 = local_60;
    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;
    (*pcVar4)();
    return local_50 == 0;
  }
  return false;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00035840
ADD EBX,0x1157c5
SUB ESP,0x1bc
MOV dword ptr [EBP + 0xfffffe54],EAX
MOVZX EAX,byte ptr [EAX]
MOV dword ptr [EBP + 0xfffffe50],EDX
MOV dword ptr [EBP + 0xfffffe4c],ECX
MOV byte ptr [EBP + 0xfffffe48],AL
CMP AL,0x5f
JZ 0x00279be8
MOV ESI,dword ptr [EBP + 0xfffffe54]
MOV ECX,0x8
LEA EDI,[EBX + 0xfff11b96]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
XOR ESI,ESI
TEST AL,AL
JNZ 0x002798c0
MOV EAX,dword ptr [EBP + 0xfffffe54]
MOVZX EAX,byte ptr [EAX + 0x8]
CMP AL,0x2e
SETZ CL
CMP AL,0x5f
SETZ DL
OR CL,DL
JNZ 0x002798a4
CMP AL,0x24
JNZ 0x002798c0
MOV EAX,dword ptr [EBP + 0xfffffe54]
MOVZX EAX,byte ptr [EAX + 0x9]
CMP AL,0x44
JZ 0x00279c40
XOR ESI,ESI
CMP AL,0x49
JZ 0x00279c40
MOV EDI,dword ptr [EBP + 0xfffffe54]
SUB ESP,0xc
PUSH EDI
CALL 0x000295f0
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffffe64],EDI
MOV ECX,EAX
LEA EDX,[EDI + EAX*0x1]
MOV dword ptr [EBP + 0xfffffe70],EDI
SHL ECX,0x5
MOV dword ptr [EBP + 0xfffffe68],EDX
LEA EDX,[EAX + EAX*0x1]
SUB ESP,ECX
MOV dword ptr [EBP + 0xfffffe88],EAX
LEA EAX,[EAX*0x4 + 0xf]
LEA EDI,[ESP + 0x3]
AND EAX,0xfffffff0
MOV dword ptr [EBP + 0xfffffe7c],EDX
MOV dword ptr [EBP + 0xfffffe6c],0x11
SHR EDI,0x2
SUB ESP,EAX
LEA ECX,[EDI*0x4 + 0x0]
MOV dword ptr [EBP + 0xfffffe80],ESP
MOV dword ptr [EBP + 0xfffffe78],0x0
MOV dword ptr [EBP + 0xfffffe84],0x0
MOV dword ptr [EBP + 0xfffffe8c],0x0
MOV dword ptr [EBP + 0xfffffe90],0x0
MOV dword ptr [EBP + 0xfffffe94],0x0
MOV dword ptr [EBP + 0xfffffe98],0x0
MOV dword ptr [EBP + 0xfffffe74],ECX
CMP ESI,0x1
JZ 0x00279b90
TEST ESI,ESI
JZ 0x00279a60
CMP ESI,0x3
JA 0x00279a60
MOV EAX,dword ptr [EBP + 0xfffffe54]
ADD EAX,0xb
MOV dword ptr [EBP + 0xfffffe48],EAX
MOV dword ptr [EBP + 0xfffffe70],EAX
MOV EAX,dword ptr [EBP + 0xfffffe54]
CMP byte ptr [EAX + 0xb],0x5f
JZ 0x00279c08
SUB ESP,0xc
MOV dword ptr [EBP + 0xfffffe44],ECX
MOV dword ptr [EBP + 0xfffffe54],EDX
PUSH dword ptr [EBP + 0xfffffe48]
CALL 0x000295f0
MOV EDX,dword ptr [EBP + 0xfffffe54]
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xfffffe44]
TEST EDX,EDX
JLE 0x00279c68
MOV dword ptr [EDI*0x4 + 0x4],0x0
MOV dword ptr [EBP + 0xfffffe78],0x1
TEST EAX,EAX
JZ 0x00279c68
MOV EDX,dword ptr [EBP + 0xfffffe48]
MOV dword ptr [EDI*0x4 + 0xc],EAX
MOV dword ptr [EDI*0x4 + 0x0],0x0
MOV dword ptr [EDI*0x4 + 0x8],EDX
LEA EDI,[EBP + 0xfffffe64]
XOR EDX,EDX
CMP ESI,0x2
MOV EAX,EDI
SETNZ DL
SUB ESP,0xc
PUSH 0x0
ADD EDX,0x43
CALL 0x0026fc10
MOV EDI,dword ptr [EBP + 0xfffffe70]
MOV ESI,EAX
MOV dword ptr [ESP],EDI
CALL 0x000295f0
ADD ESP,0x10
ADD EDI,EAX
MOV dword ptr [EBP + 0xfffffe70],EDI
MOVZX EAX,byte ptr [EDI]
TEST ESI,ESI
JNZ 0x00279a7a
LEA ESP,[EBP + -0xc]
XOR EAX,EAX
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EBP + 0xfffffe64]
CALL 0x002715c0
MOV ESI,EAX
MOV EAX,dword ptr [EBP + 0xfffffe70]
MOVZX EAX,byte ptr [EAX]
TEST ESI,ESI
JZ 0x00279a54
TEST AL,AL
JNZ 0x00279a54
MOV EAX,dword ptr [EBP + 0xfffffe50]
LEA EDX,[EBP + -0x2c]
MOV ECX,ESI
MOV byte ptr [EBP + -0x60],0x0
MOV dword ptr [EBP + -0x64],0x0
MOV EDI,ESP
LEA EBX,[EBP + 0xfffffe9c]
MOV dword ptr [EBP + -0x5c],EAX
MOV EAX,dword ptr [EBP + 0xfffffe4c]
MOV dword ptr [EBP + -0x54],0x0
MOV dword ptr [EBP + -0x58],EAX
LEA EAX,[EBP + -0x20]
MOV dword ptr [EBP + -0x50],0x0
MOV dword ptr [EBP + -0x40],0x0
MOV dword ptr [EBP + -0x3c],0x0
MOV dword ptr [EBP + -0x4c],0x0
MOV dword ptr [EBP + -0x48],0x0
MOV dword ptr [EBP + -0x44],0x0
MOV dword ptr [EBP + -0x38],0x0
MOV dword ptr [EBP + -0x34],0x0
MOV dword ptr [EBP + -0x30],0x0
MOV dword ptr [EBP + -0x2c],0x0
MOV dword ptr [EBP + -0x28],0x0
MOV dword ptr [EBP + -0x24],0x0
MOV dword ptr [EBP + -0x20],0x0
CALL 0x0026fce0
MOV EDX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EBP + -0x20]
MOV ECX,0x1
MOV dword ptr [EBP + -0x1c],0x0
IMUL EAX,EDX
TEST EDX,EDX
CMOVLE EDX,ECX
LEA EDX,[EDX*0x8 + 0xf]
MOV dword ptr [EBP + -0x20],EAX
AND EDX,0xfffffff0
SUB ESP,EDX
TEST EAX,EAX
CMOVLE EAX,ECX
MOV EDX,ESP
MOV ECX,ESI
MOV dword ptr [EBP + -0x34],EDX
MOV EDX,0x11
LEA EAX,[EAX*0x8 + 0xf]
AND EAX,0xfffffff0
SUB ESP,EAX
MOV EAX,EBX
MOV dword ptr [EBP + -0x28],ESP
CALL 0x00273030
MOV ESP,EDI
MOV EAX,dword ptr [EBP + -0x64]
SUB ESP,0x4
MOV byte ptr [EBP + EAX*0x1 + 0xfffffe9c],0x0
PUSH dword ptr [EBP + -0x58]
PUSH EAX
PUSH EBX
CALL dword ptr [EBP + -0x5c]
MOV EDX,dword ptr [EBP + -0x4c]
XOR EAX,EAX
ADD ESP,0x10
TEST EDX,EDX
SETZ AL
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP byte ptr [EBP + 0xfffffe48],0x5f
JNZ 0x00279a54
MOV EAX,dword ptr [EBP + 0xfffffe54]
CMP byte ptr [EAX + 0x1],0x5a
JNZ 0x00279a54
ADD EAX,0x2
LEA EDI,[EBP + 0xfffffe64]
MOV EDX,0x1
MOV dword ptr [EBP + 0xfffffe70],EAX
MOV EAX,EDI
CALL 0x002728e0
MOV ESI,EAX
TEST byte ptr [EBP + 0xfffffe6c],0x1
JNZ 0x00279c78
MOV EAX,dword ptr [EBP + 0xfffffe70]
MOVZX EAX,byte ptr [EAX]
JMP 0x00279a76
MOV EAX,dword ptr [EBP + 0xfffffe54]
MOV ESI,0x1
CMP byte ptr [EAX + 0x1],0x5a
JNZ 0x0027986a
JMP 0x002798c0
CMP byte ptr [EAX + 0xc],0x5a
JNZ 0x002799a8
MOV EAX,dword ptr [EBP + 0xfffffe54]
LEA EDI,[EBP + 0xfffffe64]
XOR EDX,EDX
ADD EAX,0xd
MOV dword ptr [EBP + 0xfffffe70],EAX
MOV EAX,EDI
CALL 0x002728e0
MOV ECX,EAX
JMP 0x00279a1b
MOV ECX,dword ptr [EBP + 0xfffffe54]
XOR ESI,ESI
CMP byte ptr [ECX + 0xa],0x5f
JNZ 0x002798c0
CMP AL,0x49
SETNZ AL
MOVZX EAX,AL
MOV ESI,EAX
ADD ESI,0x2
JMP 0x002798c0
XOR ECX,ECX
LEA EDI,[EBP + 0xfffffe64]
JMP 0x00279a1b
MOV EBX,dword ptr [EBP + 0xfffffe70]
MOVZX EAX,byte ptr [EBX]
CMP AL,0x2e
JNZ 0x00279a76
MOV dword ptr [EBP + 0xfffffe48],EDI
MOV EAX,ESI
MOV ECX,EBX
LEA ESI,[ESI]
NOP
MOVZX EDX,byte ptr [ECX + 0x1]
LEA ESI,[EDX + -0x61]
MOV EBX,ESI
CMP BL,0x19
JBE 0x00279da8
CMP DL,0x5f
JZ 0x00279da8
SUB EDX,0x30
CMP DL,0x9
JA 0x00279dde
MOV dword ptr [EBP + 0xfffffe54],EAX
MOVZX EDX,byte ptr [ECX]
MOV EDI,ECX
CMP DL,0x2e
JNZ 0x00279d14
NOP
MOVZX EAX,byte ptr [EDI + 0x1]
LEA EDX,[EAX + -0x30]
CMP DL,0x9
JA 0x00279d14
MOVZX EDX,byte ptr [EDI + 0x2]
LEA EBX,[EDI + 0x2]
LEA ESI,[EDX + -0x30]
MOV EAX,ESI
CMP AL,0x9
JA 0x00279d0d
MOV EDI,dword ptr [EBP + 0xfffffe54]
LEA ESI,[ESI]
ADD EBX,0x1
MOVZX EDX,byte ptr [EBX]
LEA ESI,[EDX + -0x30]
MOV EAX,ESI
CMP AL,0x9
JBE 0x00279cf8
MOV dword ptr [EBP + 0xfffffe54],EDI
MOV EDI,EBX
CMP DL,0x2e
JZ 0x00279cd0
MOV ESI,EDI
MOV dword ptr [EBP + 0xfffffe70],EDI
MOV EAX,dword ptr [EBP + 0xfffffe54]
SUB ESI,ECX
MOV EDI,dword ptr [EBP + 0xfffffe78]
CMP EDI,dword ptr [EBP + 0xfffffe7c]
JGE 0x00279da0
MOV EDX,EDI
ADD EDI,0x1
SHL EDX,0x4
ADD EDX,dword ptr [EBP + 0xfffffe74]
MOV dword ptr [EDX + 0x4],0x0
MOV dword ptr [EBP + 0xfffffe78],EDI
TEST ESI,ESI
JZ 0x00279da0
MOV dword ptr [EDX + 0x4],0x0
MOV dword ptr [EDX],0x0
MOV dword ptr [EDX + 0x8],ECX
MOV dword ptr [EDX + 0xc],ESI
SUB ESP,0xc
MOV ECX,EAX
MOV EAX,dword ptr [EBP + 0xfffffe48]
PUSH EDX
MOV EDX,0x4d
CALL 0x0026fc10
MOV ECX,dword ptr [EBP + 0xfffffe70]
ADD ESP,0x10
MOVZX EDX,byte ptr [ECX]
CMP DL,0x2e
JZ 0x00279c98
MOV ESI,EAX
MOV EAX,EDX
JMP 0x00279a76
XOR EDX,EDX
JMP 0x00279d64
MOVZX EDX,byte ptr [ECX + 0x2]
LEA EDI,[ECX + 0x2]
LEA ESI,[EDX + -0x61]
MOV EBX,ESI
CMP BL,0x19
JA 0x00279dce
LEA ESI,[ESI]
ADD EDI,0x1
MOVZX EDX,byte ptr [EDI]
LEA EBX,[EDX + -0x61]
CMP BL,0x19
JBE 0x00279dc0
CMP DL,0x5f
JZ 0x00279dc0
MOV dword ptr [EBP + 0xfffffe54],EAX
JMP 0x00279cca
MOV ESI,EAX
MOVZX EAX,byte ptr [ECX]
JMP 0x00279a76
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nbool __regparm3 FUN_00279830(byte *param_1,code *param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  byte **ppbVar3;\n  code *pcVar4;\n  byte **ppbVar5;\n  byte **ppbVar6;\n  size_t sVar7;\n  byte *pbVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 *puVar12;\n  byte bVar13;\n  byte *pbVar14;\n  uint uVar15;\n  bool bVar16;\n  bool bVar17;\n  int iStackY_1e0;\n  undefined1 auStack_1cc [12];\n  int local_1c0;\n  byte **local_1bc;\n  undefined4 local_1b8;\n  code *local_1b4;\n  byte *local_1b0;\n  byte *local_1a0;\n  byte *local_19c;\n  uint local_198;\n  byte **local_194;\n  int local_190;\n  int local_18c;\n  byte *local_188;\n  undefined1 *local_184;\n  undefined4 local_180;\n  size_t local_17c;\n  undefined4 local_178;\n  undefined4 local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined1 local_168 [256];\n  int local_68;\n  undefined1 local_64;\n  code *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined1 *local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined1 *local_2c;\n  undefined4 local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27983b;\n  bVar13 = *param_1;\n  local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);\n  bVar16 = bVar13 < 0x5f;\n  bVar17 = bVar13 == 0x5f;\n  if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }\n  iVar10 = 8;\n  pbVar8 = param_1;\n  pbVar14 = (byte *)"_GLOBAL_";\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);\n  bVar13 = 0;\n  if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }\nLAB_002798c0:\n  iStackY_1e0 = 0x2798cf;\n  local_1b8 = param_3;\n  local_1b4 = param_2;\n  local_1b0 = param_1;\n  local_17c = strlen((char *)param_1);\n  local_1a0 = param_1;\n  local_19c = param_1 + local_17c;\n  iVar10 = local_17c * -0x20;\n  local_188 = (byte *)(local_17c * 2);\n  local_198 = 0x11;\n  uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;\n  iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);\n  local_184 = auStack_1cc + iVar2 + iVar10;\n  local_18c = 0;\n  local_180 = 0;\n  local_178 = 0;\n  local_174 = 0;\n  local_170 = 0;\n  local_16c = 0;\n  local_190 = uVar15 * 4;\n  if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)FUN_002728e0();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }\n  local_1b0 = pbVar14;\n  local_1bc = ppbVar5;\n  if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    FUN_0026fce0();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    FUN_00273030();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }\n  return false;\n}\n\n" comment (function_definition "bool __regparm3 FUN_00279830(byte *param_1,code *param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  byte **ppbVar3;\n  code *pcVar4;\n  byte **ppbVar5;\n  byte **ppbVar6;\n  size_t sVar7;\n  byte *pbVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 *puVar12;\n  byte bVar13;\n  byte *pbVar14;\n  uint uVar15;\n  bool bVar16;\n  bool bVar17;\n  int iStackY_1e0;\n  undefined1 auStack_1cc [12];\n  int local_1c0;\n  byte **local_1bc;\n  undefined4 local_1b8;\n  code *local_1b4;\n  byte *local_1b0;\n  byte *local_1a0;\n  byte *local_19c;\n  uint local_198;\n  byte **local_194;\n  int local_190;\n  int local_18c;\n  byte *local_188;\n  undefined1 *local_184;\n  undefined4 local_180;\n  size_t local_17c;\n  undefined4 local_178;\n  undefined4 local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined1 local_168 [256];\n  int local_68;\n  undefined1 local_64;\n  code *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined1 *local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined1 *local_2c;\n  undefined4 local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27983b;\n  bVar13 = *param_1;\n  local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);\n  bVar16 = bVar13 < 0x5f;\n  bVar17 = bVar13 == 0x5f;\n  if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }\n  iVar10 = 8;\n  pbVar8 = param_1;\n  pbVar14 = (byte *)"_GLOBAL_";\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);\n  bVar13 = 0;\n  if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }\nLAB_002798c0:\n  iStackY_1e0 = 0x2798cf;\n  local_1b8 = param_3;\n  local_1b4 = param_2;\n  local_1b0 = param_1;\n  local_17c = strlen((char *)param_1);\n  local_1a0 = param_1;\n  local_19c = param_1 + local_17c;\n  iVar10 = local_17c * -0x20;\n  local_188 = (byte *)(local_17c * 2);\n  local_198 = 0x11;\n  uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;\n  iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);\n  local_184 = auStack_1cc + iVar2 + iVar10;\n  local_18c = 0;\n  local_180 = 0;\n  local_178 = 0;\n  local_174 = 0;\n  local_170 = 0;\n  local_16c = 0;\n  local_190 = uVar15 * 4;\n  if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)FUN_002728e0();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }\n  local_1b0 = pbVar14;\n  local_1bc = ppbVar5;\n  if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    FUN_0026fce0();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    FUN_00273030();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }\n  return false;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00279830(byte *param_1,code *param_2,undefined4 param_3)" identifier (parameter_list "(byte *param_1,code *param_2,undefined4 param_3)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "code *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  byte **ppbVar3;\n  code *pcVar4;\n  byte **ppbVar5;\n  byte **ppbVar6;\n  size_t sVar7;\n  byte *pbVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 *puVar12;\n  byte bVar13;\n  byte *pbVar14;\n  uint uVar15;\n  bool bVar16;\n  bool bVar17;\n  int iStackY_1e0;\n  undefined1 auStack_1cc [12];\n  int local_1c0;\n  byte **local_1bc;\n  undefined4 local_1b8;\n  code *local_1b4;\n  byte *local_1b0;\n  byte *local_1a0;\n  byte *local_19c;\n  uint local_198;\n  byte **local_194;\n  int local_190;\n  int local_18c;\n  byte *local_188;\n  undefined1 *local_184;\n  undefined4 local_180;\n  size_t local_17c;\n  undefined4 local_178;\n  undefined4 local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined1 local_168 [256];\n  int local_68;\n  undefined1 local_64;\n  code *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined1 *local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined1 *local_2c;\n  undefined4 local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27983b;\n  bVar13 = *param_1;\n  local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);\n  bVar16 = bVar13 < 0x5f;\n  bVar17 = bVar13 == 0x5f;\n  if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }\n  iVar10 = 8;\n  pbVar8 = param_1;\n  pbVar14 = (byte *)"_GLOBAL_";\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);\n  bVar13 = 0;\n  if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }\nLAB_002798c0:\n  iStackY_1e0 = 0x2798cf;\n  local_1b8 = param_3;\n  local_1b4 = param_2;\n  local_1b0 = param_1;\n  local_17c = strlen((char *)param_1);\n  local_1a0 = param_1;\n  local_19c = param_1 + local_17c;\n  iVar10 = local_17c * -0x20;\n  local_188 = (byte *)(local_17c * 2);\n  local_198 = 0x11;\n  uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;\n  iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);\n  local_184 = auStack_1cc + iVar2 + iVar10;\n  local_18c = 0;\n  local_180 = 0;\n  local_178 = 0;\n  local_174 = 0;\n  local_170 = 0;\n  local_16c = 0;\n  local_190 = uVar15 * 4;\n  if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)FUN_002728e0();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }\n  local_1b0 = pbVar14;\n  local_1bc = ppbVar5;\n  if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    FUN_0026fce0();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    FUN_00273030();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }\n  return false;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "byte **ppbVar3;" type_identifier (pointer_declarator "**ppbVar3" * (pointer_declarator "*ppbVar3" * identifier)) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "byte **ppbVar5;" type_identifier (pointer_declarator "**ppbVar5" * (pointer_declarator "*ppbVar5" * identifier)) ;) (declaration "byte **ppbVar6;" type_identifier (pointer_declarator "**ppbVar6" * (pointer_declarator "*ppbVar6" * identifier)) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "int iStackY_1e0;" primitive_type identifier ;) (declaration "undefined1 auStack_1cc [12];" type_identifier (array_declarator "auStack_1cc [12]" identifier [ number_literal ]) ;) (declaration "int local_1c0;" primitive_type identifier ;) (declaration "byte **local_1bc;" type_identifier (pointer_declarator "**local_1bc" * (pointer_declarator "*local_1bc" * identifier)) ;) (declaration "undefined4 local_1b8;" type_identifier identifier ;) (declaration "code *local_1b4;" type_identifier (pointer_declarator "*local_1b4" * identifier) ;) (declaration "byte *local_1b0;" type_identifier (pointer_declarator "*local_1b0" * identifier) ;) (declaration "byte *local_1a0;" type_identifier (pointer_declarator "*local_1a0" * identifier) ;) (declaration "byte *local_19c;" type_identifier (pointer_declarator "*local_19c" * identifier) ;) (declaration "uint local_198;" type_identifier identifier ;) (declaration "byte **local_194;" type_identifier (pointer_declarator "**local_194" * (pointer_declarator "*local_194" * identifier)) ;) (declaration "int local_190;" primitive_type identifier ;) (declaration "int local_18c;" primitive_type identifier ;) (declaration "byte *local_188;" type_identifier (pointer_declarator "*local_188" * identifier) ;) (declaration "undefined1 *local_184;" type_identifier (pointer_declarator "*local_184" * identifier) ;) (declaration "undefined4 local_180;" type_identifier identifier ;) (declaration "size_t local_17c;" primitive_type identifier ;) (declaration "undefined4 local_178;" type_identifier identifier ;) (declaration "undefined4 local_174;" type_identifier identifier ;) (declaration "undefined4 local_170;" type_identifier identifier ;) (declaration "undefined4 local_16c;" type_identifier identifier ;) (declaration "undefined1 local_168 [256];" type_identifier (array_declarator "local_168 [256]" identifier [ number_literal ]) ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "undefined1 local_64;" type_identifier identifier ;) (declaration "code *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined1 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "undefined1 *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x27983b;" (assignment_expression "uStack_14 = 0x27983b" identifier = number_literal) ;) (expression_statement "bVar13 = *param_1;" (assignment_expression "bVar13 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);" (assignment_expression "local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13)" identifier = (cast_expression "(byte **)CONCAT31(local_1bc._1_3_,bVar13)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_1bc._1_3_,bVar13)" identifier (argument_list "(local_1bc._1_3_,bVar13)" ( (field_expression "local_1bc._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "bVar16 = bVar13 < 0x5f;" (assignment_expression "bVar16 = bVar13 < 0x5f" identifier = (binary_expression "bVar13 < 0x5f" identifier < number_literal)) ;) (expression_statement "bVar17 = bVar13 == 0x5f;" (assignment_expression "bVar17 = bVar13 == 0x5f" identifier = (binary_expression "bVar13 == 0x5f" identifier == number_literal)) ;) (if_statement "if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }" if (parenthesized_expression "(bVar17)" ( identifier )) (compound_statement "{\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }" { (expression_statement "bVar13 = 1;" (assignment_expression "bVar13 = 1" identifier = number_literal) ;) (expression_statement "bVar16 = param_1[1] < 0x5a;" (assignment_expression "bVar16 = param_1[1] < 0x5a" identifier = (binary_expression "param_1[1] < 0x5a" (subscript_expression "param_1[1]" identifier [ number_literal ]) < number_literal)) ;) (expression_statement "bVar17 = param_1[1] == 0x5a;" (assignment_expression "bVar17 = param_1[1] == 0x5a" identifier = (binary_expression "param_1[1] == 0x5a" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal)) ;) (if_statement "if (bVar17) goto LAB_002798c0;" if (parenthesized_expression "(bVar17)" ( identifier )) (goto_statement "goto LAB_002798c0;" goto statement_identifier ;)) })) (expression_statement "iVar10 = 8;" (assignment_expression "iVar10 = 8" identifier = number_literal) ;) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (expression_statement "pbVar14 = (byte *)"_GLOBAL_";" (assignment_expression "pbVar14 = (byte *)"_GLOBAL_"" identifier = (cast_expression "(byte *)"_GLOBAL_"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""_GLOBAL_"" " string_content "))) ;) (do_statement "do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);" do (compound_statement "{\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar8 < *pbVar14;" (assignment_expression "bVar16 = *pbVar8 < *pbVar14" identifier = (binary_expression "*pbVar8 < *pbVar14" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar14" * identifier))) ;) (expression_statement "bVar17 = *pbVar8 == *pbVar14;" (assignment_expression "bVar17 = *pbVar8 == *pbVar14" identifier = (binary_expression "*pbVar8 == *pbVar14" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar14" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar17)" ( identifier )) ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (if_statement "if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }" if (parenthesized_expression "(((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f))" ( (binary_expression "((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)" (parenthesized_expression "((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49))))" ( (binary_expression "(((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))" (parenthesized_expression "(((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24))))" ( (binary_expression "((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))" (parenthesized_expression "((!bVar16 && !bVar17) == bVar16)" ( (binary_expression "(!bVar16 && !bVar17) == bVar16" (parenthesized_expression "(!bVar16 && !bVar17)" ( (binary_expression "!bVar16 && !bVar17" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar17" ! identifier)) )) == identifier) )) && (parenthesized_expression "((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))" ( (parenthesized_expression "(bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24))" ( (comma_expression "bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)" (assignment_expression "bVar1 = param_1[8]" identifier = (subscript_expression "param_1[8]" identifier [ number_literal ])) , (binary_expression "bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)" (binary_expression "bVar1 == 0x2e || bVar1 == 0x5f" (binary_expression "bVar1 == 0x2e" identifier == number_literal) || (binary_expression "bVar1 == 0x5f" identifier == number_literal)) || (parenthesized_expression "(bVar1 == 0x24)" ( (binary_expression "bVar1 == 0x24" identifier == number_literal) )))) )) ))) )) && (parenthesized_expression "((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))" ( (parenthesized_expression "(bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49))" ( (comma_expression "bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)" (assignment_expression "bVar1 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) , (binary_expression "bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)" (binary_expression "bVar1 == 0x44" identifier == number_literal) || (parenthesized_expression "(bVar13 = 0, bVar1 == 0x49)" ( (comma_expression "bVar13 = 0, bVar1 == 0x49" (assignment_expression "bVar13 = 0" identifier = number_literal) , (binary_expression "bVar1 == 0x49" identifier == number_literal)) )))) )) ))) )) && (parenthesized_expression "(bVar13 = 0, param_1[10] == 0x5f)" ( (comma_expression "bVar13 = 0, param_1[10] == 0x5f" (assignment_expression "bVar13 = 0" identifier = number_literal) , (binary_expression "param_1[10] == 0x5f" (subscript_expression "param_1[10]" identifier [ number_literal ]) == number_literal)) ))) )) (compound_statement "{\n    bVar13 = (bVar1 != 0x49) + 2;\n  }" { (expression_statement "bVar13 = (bVar1 != 0x49) + 2;" (assignment_expression "bVar13 = (bVar1 != 0x49) + 2" identifier = (binary_expression "(bVar1 != 0x49) + 2" (parenthesized_expression "(bVar1 != 0x49)" ( (binary_expression "bVar1 != 0x49" identifier != number_literal) )) + number_literal)) ;) })) (labeled_statement "LAB_002798c0:\n  iStackY_1e0 = 0x2798cf;" statement_identifier : (expression_statement "iStackY_1e0 = 0x2798cf;" (assignment_expression "iStackY_1e0 = 0x2798cf" identifier = number_literal) ;)) (expression_statement "local_1b8 = param_3;" (assignment_expression "local_1b8 = param_3" identifier = identifier) ;) (expression_statement "local_1b4 = param_2;" (assignment_expression "local_1b4 = param_2" identifier = identifier) ;) (expression_statement "local_1b0 = param_1;" (assignment_expression "local_1b0 = param_1" identifier = identifier) ;) (expression_statement "local_17c = strlen((char *)param_1);" (assignment_expression "local_17c = strlen((char *)param_1)" identifier = (call_expression "strlen((char *)param_1)" identifier (argument_list "((char *)param_1)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_1a0 = param_1;" (assignment_expression "local_1a0 = param_1" identifier = identifier) ;) (expression_statement "local_19c = param_1 + local_17c;" (assignment_expression "local_19c = param_1 + local_17c" identifier = (binary_expression "param_1 + local_17c" identifier + identifier)) ;) (expression_statement "iVar10 = local_17c * -0x20;" (assignment_expression "iVar10 = local_17c * -0x20" identifier = (binary_expression "local_17c * -0x20" identifier * number_literal)) ;) (expression_statement "local_188 = (byte *)(local_17c * 2);" (assignment_expression "local_188 = (byte *)(local_17c * 2)" identifier = (cast_expression "(byte *)(local_17c * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_17c * 2)" ( (binary_expression "local_17c * 2" identifier * number_literal) )))) ;) (expression_statement "local_198 = 0x11;" (assignment_expression "local_198 = 0x11" identifier = number_literal) ;) (expression_statement "uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;" (assignment_expression "uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2" identifier = (binary_expression "(uint)(auStack_1cc + iVar10 + 3) >> 2" (call_expression "(uint)(auStack_1cc + iVar10 + 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(auStack_1cc + iVar10 + 3)" ( (binary_expression "auStack_1cc + iVar10 + 3" (binary_expression "auStack_1cc + iVar10" identifier + identifier) + number_literal) ))) >> number_literal)) ;) (expression_statement "iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);" (assignment_expression "iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0)" identifier = (unary_expression "-(local_17c * 4 + 0xf & 0xfffffff0)" - (parenthesized_expression "(local_17c * 4 + 0xf & 0xfffffff0)" ( (binary_expression "local_17c * 4 + 0xf & 0xfffffff0" (binary_expression "local_17c * 4 + 0xf" (binary_expression "local_17c * 4" identifier * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "local_184 = auStack_1cc + iVar2 + iVar10;" (assignment_expression "local_184 = auStack_1cc + iVar2 + iVar10" identifier = (binary_expression "auStack_1cc + iVar2 + iVar10" (binary_expression "auStack_1cc + iVar2" identifier + identifier) + identifier)) ;) (expression_statement "local_18c = 0;" (assignment_expression "local_18c = 0" identifier = number_literal) ;) (expression_statement "local_180 = 0;" (assignment_expression "local_180 = 0" identifier = number_literal) ;) (expression_statement "local_178 = 0;" (assignment_expression "local_178 = 0" identifier = number_literal) ;) (expression_statement "local_174 = 0;" (assignment_expression "local_174 = 0" identifier = number_literal) ;) (expression_statement "local_170 = 0;" (assignment_expression "local_170 = 0" identifier = number_literal) ;) (expression_statement "local_16c = 0;" (assignment_expression "local_16c = 0" identifier = number_literal) ;) (expression_statement "local_190 = uVar15 * 4;" (assignment_expression "local_190 = uVar15 * 4" identifier = (binary_expression "uVar15 * 4" identifier * number_literal)) ;) (if_statement "if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)FUN_002728e0();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" if (parenthesized_expression "(bVar13 == 1)" ( (binary_expression "bVar13 == 1" identifier == number_literal) )) (compound_statement "{\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)FUN_002728e0();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }" { (if_statement "if ((char)local_1bc != '_') {\n      return false;\n    }" if (parenthesized_expression "((char)local_1bc != '_')" ( (binary_expression "(char)local_1bc != '_'" (cast_expression "(char)local_1bc" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'_'" ' character ')) )) (compound_statement "{\n      return false;\n    }" { (return_statement "return false;" return false ;) })) (if_statement "if (local_1b0[1] != 0x5a) {\n      return false;\n    }" if (parenthesized_expression "(local_1b0[1] != 0x5a)" ( (binary_expression "local_1b0[1] != 0x5a" (subscript_expression "local_1b0[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      return false;\n    }" { (return_statement "return false;" return false ;) })) (expression_statement "local_194 = (byte **)(local_1b0 + 2);" (assignment_expression "local_194 = (byte **)(local_1b0 + 2)" identifier = (cast_expression "(byte **)(local_1b0 + 2)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_1b0 + 2)" ( (binary_expression "local_1b0 + 2" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "pbVar8 = (byte *)FUN_002728e0();" (assignment_expression "pbVar8 = (byte *)FUN_002728e0()" identifier = (cast_expression "(byte *)FUN_002728e0()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002728e0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" identifier = identifier) ;) (if_statement "if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }" if (parenthesized_expression "((local_198 & 1) == 0)" ( (binary_expression "(local_198 & 1) == 0" (parenthesized_expression "(local_198 & 1)" ( (binary_expression "local_198 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      bVar13 = *(byte *)local_194;\n    }" { (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }" else (compound_statement "{\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }" { (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppbVar6 = &local_1a0;" (assignment_expression "ppbVar6 = &local_1a0" identifier = (pointer_expression "&local_1a0" & identifier)) ;) (expression_statement "ppbVar3 = local_194;" (assignment_expression "ppbVar3 = local_194" identifier = identifier) ;) (expression_statement "iVar11 = local_18c;" (assignment_expression "iVar11 = local_18c" identifier = identifier) ;) (while_statement "while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }" while (parenthesized_expression "(local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e)" ( (comma_expression "local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_1b0 = pbVar8" identifier = identifier) , (comma_expression "local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_1bc = ppbVar6" identifier = identifier) , (comma_expression "local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_194 = ppbVar3" identifier = identifier) , (comma_expression "local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_18c = iVar11" identifier = identifier) , (comma_expression "pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "pbVar8 = local_1b0" identifier = identifier) , (binary_expression "bVar13 == 0x2e" identifier == number_literal)))))) )) (compound_statement "{\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }" { (expression_statement "bVar13 = *(byte *)((int)ppbVar3 + 1);" (assignment_expression "bVar13 = *(byte *)((int)ppbVar3 + 1)" identifier = (pointer_expression "*(byte *)((int)ppbVar3 + 1)" * (cast_expression "(byte *)((int)ppbVar3 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar3 + 1)" ( (binary_expression "(int)ppbVar3 + 1" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }" if (parenthesized_expression "(((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f))" ( (binary_expression "((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)" (parenthesized_expression "((byte)(bVar13 + 0x9f) < 0x1a)" ( (binary_expression "(byte)(bVar13 + 0x9f) < 0x1a" (call_expression "(byte)(bVar13 + 0x9f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 + 0x9f)" ( (binary_expression "bVar13 + 0x9f" identifier + number_literal) ))) < number_literal) )) || (parenthesized_expression "(bVar13 == 0x5f)" ( (binary_expression "bVar13 == 0x5f" identifier == number_literal) ))) )) (compound_statement "{\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }" { (expression_statement "bVar13 = *(byte *)((int)ppbVar3 + 2);" (assignment_expression "bVar13 = *(byte *)((int)ppbVar3 + 2)" identifier = (pointer_expression "*(byte *)((int)ppbVar3 + 2)" * (cast_expression "(byte *)((int)ppbVar3 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar3 + 2)" ( (binary_expression "(int)ppbVar3 + 2" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_194 = (byte **)((int)ppbVar3 + 2);" (assignment_expression "local_194 = (byte **)((int)ppbVar3 + 2)" identifier = (cast_expression "(byte **)((int)ppbVar3 + 2)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppbVar3 + 2)" ( (binary_expression "(int)ppbVar3 + 2" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;" if (parenthesized_expression "(0x19 < (byte)(bVar13 + 0x9f))" ( (binary_expression "0x19 < (byte)(bVar13 + 0x9f)" number_literal < (call_expression "(byte)(bVar13 + 0x9f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 + 0x9f)" ( (binary_expression "bVar13 + 0x9f" identifier + number_literal) )))) )) (goto_statement "goto LAB_00279dce;" goto statement_identifier ;)) (do_statement "do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);" do (compound_statement "{\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          }" { (do_statement "do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);" do (compound_statement "{\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            }" { (expression_statement "local_194 = (byte **)((int)local_194 + 1);" (assignment_expression "local_194 = (byte **)((int)local_194 + 1)" identifier = (cast_expression "(byte **)((int)local_194 + 1)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_194 + 1)" ( (binary_expression "(int)local_194 + 1" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) while (parenthesized_expression "((byte)(bVar13 + 0x9f) < 0x1a)" ( (binary_expression "(byte)(bVar13 + 0x9f) < 0x1a" (call_expression "(byte)(bVar13 + 0x9f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 + 0x9f)" ( (binary_expression "bVar13 + 0x9f" identifier + number_literal) ))) < number_literal) )) ;) (labeled_statement "LAB_00279dce:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(bVar13 == 0x5f)" ( (binary_expression "bVar13 == 0x5f" identifier == number_literal) )) ;) }) (else_clause "else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }" else (compound_statement "{\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }" { (if_statement "if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }" if (parenthesized_expression "(9 < (byte)(bVar13 - 0x30))" ( (binary_expression "9 < (byte)(bVar13 - 0x30)" number_literal < (call_expression "(byte)(bVar13 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 - 0x30)" ( (binary_expression "bVar13 - 0x30" identifier - number_literal) )))) )) (compound_statement "{\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }" { (expression_statement "bVar13 = *(byte *)ppbVar3;" (assignment_expression "bVar13 = *(byte *)ppbVar3" identifier = (pointer_expression "*(byte *)ppbVar3" * (cast_expression "(byte *)ppbVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "bVar13 = *(byte *)ppbVar3;" (assignment_expression "bVar13 = *(byte *)ppbVar3" identifier = (pointer_expression "*(byte *)ppbVar3" * (cast_expression "(byte *)ppbVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (while_statement "while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }" while (parenthesized_expression "((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10)))" ( (parenthesized_expression "(bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))" ( (binary_expression "bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10)" (binary_expression "bVar13 == 0x2e" identifier == number_literal) && (parenthesized_expression "((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10)" ( (binary_expression "(byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10" (call_expression "(byte)(*(byte *)((int)local_194 + 1) - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(byte *)((int)local_194 + 1) - 0x30)" ( (binary_expression "*(byte *)((int)local_194 + 1) - 0x30" (pointer_expression "*(byte *)((int)local_194 + 1)" * (cast_expression "(byte *)((int)local_194 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_194 + 1)" ( (binary_expression "(int)local_194 + 1" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) - number_literal) ))) < number_literal) ))) )) )) (compound_statement "{\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }" { (expression_statement "pbVar8 = (byte *)((int)local_194 + 2);" (assignment_expression "pbVar8 = (byte *)((int)local_194 + 2)" identifier = (cast_expression "(byte *)((int)local_194 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_194 + 2)" ( (binary_expression "(int)local_194 + 2" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_194 = (byte **)((int)local_194 + 2);" (assignment_expression "local_194 = (byte **)((int)local_194 + 2)" identifier = (cast_expression "(byte **)((int)local_194 + 2)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_194 + 2)" ( (binary_expression "(int)local_194 + 2" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar13 = *pbVar8;" (assignment_expression "bVar13 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (while_statement "while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }" while (parenthesized_expression "((byte)(bVar13 - 0x30) < 10)" ( (binary_expression "(byte)(bVar13 - 0x30) < 10" (call_expression "(byte)(bVar13 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 - 0x30)" ( (binary_expression "bVar13 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }" { (expression_statement "local_194 = (byte **)((int)local_194 + 1);" (assignment_expression "local_194 = (byte **)((int)local_194 + 1)" identifier = (cast_expression "(byte **)((int)local_194 + 1)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_194 + 1)" ( (binary_expression "(int)local_194 + 1" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) })) (if_statement "if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }" if (parenthesized_expression "(iVar11 < (int)local_188)" ( (binary_expression "iVar11 < (int)local_188" identifier < (cast_expression "(int)local_188" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }" { (expression_statement "local_18c = iVar11 + 1;" (assignment_expression "local_18c = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);" (assignment_expression "puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190)" identifier = (cast_expression "(undefined4 *)(iVar11 * 0x10 + local_190)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 * 0x10 + local_190)" ( (binary_expression "iVar11 * 0x10 + local_190" (binary_expression "iVar11 * 0x10" identifier * number_literal) + identifier) )))) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;" if (parenthesized_expression "((int)local_194 - (int)ppbVar3 == 0)" ( (binary_expression "(int)local_194 - (int)ppbVar3 == 0" (binary_expression "(int)local_194 - (int)ppbVar3" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier)) == number_literal) )) (goto_statement "goto LAB_00279da0;" goto statement_identifier ;)) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar12 = 0;" (assignment_expression "*puVar12 = 0" (pointer_expression "*puVar12" * identifier) = number_literal) ;) (expression_statement "puVar12[2] = ppbVar3;" (assignment_expression "puVar12[2] = ppbVar3" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[3] = (int)local_194 - (int)ppbVar3;" (assignment_expression "puVar12[3] = (int)local_194 - (int)ppbVar3" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = (binary_expression "(int)local_194 - (int)ppbVar3" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }" else (compound_statement "{\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }" { (labeled_statement "LAB_00279da0:\n          puVar12 = (undefined4 *)0x0;" statement_identifier : (expression_statement "puVar12 = (undefined4 *)0x0;" (assignment_expression "puVar12 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (expression_statement "*(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;" (assignment_expression "*(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12" (pointer_expression "*(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "pbVar8 = (byte *)FUN_0026fc10();" (assignment_expression "pbVar8 = (byte *)FUN_0026fc10()" identifier = (cast_expression "(byte *)FUN_0026fc10()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0026fc10()" identifier (argument_list "()" ( ))))) ;) (expression_statement "ppbVar6 = local_1bc;" (assignment_expression "ppbVar6 = local_1bc" identifier = identifier) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" identifier = identifier) ;) (expression_statement "ppbVar3 = local_194;" (assignment_expression "ppbVar3 = local_194" identifier = identifier) ;) (expression_statement "iVar11 = local_18c;" (assignment_expression "iVar11 = local_18c" identifier = identifier) ;) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) }))) }) (else_clause "else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" else (if_statement "if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" if (parenthesized_expression "((bVar13 == 0) || (3 < bVar13))" ( (binary_expression "(bVar13 == 0) || (3 < bVar13)" (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "(3 < bVar13)" ( (binary_expression "3 < bVar13" number_literal < identifier) ))) )) (compound_statement "{\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }" { (expression_statement "local_194 = (byte **)param_1;" (assignment_expression "local_194 = (byte **)param_1" identifier = (cast_expression "(byte **)param_1" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "pbVar8 = (byte *)FUN_002715c0();" (assignment_expression "pbVar8 = (byte *)FUN_002715c0()" identifier = (cast_expression "(byte *)FUN_002715c0()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002715c0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" identifier = identifier) ;) }) (else_clause "else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" else (compound_statement "{\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" { (expression_statement "local_1bc = (byte **)(local_1b0 + 0xb);" (assignment_expression "local_1bc = (byte **)(local_1b0 + 0xb)" identifier = (cast_expression "(byte **)(local_1b0 + 0xb)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_1b0 + 0xb)" ( (binary_expression "local_1b0 + 0xb" identifier + number_literal) )))) ;) (expression_statement "local_194 = local_1bc;" (assignment_expression "local_194 = local_1bc" identifier = identifier) ;) (if_statement "if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }" if (parenthesized_expression "((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a))" ( (binary_expression "(local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)" (parenthesized_expression "(local_1b0[0xb] == 0x5f)" ( (binary_expression "local_1b0[0xb] == 0x5f" (subscript_expression "local_1b0[0xb]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(local_1b0[0xc] == 0x5a)" ( (binary_expression "local_1b0[0xc] == 0x5a" (subscript_expression "local_1b0[0xc]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }" { (expression_statement "local_194 = (byte **)(local_1b0 + 0xd);" (assignment_expression "local_194 = (byte **)(local_1b0 + 0xd)" identifier = (cast_expression "(byte **)(local_1b0 + 0xd)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_1b0 + 0xd)" ( (binary_expression "local_1b0 + 0xd" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "FUN_002728e0();" (call_expression "FUN_002728e0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }" else (compound_statement "{\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }" { (expression_statement "local_1c0 = uVar15 * 4;" (assignment_expression "local_1c0 = uVar15 * 4" identifier = (binary_expression "uVar15 * 4" identifier * number_literal)) ;) (expression_statement "local_1b0 = (byte *)(local_17c * 2);" (assignment_expression "local_1b0 = (byte *)(local_17c * 2)" identifier = (cast_expression "(byte *)(local_17c * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_17c * 2)" ( (binary_expression "local_17c * 2" identifier * number_literal) )))) ;) (expression_statement "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;" (assignment_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc" (pointer_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));" (assignment_expression "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" identifier = (call_expression "strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" identifier (argument_list "(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" ( (pointer_expression "*(char **)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(char **)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) )))) ;) (if_statement "if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }" if (parenthesized_expression "(0 < (int)local_1b0)" ( (binary_expression "0 < (int)local_1b0" number_literal < (cast_expression "(int)local_1b0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }" { (expression_statement "*(undefined4 *)(uVar15 * 4 + 4) = 0;" (assignment_expression "*(undefined4 *)(uVar15 * 4 + 4) = 0" (pointer_expression "*(undefined4 *)(uVar15 * 4 + 4)" * (cast_expression "(undefined4 *)(uVar15 * 4 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 * 4 + 4)" ( (binary_expression "uVar15 * 4 + 4" (binary_expression "uVar15 * 4" identifier * number_literal) + number_literal) )))) = number_literal) ;) (expression_statement "local_18c = 1;" (assignment_expression "local_18c = 1" identifier = number_literal) ;) (if_statement "if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }" if (parenthesized_expression "(sVar7 != 0)" ( (binary_expression "sVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }" { (expression_statement "*(size_t *)(uVar15 * 4 + 0xc) = sVar7;" (assignment_expression "*(size_t *)(uVar15 * 4 + 0xc) = sVar7" (pointer_expression "*(size_t *)(uVar15 * 4 + 0xc)" * (cast_expression "(size_t *)(uVar15 * 4 + 0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 * 4 + 0xc)" ( (binary_expression "uVar15 * 4 + 0xc" (binary_expression "uVar15 * 4" identifier * number_literal) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(uVar15 * 4) = 0;" (assignment_expression "*(undefined4 *)(uVar15 * 4) = 0" (pointer_expression "*(undefined4 *)(uVar15 * 4)" * (cast_expression "(undefined4 *)(uVar15 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 * 4)" ( (binary_expression "uVar15 * 4" identifier * number_literal) )))) = number_literal) ;) (expression_statement "*(byte ***)(uVar15 * 4 + 8) = local_1bc;" (assignment_expression "*(byte ***)(uVar15 * 4 + 8) = local_1bc" (pointer_expression "*(byte ***)(uVar15 * 4 + 8)" * (cast_expression "(byte ***)(uVar15 * 4 + 8)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(uVar15 * 4 + 8)" ( (binary_expression "uVar15 * 4 + 8" (binary_expression "uVar15 * 4" identifier * number_literal) + number_literal) )))) = identifier) ;) })) })) }))) (expression_statement "*(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;" (assignment_expression "*(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0" (pointer_expression "*(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "pbVar8 = (byte *)FUN_0026fc10();" (assignment_expression "pbVar8 = (byte *)FUN_0026fc10()" identifier = (cast_expression "(byte *)FUN_0026fc10()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0026fc10()" identifier (argument_list "()" ( ))))) ;) (expression_statement "ppbVar3 = local_194;" (assignment_expression "ppbVar3 = local_194" identifier = identifier) ;) (expression_statement "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;" (assignment_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194" (pointer_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));" (assignment_expression "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" identifier = (call_expression "strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" identifier (argument_list "(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" ( (pointer_expression "*(char **)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(char **)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) )))) ;) (expression_statement "bVar13 = *(byte *)((int)ppbVar3 + sVar7);" (assignment_expression "bVar13 = *(byte *)((int)ppbVar3 + sVar7)" identifier = (pointer_expression "*(byte *)((int)ppbVar3 + sVar7)" * (cast_expression "(byte *)((int)ppbVar3 + sVar7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar3 + sVar7)" ( (binary_expression "(int)ppbVar3 + sVar7" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" identifier = identifier) ;) (expression_statement "local_194 = (byte **)((int)ppbVar3 + sVar7);" (assignment_expression "local_194 = (byte **)((int)ppbVar3 + sVar7)" identifier = (cast_expression "(byte **)((int)ppbVar3 + sVar7)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppbVar3 + sVar7)" ( (binary_expression "(int)ppbVar3 + sVar7" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }))))) (expression_statement "local_1b0 = pbVar14;" (assignment_expression "local_1b0 = pbVar14" identifier = identifier) ;) (expression_statement "local_1bc = ppbVar5;" (assignment_expression "local_1bc = ppbVar5" identifier = identifier) ;) (if_statement "if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    FUN_0026fce0();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    FUN_00273030();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }" if (parenthesized_expression "((pbVar8 != (byte *)0x0) && (bVar13 == 0))" ( (binary_expression "(pbVar8 != (byte *)0x0) && (bVar13 == 0)" (parenthesized_expression "(pbVar8 != (byte *)0x0)" ( (binary_expression "pbVar8 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) ))) )) (compound_statement "{\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    FUN_0026fce0();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    FUN_00273030();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }" { (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38 = (undefined1 *)0x0;" (assignment_expression "local_38 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_2c = (undefined1 *)0x0;" (assignment_expression "local_2c = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_60 = local_1b4;" (assignment_expression "local_60 = local_1b4" identifier = identifier) ;) (expression_statement "local_5c = local_1b8;" (assignment_expression "local_5c = local_1b8" identifier = identifier) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "FUN_0026fce0();" (call_expression "FUN_0026fce0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "local_24 = local_24 * local_30;" (assignment_expression "local_24 = local_24 * local_30" identifier = (binary_expression "local_24 * local_30" identifier * identifier)) ;) (expression_statement "iVar11 = local_30;" (assignment_expression "iVar11 = local_30" identifier = identifier) ;) (if_statement "if (local_30 < 1) {\n      iVar11 = 1;\n    }" if (parenthesized_expression "(local_30 < 1)" ( (binary_expression "local_30 < 1" identifier < number_literal) )) (compound_statement "{\n      iVar11 = 1;\n    }" { (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) })) (expression_statement "iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);" (assignment_expression "iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0)" identifier = (unary_expression "-(iVar11 * 8 + 0xfU & 0xfffffff0)" - (parenthesized_expression "(iVar11 * 8 + 0xfU & 0xfffffff0)" ( (binary_expression "iVar11 * 8 + 0xfU & 0xfffffff0" (binary_expression "iVar11 * 8 + 0xfU" (binary_expression "iVar11 * 8" identifier * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;" (assignment_expression "local_38 = auStack_1cc + iVar11 + iVar2 + iVar10" identifier = (binary_expression "auStack_1cc + iVar11 + iVar2 + iVar10" (binary_expression "auStack_1cc + iVar11 + iVar2" (binary_expression "auStack_1cc + iVar11" identifier + identifier) + identifier) + identifier)) ;) (expression_statement "iVar9 = local_24;" (assignment_expression "iVar9 = local_24" identifier = identifier) ;) (if_statement "if (local_24 < 1) {\n      iVar9 = 1;\n    }" if (parenthesized_expression "(local_24 < 1)" ( (binary_expression "local_24 < 1" identifier < number_literal) )) (compound_statement "{\n      iVar9 = 1;\n    }" { (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) })) (expression_statement "iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);" (assignment_expression "iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0)" identifier = (unary_expression "-(iVar9 * 8 + 0xfU & 0xfffffff0)" - (parenthesized_expression "(iVar9 * 8 + 0xfU & 0xfffffff0)" ( (binary_expression "iVar9 * 8 + 0xfU & 0xfffffff0" (binary_expression "iVar9 * 8 + 0xfU" (binary_expression "iVar9 * 8" identifier * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;" (assignment_expression "local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10" identifier = (binary_expression "auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10" (binary_expression "auStack_1cc + iVar9 + iVar11 + iVar2" (binary_expression "auStack_1cc + iVar9 + iVar11" (binary_expression "auStack_1cc + iVar9" identifier + identifier) + identifier) + identifier) + identifier)) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar9 + iVar11 + iVar2" (binary_expression "&stack0xfffffe30 + iVar9 + iVar11" (binary_expression "&stack0xfffffe30 + iVar9" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "FUN_00273030();" (call_expression "FUN_00273030()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = local_68;" (assignment_expression "iVar11 = local_68" identifier = identifier) ;) (expression_statement "local_168[local_68] = 0;" (assignment_expression "local_168[local_68] = 0" (subscript_expression "local_168[local_68]" identifier [ identifier ]) = number_literal) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;" (assignment_expression "*(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c" (pointer_expression "*(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe2c + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe2c + iVar2 + iVar10" (binary_expression "&stack0xfffffe2c + iVar2" (pointer_expression "&stack0xfffffe2c" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;" (assignment_expression "*(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11" (pointer_expression "*(int *)(&stack0xfffffe28 + iVar2 + iVar10)" * (cast_expression "(int *)(&stack0xfffffe28 + iVar2 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe28 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe28 + iVar2 + iVar10" (binary_expression "&stack0xfffffe28 + iVar2" (pointer_expression "&stack0xfffffe28" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;" (assignment_expression "*(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168" (pointer_expression "*(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "pcVar4 = local_60;" (assignment_expression "pcVar4 = local_60" identifier = identifier) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (return_statement "return local_50 == 0;" return (binary_expression "local_50 == 0" identifier == number_literal) ;) })) (return_statement "return false;" return false ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nbool __regparm3 d_demangle_callback_constprop_21(byte *param_1,code *param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  byte **ppbVar3;\n  code *pcVar4;\n  byte **ppbVar5;\n  byte **ppbVar6;\n  size_t sVar7;\n  byte *pbVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 *puVar12;\n  byte bVar13;\n  byte *pbVar14;\n  uint uVar15;\n  bool bVar16;\n  bool bVar17;\n  int iStackY_1e0;\n  undefined1 auStack_1cc [12];\n  int local_1c0;\n  byte **local_1bc;\n  undefined4 local_1b8;\n  code *local_1b4;\n  byte *local_1b0;\n  byte *local_1a0;\n  byte *local_19c;\n  uint local_198;\n  byte **local_194;\n  int local_190;\n  int local_18c;\n  byte *local_188;\n  undefined1 *local_184;\n  undefined4 local_180;\n  size_t local_17c;\n  undefined4 local_178;\n  undefined4 local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined1 local_168 [256];\n  int local_68;\n  undefined1 local_64;\n  code *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined1 *local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined1 *local_2c;\n  undefined4 local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27983b;\n  bVar13 = *param_1;\n  local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);\n  bVar16 = bVar13 < 0x5f;\n  bVar17 = bVar13 == 0x5f;\n  if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }\n  iVar10 = 8;\n  pbVar8 = param_1;\n  pbVar14 = (byte *)"_GLOBAL_";\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);\n  bVar13 = 0;\n  if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }\nLAB_002798c0:\n  iStackY_1e0 = 0x2798cf;\n  local_1b8 = param_3;\n  local_1b4 = param_2;\n  local_1b0 = param_1;\n  local_17c = strlen((char *)param_1);\n  local_1a0 = param_1;\n  local_19c = param_1 + local_17c;\n  iVar10 = local_17c * -0x20;\n  local_188 = (byte *)(local_17c * 2);\n  local_198 = 0x11;\n  uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;\n  iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);\n  local_184 = auStack_1cc + iVar2 + iVar10;\n  local_18c = 0;\n  local_180 = 0;\n  local_178 = 0;\n  local_174 = 0;\n  local_170 = 0;\n  local_16c = 0;\n  local_190 = uVar15 * 4;\n  if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)d_encoding();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)d_make_comp();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)d_type();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      d_encoding();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)d_make_comp();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }\n  local_1b0 = pbVar14;\n  local_1bc = ppbVar5;\n  if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    d_count_templates_scopes();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    d_print_comp();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }\n  return false;\n}\n\n" comment (function_definition "bool __regparm3 d_demangle_callback_constprop_21(byte *param_1,code *param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  byte **ppbVar3;\n  code *pcVar4;\n  byte **ppbVar5;\n  byte **ppbVar6;\n  size_t sVar7;\n  byte *pbVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 *puVar12;\n  byte bVar13;\n  byte *pbVar14;\n  uint uVar15;\n  bool bVar16;\n  bool bVar17;\n  int iStackY_1e0;\n  undefined1 auStack_1cc [12];\n  int local_1c0;\n  byte **local_1bc;\n  undefined4 local_1b8;\n  code *local_1b4;\n  byte *local_1b0;\n  byte *local_1a0;\n  byte *local_19c;\n  uint local_198;\n  byte **local_194;\n  int local_190;\n  int local_18c;\n  byte *local_188;\n  undefined1 *local_184;\n  undefined4 local_180;\n  size_t local_17c;\n  undefined4 local_178;\n  undefined4 local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined1 local_168 [256];\n  int local_68;\n  undefined1 local_64;\n  code *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined1 *local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined1 *local_2c;\n  undefined4 local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27983b;\n  bVar13 = *param_1;\n  local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);\n  bVar16 = bVar13 < 0x5f;\n  bVar17 = bVar13 == 0x5f;\n  if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }\n  iVar10 = 8;\n  pbVar8 = param_1;\n  pbVar14 = (byte *)"_GLOBAL_";\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);\n  bVar13 = 0;\n  if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }\nLAB_002798c0:\n  iStackY_1e0 = 0x2798cf;\n  local_1b8 = param_3;\n  local_1b4 = param_2;\n  local_1b0 = param_1;\n  local_17c = strlen((char *)param_1);\n  local_1a0 = param_1;\n  local_19c = param_1 + local_17c;\n  iVar10 = local_17c * -0x20;\n  local_188 = (byte *)(local_17c * 2);\n  local_198 = 0x11;\n  uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;\n  iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);\n  local_184 = auStack_1cc + iVar2 + iVar10;\n  local_18c = 0;\n  local_180 = 0;\n  local_178 = 0;\n  local_174 = 0;\n  local_170 = 0;\n  local_16c = 0;\n  local_190 = uVar15 * 4;\n  if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)d_encoding();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)d_make_comp();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)d_type();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      d_encoding();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)d_make_comp();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }\n  local_1b0 = pbVar14;\n  local_1bc = ppbVar5;\n  if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    d_count_templates_scopes();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    d_print_comp();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }\n  return false;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "d_demangle_callback_constprop_21(byte *param_1,code *param_2,undefined4 param_3)" identifier (parameter_list "(byte *param_1,code *param_2,undefined4 param_3)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "code *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  byte **ppbVar3;\n  code *pcVar4;\n  byte **ppbVar5;\n  byte **ppbVar6;\n  size_t sVar7;\n  byte *pbVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 *puVar12;\n  byte bVar13;\n  byte *pbVar14;\n  uint uVar15;\n  bool bVar16;\n  bool bVar17;\n  int iStackY_1e0;\n  undefined1 auStack_1cc [12];\n  int local_1c0;\n  byte **local_1bc;\n  undefined4 local_1b8;\n  code *local_1b4;\n  byte *local_1b0;\n  byte *local_1a0;\n  byte *local_19c;\n  uint local_198;\n  byte **local_194;\n  int local_190;\n  int local_18c;\n  byte *local_188;\n  undefined1 *local_184;\n  undefined4 local_180;\n  size_t local_17c;\n  undefined4 local_178;\n  undefined4 local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined1 local_168 [256];\n  int local_68;\n  undefined1 local_64;\n  code *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined1 *local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined1 *local_2c;\n  undefined4 local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27983b;\n  bVar13 = *param_1;\n  local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);\n  bVar16 = bVar13 < 0x5f;\n  bVar17 = bVar13 == 0x5f;\n  if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }\n  iVar10 = 8;\n  pbVar8 = param_1;\n  pbVar14 = (byte *)"_GLOBAL_";\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);\n  bVar13 = 0;\n  if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }\nLAB_002798c0:\n  iStackY_1e0 = 0x2798cf;\n  local_1b8 = param_3;\n  local_1b4 = param_2;\n  local_1b0 = param_1;\n  local_17c = strlen((char *)param_1);\n  local_1a0 = param_1;\n  local_19c = param_1 + local_17c;\n  iVar10 = local_17c * -0x20;\n  local_188 = (byte *)(local_17c * 2);\n  local_198 = 0x11;\n  uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;\n  iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);\n  local_184 = auStack_1cc + iVar2 + iVar10;\n  local_18c = 0;\n  local_180 = 0;\n  local_178 = 0;\n  local_174 = 0;\n  local_170 = 0;\n  local_16c = 0;\n  local_190 = uVar15 * 4;\n  if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)d_encoding();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)d_make_comp();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)d_type();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      d_encoding();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)d_make_comp();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }\n  local_1b0 = pbVar14;\n  local_1bc = ppbVar5;\n  if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    d_count_templates_scopes();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    d_print_comp();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }\n  return false;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "byte **ppbVar3;" type_identifier (pointer_declarator "**ppbVar3" * (pointer_declarator "*ppbVar3" * identifier)) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "byte **ppbVar5;" type_identifier (pointer_declarator "**ppbVar5" * (pointer_declarator "*ppbVar5" * identifier)) ;) (declaration "byte **ppbVar6;" type_identifier (pointer_declarator "**ppbVar6" * (pointer_declarator "*ppbVar6" * identifier)) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "int iStackY_1e0;" primitive_type identifier ;) (declaration "undefined1 auStack_1cc [12];" type_identifier (array_declarator "auStack_1cc [12]" identifier [ number_literal ]) ;) (declaration "int local_1c0;" primitive_type identifier ;) (declaration "byte **local_1bc;" type_identifier (pointer_declarator "**local_1bc" * (pointer_declarator "*local_1bc" * identifier)) ;) (declaration "undefined4 local_1b8;" type_identifier identifier ;) (declaration "code *local_1b4;" type_identifier (pointer_declarator "*local_1b4" * identifier) ;) (declaration "byte *local_1b0;" type_identifier (pointer_declarator "*local_1b0" * identifier) ;) (declaration "byte *local_1a0;" type_identifier (pointer_declarator "*local_1a0" * identifier) ;) (declaration "byte *local_19c;" type_identifier (pointer_declarator "*local_19c" * identifier) ;) (declaration "uint local_198;" type_identifier identifier ;) (declaration "byte **local_194;" type_identifier (pointer_declarator "**local_194" * (pointer_declarator "*local_194" * identifier)) ;) (declaration "int local_190;" primitive_type identifier ;) (declaration "int local_18c;" primitive_type identifier ;) (declaration "byte *local_188;" type_identifier (pointer_declarator "*local_188" * identifier) ;) (declaration "undefined1 *local_184;" type_identifier (pointer_declarator "*local_184" * identifier) ;) (declaration "undefined4 local_180;" type_identifier identifier ;) (declaration "size_t local_17c;" primitive_type identifier ;) (declaration "undefined4 local_178;" type_identifier identifier ;) (declaration "undefined4 local_174;" type_identifier identifier ;) (declaration "undefined4 local_170;" type_identifier identifier ;) (declaration "undefined4 local_16c;" type_identifier identifier ;) (declaration "undefined1 local_168 [256];" type_identifier (array_declarator "local_168 [256]" identifier [ number_literal ]) ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "undefined1 local_64;" type_identifier identifier ;) (declaration "code *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined1 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "undefined1 *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x27983b;" (assignment_expression "uStack_14 = 0x27983b" identifier = number_literal) ;) (expression_statement "bVar13 = *param_1;" (assignment_expression "bVar13 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);" (assignment_expression "local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13)" identifier = (cast_expression "(byte **)CONCAT31(local_1bc._1_3_,bVar13)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_1bc._1_3_,bVar13)" identifier (argument_list "(local_1bc._1_3_,bVar13)" ( (field_expression "local_1bc._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "bVar16 = bVar13 < 0x5f;" (assignment_expression "bVar16 = bVar13 < 0x5f" identifier = (binary_expression "bVar13 < 0x5f" identifier < number_literal)) ;) (expression_statement "bVar17 = bVar13 == 0x5f;" (assignment_expression "bVar17 = bVar13 == 0x5f" identifier = (binary_expression "bVar13 == 0x5f" identifier == number_literal)) ;) (if_statement "if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }" if (parenthesized_expression "(bVar17)" ( identifier )) (compound_statement "{\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }" { (expression_statement "bVar13 = 1;" (assignment_expression "bVar13 = 1" identifier = number_literal) ;) (expression_statement "bVar16 = param_1[1] < 0x5a;" (assignment_expression "bVar16 = param_1[1] < 0x5a" identifier = (binary_expression "param_1[1] < 0x5a" (subscript_expression "param_1[1]" identifier [ number_literal ]) < number_literal)) ;) (expression_statement "bVar17 = param_1[1] == 0x5a;" (assignment_expression "bVar17 = param_1[1] == 0x5a" identifier = (binary_expression "param_1[1] == 0x5a" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal)) ;) (if_statement "if (bVar17) goto LAB_002798c0;" if (parenthesized_expression "(bVar17)" ( identifier )) (goto_statement "goto LAB_002798c0;" goto statement_identifier ;)) })) (expression_statement "iVar10 = 8;" (assignment_expression "iVar10 = 8" identifier = number_literal) ;) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (expression_statement "pbVar14 = (byte *)"_GLOBAL_";" (assignment_expression "pbVar14 = (byte *)"_GLOBAL_"" identifier = (cast_expression "(byte *)"_GLOBAL_"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""_GLOBAL_"" " string_content "))) ;) (do_statement "do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);" do (compound_statement "{\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar8 < *pbVar14;" (assignment_expression "bVar16 = *pbVar8 < *pbVar14" identifier = (binary_expression "*pbVar8 < *pbVar14" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar14" * identifier))) ;) (expression_statement "bVar17 = *pbVar8 == *pbVar14;" (assignment_expression "bVar17 = *pbVar8 == *pbVar14" identifier = (binary_expression "*pbVar8 == *pbVar14" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar14" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar17)" ( identifier )) ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (if_statement "if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }" if (parenthesized_expression "(((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f))" ( (binary_expression "((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)" (parenthesized_expression "((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49))))" ( (binary_expression "(((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))" (parenthesized_expression "(((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24))))" ( (binary_expression "((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))" (parenthesized_expression "((!bVar16 && !bVar17) == bVar16)" ( (binary_expression "(!bVar16 && !bVar17) == bVar16" (parenthesized_expression "(!bVar16 && !bVar17)" ( (binary_expression "!bVar16 && !bVar17" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar17" ! identifier)) )) == identifier) )) && (parenthesized_expression "((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))" ( (parenthesized_expression "(bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24))" ( (comma_expression "bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)" (assignment_expression "bVar1 = param_1[8]" identifier = (subscript_expression "param_1[8]" identifier [ number_literal ])) , (binary_expression "bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)" (binary_expression "bVar1 == 0x2e || bVar1 == 0x5f" (binary_expression "bVar1 == 0x2e" identifier == number_literal) || (binary_expression "bVar1 == 0x5f" identifier == number_literal)) || (parenthesized_expression "(bVar1 == 0x24)" ( (binary_expression "bVar1 == 0x24" identifier == number_literal) )))) )) ))) )) && (parenthesized_expression "((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))" ( (parenthesized_expression "(bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49))" ( (comma_expression "bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)" (assignment_expression "bVar1 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) , (binary_expression "bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)" (binary_expression "bVar1 == 0x44" identifier == number_literal) || (parenthesized_expression "(bVar13 = 0, bVar1 == 0x49)" ( (comma_expression "bVar13 = 0, bVar1 == 0x49" (assignment_expression "bVar13 = 0" identifier = number_literal) , (binary_expression "bVar1 == 0x49" identifier == number_literal)) )))) )) ))) )) && (parenthesized_expression "(bVar13 = 0, param_1[10] == 0x5f)" ( (comma_expression "bVar13 = 0, param_1[10] == 0x5f" (assignment_expression "bVar13 = 0" identifier = number_literal) , (binary_expression "param_1[10] == 0x5f" (subscript_expression "param_1[10]" identifier [ number_literal ]) == number_literal)) ))) )) (compound_statement "{\n    bVar13 = (bVar1 != 0x49) + 2;\n  }" { (expression_statement "bVar13 = (bVar1 != 0x49) + 2;" (assignment_expression "bVar13 = (bVar1 != 0x49) + 2" identifier = (binary_expression "(bVar1 != 0x49) + 2" (parenthesized_expression "(bVar1 != 0x49)" ( (binary_expression "bVar1 != 0x49" identifier != number_literal) )) + number_literal)) ;) })) (labeled_statement "LAB_002798c0:\n  iStackY_1e0 = 0x2798cf;" statement_identifier : (expression_statement "iStackY_1e0 = 0x2798cf;" (assignment_expression "iStackY_1e0 = 0x2798cf" identifier = number_literal) ;)) (expression_statement "local_1b8 = param_3;" (assignment_expression "local_1b8 = param_3" identifier = identifier) ;) (expression_statement "local_1b4 = param_2;" (assignment_expression "local_1b4 = param_2" identifier = identifier) ;) (expression_statement "local_1b0 = param_1;" (assignment_expression "local_1b0 = param_1" identifier = identifier) ;) (expression_statement "local_17c = strlen((char *)param_1);" (assignment_expression "local_17c = strlen((char *)param_1)" identifier = (call_expression "strlen((char *)param_1)" identifier (argument_list "((char *)param_1)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_1a0 = param_1;" (assignment_expression "local_1a0 = param_1" identifier = identifier) ;) (expression_statement "local_19c = param_1 + local_17c;" (assignment_expression "local_19c = param_1 + local_17c" identifier = (binary_expression "param_1 + local_17c" identifier + identifier)) ;) (expression_statement "iVar10 = local_17c * -0x20;" (assignment_expression "iVar10 = local_17c * -0x20" identifier = (binary_expression "local_17c * -0x20" identifier * number_literal)) ;) (expression_statement "local_188 = (byte *)(local_17c * 2);" (assignment_expression "local_188 = (byte *)(local_17c * 2)" identifier = (cast_expression "(byte *)(local_17c * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_17c * 2)" ( (binary_expression "local_17c * 2" identifier * number_literal) )))) ;) (expression_statement "local_198 = 0x11;" (assignment_expression "local_198 = 0x11" identifier = number_literal) ;) (expression_statement "uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;" (assignment_expression "uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2" identifier = (binary_expression "(uint)(auStack_1cc + iVar10 + 3) >> 2" (call_expression "(uint)(auStack_1cc + iVar10 + 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(auStack_1cc + iVar10 + 3)" ( (binary_expression "auStack_1cc + iVar10 + 3" (binary_expression "auStack_1cc + iVar10" identifier + identifier) + number_literal) ))) >> number_literal)) ;) (expression_statement "iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);" (assignment_expression "iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0)" identifier = (unary_expression "-(local_17c * 4 + 0xf & 0xfffffff0)" - (parenthesized_expression "(local_17c * 4 + 0xf & 0xfffffff0)" ( (binary_expression "local_17c * 4 + 0xf & 0xfffffff0" (binary_expression "local_17c * 4 + 0xf" (binary_expression "local_17c * 4" identifier * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "local_184 = auStack_1cc + iVar2 + iVar10;" (assignment_expression "local_184 = auStack_1cc + iVar2 + iVar10" identifier = (binary_expression "auStack_1cc + iVar2 + iVar10" (binary_expression "auStack_1cc + iVar2" identifier + identifier) + identifier)) ;) (expression_statement "local_18c = 0;" (assignment_expression "local_18c = 0" identifier = number_literal) ;) (expression_statement "local_180 = 0;" (assignment_expression "local_180 = 0" identifier = number_literal) ;) (expression_statement "local_178 = 0;" (assignment_expression "local_178 = 0" identifier = number_literal) ;) (expression_statement "local_174 = 0;" (assignment_expression "local_174 = 0" identifier = number_literal) ;) (expression_statement "local_170 = 0;" (assignment_expression "local_170 = 0" identifier = number_literal) ;) (expression_statement "local_16c = 0;" (assignment_expression "local_16c = 0" identifier = number_literal) ;) (expression_statement "local_190 = uVar15 * 4;" (assignment_expression "local_190 = uVar15 * 4" identifier = (binary_expression "uVar15 * 4" identifier * number_literal)) ;) (if_statement "if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)d_encoding();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)d_make_comp();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)d_type();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      d_encoding();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)d_make_comp();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" if (parenthesized_expression "(bVar13 == 1)" ( (binary_expression "bVar13 == 1" identifier == number_literal) )) (compound_statement "{\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)d_encoding();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)d_make_comp();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }" { (if_statement "if ((char)local_1bc != '_') {\n      return false;\n    }" if (parenthesized_expression "((char)local_1bc != '_')" ( (binary_expression "(char)local_1bc != '_'" (cast_expression "(char)local_1bc" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'_'" ' character ')) )) (compound_statement "{\n      return false;\n    }" { (return_statement "return false;" return false ;) })) (if_statement "if (local_1b0[1] != 0x5a) {\n      return false;\n    }" if (parenthesized_expression "(local_1b0[1] != 0x5a)" ( (binary_expression "local_1b0[1] != 0x5a" (subscript_expression "local_1b0[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      return false;\n    }" { (return_statement "return false;" return false ;) })) (expression_statement "local_194 = (byte **)(local_1b0 + 2);" (assignment_expression "local_194 = (byte **)(local_1b0 + 2)" identifier = (cast_expression "(byte **)(local_1b0 + 2)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_1b0 + 2)" ( (binary_expression "local_1b0 + 2" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "pbVar8 = (byte *)d_encoding();" (assignment_expression "pbVar8 = (byte *)d_encoding()" identifier = (cast_expression "(byte *)d_encoding()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "d_encoding()" identifier (argument_list "()" ( ))))) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" identifier = identifier) ;) (if_statement "if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)d_make_comp();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }" if (parenthesized_expression "((local_198 & 1) == 0)" ( (binary_expression "(local_198 & 1) == 0" (parenthesized_expression "(local_198 & 1)" ( (binary_expression "local_198 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      bVar13 = *(byte *)local_194;\n    }" { (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)d_make_comp();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }" else (compound_statement "{\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)d_make_comp();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }" { (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppbVar6 = &local_1a0;" (assignment_expression "ppbVar6 = &local_1a0" identifier = (pointer_expression "&local_1a0" & identifier)) ;) (expression_statement "ppbVar3 = local_194;" (assignment_expression "ppbVar3 = local_194" identifier = identifier) ;) (expression_statement "iVar11 = local_18c;" (assignment_expression "iVar11 = local_18c" identifier = identifier) ;) (while_statement "while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)d_make_comp();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }" while (parenthesized_expression "(local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e)" ( (comma_expression "local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_1b0 = pbVar8" identifier = identifier) , (comma_expression "local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_1bc = ppbVar6" identifier = identifier) , (comma_expression "local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_194 = ppbVar3" identifier = identifier) , (comma_expression "local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_18c = iVar11" identifier = identifier) , (comma_expression "pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "pbVar8 = local_1b0" identifier = identifier) , (binary_expression "bVar13 == 0x2e" identifier == number_literal)))))) )) (compound_statement "{\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)d_make_comp();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }" { (expression_statement "bVar13 = *(byte *)((int)ppbVar3 + 1);" (assignment_expression "bVar13 = *(byte *)((int)ppbVar3 + 1)" identifier = (pointer_expression "*(byte *)((int)ppbVar3 + 1)" * (cast_expression "(byte *)((int)ppbVar3 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar3 + 1)" ( (binary_expression "(int)ppbVar3 + 1" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }" if (parenthesized_expression "(((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f))" ( (binary_expression "((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)" (parenthesized_expression "((byte)(bVar13 + 0x9f) < 0x1a)" ( (binary_expression "(byte)(bVar13 + 0x9f) < 0x1a" (call_expression "(byte)(bVar13 + 0x9f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 + 0x9f)" ( (binary_expression "bVar13 + 0x9f" identifier + number_literal) ))) < number_literal) )) || (parenthesized_expression "(bVar13 == 0x5f)" ( (binary_expression "bVar13 == 0x5f" identifier == number_literal) ))) )) (compound_statement "{\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }" { (expression_statement "bVar13 = *(byte *)((int)ppbVar3 + 2);" (assignment_expression "bVar13 = *(byte *)((int)ppbVar3 + 2)" identifier = (pointer_expression "*(byte *)((int)ppbVar3 + 2)" * (cast_expression "(byte *)((int)ppbVar3 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar3 + 2)" ( (binary_expression "(int)ppbVar3 + 2" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_194 = (byte **)((int)ppbVar3 + 2);" (assignment_expression "local_194 = (byte **)((int)ppbVar3 + 2)" identifier = (cast_expression "(byte **)((int)ppbVar3 + 2)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppbVar3 + 2)" ( (binary_expression "(int)ppbVar3 + 2" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;" if (parenthesized_expression "(0x19 < (byte)(bVar13 + 0x9f))" ( (binary_expression "0x19 < (byte)(bVar13 + 0x9f)" number_literal < (call_expression "(byte)(bVar13 + 0x9f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 + 0x9f)" ( (binary_expression "bVar13 + 0x9f" identifier + number_literal) )))) )) (goto_statement "goto LAB_00279dce;" goto statement_identifier ;)) (do_statement "do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);" do (compound_statement "{\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          }" { (do_statement "do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);" do (compound_statement "{\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            }" { (expression_statement "local_194 = (byte **)((int)local_194 + 1);" (assignment_expression "local_194 = (byte **)((int)local_194 + 1)" identifier = (cast_expression "(byte **)((int)local_194 + 1)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_194 + 1)" ( (binary_expression "(int)local_194 + 1" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) while (parenthesized_expression "((byte)(bVar13 + 0x9f) < 0x1a)" ( (binary_expression "(byte)(bVar13 + 0x9f) < 0x1a" (call_expression "(byte)(bVar13 + 0x9f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 + 0x9f)" ( (binary_expression "bVar13 + 0x9f" identifier + number_literal) ))) < number_literal) )) ;) (labeled_statement "LAB_00279dce:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(bVar13 == 0x5f)" ( (binary_expression "bVar13 == 0x5f" identifier == number_literal) )) ;) }) (else_clause "else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }" else (compound_statement "{\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }" { (if_statement "if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }" if (parenthesized_expression "(9 < (byte)(bVar13 - 0x30))" ( (binary_expression "9 < (byte)(bVar13 - 0x30)" number_literal < (call_expression "(byte)(bVar13 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 - 0x30)" ( (binary_expression "bVar13 - 0x30" identifier - number_literal) )))) )) (compound_statement "{\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }" { (expression_statement "bVar13 = *(byte *)ppbVar3;" (assignment_expression "bVar13 = *(byte *)ppbVar3" identifier = (pointer_expression "*(byte *)ppbVar3" * (cast_expression "(byte *)ppbVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "bVar13 = *(byte *)ppbVar3;" (assignment_expression "bVar13 = *(byte *)ppbVar3" identifier = (pointer_expression "*(byte *)ppbVar3" * (cast_expression "(byte *)ppbVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (while_statement "while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }" while (parenthesized_expression "((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10)))" ( (parenthesized_expression "(bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))" ( (binary_expression "bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10)" (binary_expression "bVar13 == 0x2e" identifier == number_literal) && (parenthesized_expression "((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10)" ( (binary_expression "(byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10" (call_expression "(byte)(*(byte *)((int)local_194 + 1) - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(byte *)((int)local_194 + 1) - 0x30)" ( (binary_expression "*(byte *)((int)local_194 + 1) - 0x30" (pointer_expression "*(byte *)((int)local_194 + 1)" * (cast_expression "(byte *)((int)local_194 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_194 + 1)" ( (binary_expression "(int)local_194 + 1" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) - number_literal) ))) < number_literal) ))) )) )) (compound_statement "{\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }" { (expression_statement "pbVar8 = (byte *)((int)local_194 + 2);" (assignment_expression "pbVar8 = (byte *)((int)local_194 + 2)" identifier = (cast_expression "(byte *)((int)local_194 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_194 + 2)" ( (binary_expression "(int)local_194 + 2" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_194 = (byte **)((int)local_194 + 2);" (assignment_expression "local_194 = (byte **)((int)local_194 + 2)" identifier = (cast_expression "(byte **)((int)local_194 + 2)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_194 + 2)" ( (binary_expression "(int)local_194 + 2" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar13 = *pbVar8;" (assignment_expression "bVar13 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (while_statement "while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }" while (parenthesized_expression "((byte)(bVar13 - 0x30) < 10)" ( (binary_expression "(byte)(bVar13 - 0x30) < 10" (call_expression "(byte)(bVar13 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 - 0x30)" ( (binary_expression "bVar13 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }" { (expression_statement "local_194 = (byte **)((int)local_194 + 1);" (assignment_expression "local_194 = (byte **)((int)local_194 + 1)" identifier = (cast_expression "(byte **)((int)local_194 + 1)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_194 + 1)" ( (binary_expression "(int)local_194 + 1" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) })) (if_statement "if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }" if (parenthesized_expression "(iVar11 < (int)local_188)" ( (binary_expression "iVar11 < (int)local_188" identifier < (cast_expression "(int)local_188" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }" { (expression_statement "local_18c = iVar11 + 1;" (assignment_expression "local_18c = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);" (assignment_expression "puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190)" identifier = (cast_expression "(undefined4 *)(iVar11 * 0x10 + local_190)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 * 0x10 + local_190)" ( (binary_expression "iVar11 * 0x10 + local_190" (binary_expression "iVar11 * 0x10" identifier * number_literal) + identifier) )))) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;" if (parenthesized_expression "((int)local_194 - (int)ppbVar3 == 0)" ( (binary_expression "(int)local_194 - (int)ppbVar3 == 0" (binary_expression "(int)local_194 - (int)ppbVar3" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier)) == number_literal) )) (goto_statement "goto LAB_00279da0;" goto statement_identifier ;)) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar12 = 0;" (assignment_expression "*puVar12 = 0" (pointer_expression "*puVar12" * identifier) = number_literal) ;) (expression_statement "puVar12[2] = ppbVar3;" (assignment_expression "puVar12[2] = ppbVar3" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[3] = (int)local_194 - (int)ppbVar3;" (assignment_expression "puVar12[3] = (int)local_194 - (int)ppbVar3" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = (binary_expression "(int)local_194 - (int)ppbVar3" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }" else (compound_statement "{\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }" { (labeled_statement "LAB_00279da0:\n          puVar12 = (undefined4 *)0x0;" statement_identifier : (expression_statement "puVar12 = (undefined4 *)0x0;" (assignment_expression "puVar12 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (expression_statement "*(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;" (assignment_expression "*(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12" (pointer_expression "*(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "pbVar8 = (byte *)d_make_comp();" (assignment_expression "pbVar8 = (byte *)d_make_comp()" identifier = (cast_expression "(byte *)d_make_comp()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "d_make_comp()" identifier (argument_list "()" ( ))))) ;) (expression_statement "ppbVar6 = local_1bc;" (assignment_expression "ppbVar6 = local_1bc" identifier = identifier) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" identifier = identifier) ;) (expression_statement "ppbVar3 = local_194;" (assignment_expression "ppbVar3 = local_194" identifier = identifier) ;) (expression_statement "iVar11 = local_18c;" (assignment_expression "iVar11 = local_18c" identifier = identifier) ;) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) }))) }) (else_clause "else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)d_type();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      d_encoding();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)d_make_comp();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" else (if_statement "if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)d_type();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      d_encoding();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)d_make_comp();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" if (parenthesized_expression "((bVar13 == 0) || (3 < bVar13))" ( (binary_expression "(bVar13 == 0) || (3 < bVar13)" (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "(3 < bVar13)" ( (binary_expression "3 < bVar13" number_literal < identifier) ))) )) (compound_statement "{\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)d_type();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }" { (expression_statement "local_194 = (byte **)param_1;" (assignment_expression "local_194 = (byte **)param_1" identifier = (cast_expression "(byte **)param_1" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "pbVar8 = (byte *)d_type();" (assignment_expression "pbVar8 = (byte *)d_type()" identifier = (cast_expression "(byte *)d_type()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "d_type()" identifier (argument_list "()" ( ))))) ;) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" identifier = identifier) ;) }) (else_clause "else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      d_encoding();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)d_make_comp();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" else (compound_statement "{\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      d_encoding();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)d_make_comp();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" { (expression_statement "local_1bc = (byte **)(local_1b0 + 0xb);" (assignment_expression "local_1bc = (byte **)(local_1b0 + 0xb)" identifier = (cast_expression "(byte **)(local_1b0 + 0xb)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_1b0 + 0xb)" ( (binary_expression "local_1b0 + 0xb" identifier + number_literal) )))) ;) (expression_statement "local_194 = local_1bc;" (assignment_expression "local_194 = local_1bc" identifier = identifier) ;) (if_statement "if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      d_encoding();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }" if (parenthesized_expression "((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a))" ( (binary_expression "(local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)" (parenthesized_expression "(local_1b0[0xb] == 0x5f)" ( (binary_expression "local_1b0[0xb] == 0x5f" (subscript_expression "local_1b0[0xb]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(local_1b0[0xc] == 0x5a)" ( (binary_expression "local_1b0[0xc] == 0x5a" (subscript_expression "local_1b0[0xc]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      d_encoding();\n    }" { (expression_statement "local_194 = (byte **)(local_1b0 + 0xd);" (assignment_expression "local_194 = (byte **)(local_1b0 + 0xd)" identifier = (cast_expression "(byte **)(local_1b0 + 0xd)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_1b0 + 0xd)" ( (binary_expression "local_1b0 + 0xd" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "d_encoding();" (call_expression "d_encoding()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }" else (compound_statement "{\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }" { (expression_statement "local_1c0 = uVar15 * 4;" (assignment_expression "local_1c0 = uVar15 * 4" identifier = (binary_expression "uVar15 * 4" identifier * number_literal)) ;) (expression_statement "local_1b0 = (byte *)(local_17c * 2);" (assignment_expression "local_1b0 = (byte *)(local_17c * 2)" identifier = (cast_expression "(byte *)(local_17c * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_17c * 2)" ( (binary_expression "local_17c * 2" identifier * number_literal) )))) ;) (expression_statement "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;" (assignment_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc" (pointer_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));" (assignment_expression "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" identifier = (call_expression "strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" identifier (argument_list "(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" ( (pointer_expression "*(char **)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(char **)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) )))) ;) (if_statement "if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }" if (parenthesized_expression "(0 < (int)local_1b0)" ( (binary_expression "0 < (int)local_1b0" number_literal < (cast_expression "(int)local_1b0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }" { (expression_statement "*(undefined4 *)(uVar15 * 4 + 4) = 0;" (assignment_expression "*(undefined4 *)(uVar15 * 4 + 4) = 0" (pointer_expression "*(undefined4 *)(uVar15 * 4 + 4)" * (cast_expression "(undefined4 *)(uVar15 * 4 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 * 4 + 4)" ( (binary_expression "uVar15 * 4 + 4" (binary_expression "uVar15 * 4" identifier * number_literal) + number_literal) )))) = number_literal) ;) (expression_statement "local_18c = 1;" (assignment_expression "local_18c = 1" identifier = number_literal) ;) (if_statement "if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }" if (parenthesized_expression "(sVar7 != 0)" ( (binary_expression "sVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }" { (expression_statement "*(size_t *)(uVar15 * 4 + 0xc) = sVar7;" (assignment_expression "*(size_t *)(uVar15 * 4 + 0xc) = sVar7" (pointer_expression "*(size_t *)(uVar15 * 4 + 0xc)" * (cast_expression "(size_t *)(uVar15 * 4 + 0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 * 4 + 0xc)" ( (binary_expression "uVar15 * 4 + 0xc" (binary_expression "uVar15 * 4" identifier * number_literal) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(uVar15 * 4) = 0;" (assignment_expression "*(undefined4 *)(uVar15 * 4) = 0" (pointer_expression "*(undefined4 *)(uVar15 * 4)" * (cast_expression "(undefined4 *)(uVar15 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 * 4)" ( (binary_expression "uVar15 * 4" identifier * number_literal) )))) = number_literal) ;) (expression_statement "*(byte ***)(uVar15 * 4 + 8) = local_1bc;" (assignment_expression "*(byte ***)(uVar15 * 4 + 8) = local_1bc" (pointer_expression "*(byte ***)(uVar15 * 4 + 8)" * (cast_expression "(byte ***)(uVar15 * 4 + 8)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(uVar15 * 4 + 8)" ( (binary_expression "uVar15 * 4 + 8" (binary_expression "uVar15 * 4" identifier * number_literal) + number_literal) )))) = identifier) ;) })) })) }))) (expression_statement "*(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;" (assignment_expression "*(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0" (pointer_expression "*(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "pbVar8 = (byte *)d_make_comp();" (assignment_expression "pbVar8 = (byte *)d_make_comp()" identifier = (cast_expression "(byte *)d_make_comp()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "d_make_comp()" identifier (argument_list "()" ( ))))) ;) (expression_statement "ppbVar3 = local_194;" (assignment_expression "ppbVar3 = local_194" identifier = identifier) ;) (expression_statement "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;" (assignment_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194" (pointer_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));" (assignment_expression "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" identifier = (call_expression "strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" identifier (argument_list "(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" ( (pointer_expression "*(char **)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(char **)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) )))) ;) (expression_statement "bVar13 = *(byte *)((int)ppbVar3 + sVar7);" (assignment_expression "bVar13 = *(byte *)((int)ppbVar3 + sVar7)" identifier = (pointer_expression "*(byte *)((int)ppbVar3 + sVar7)" * (cast_expression "(byte *)((int)ppbVar3 + sVar7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar3 + sVar7)" ( (binary_expression "(int)ppbVar3 + sVar7" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" identifier = identifier) ;) (expression_statement "local_194 = (byte **)((int)ppbVar3 + sVar7);" (assignment_expression "local_194 = (byte **)((int)ppbVar3 + sVar7)" identifier = (cast_expression "(byte **)((int)ppbVar3 + sVar7)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppbVar3 + sVar7)" ( (binary_expression "(int)ppbVar3 + sVar7" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }))))) (expression_statement "local_1b0 = pbVar14;" (assignment_expression "local_1b0 = pbVar14" identifier = identifier) ;) (expression_statement "local_1bc = ppbVar5;" (assignment_expression "local_1bc = ppbVar5" identifier = identifier) ;) (if_statement "if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    d_count_templates_scopes();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    d_print_comp();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }" if (parenthesized_expression "((pbVar8 != (byte *)0x0) && (bVar13 == 0))" ( (binary_expression "(pbVar8 != (byte *)0x0) && (bVar13 == 0)" (parenthesized_expression "(pbVar8 != (byte *)0x0)" ( (binary_expression "pbVar8 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) ))) )) (compound_statement "{\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    d_count_templates_scopes();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    d_print_comp();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }" { (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38 = (undefined1 *)0x0;" (assignment_expression "local_38 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_2c = (undefined1 *)0x0;" (assignment_expression "local_2c = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_60 = local_1b4;" (assignment_expression "local_60 = local_1b4" identifier = identifier) ;) (expression_statement "local_5c = local_1b8;" (assignment_expression "local_5c = local_1b8" identifier = identifier) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "d_count_templates_scopes();" (call_expression "d_count_templates_scopes()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "local_24 = local_24 * local_30;" (assignment_expression "local_24 = local_24 * local_30" identifier = (binary_expression "local_24 * local_30" identifier * identifier)) ;) (expression_statement "iVar11 = local_30;" (assignment_expression "iVar11 = local_30" identifier = identifier) ;) (if_statement "if (local_30 < 1) {\n      iVar11 = 1;\n    }" if (parenthesized_expression "(local_30 < 1)" ( (binary_expression "local_30 < 1" identifier < number_literal) )) (compound_statement "{\n      iVar11 = 1;\n    }" { (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) })) (expression_statement "iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);" (assignment_expression "iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0)" identifier = (unary_expression "-(iVar11 * 8 + 0xfU & 0xfffffff0)" - (parenthesized_expression "(iVar11 * 8 + 0xfU & 0xfffffff0)" ( (binary_expression "iVar11 * 8 + 0xfU & 0xfffffff0" (binary_expression "iVar11 * 8 + 0xfU" (binary_expression "iVar11 * 8" identifier * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;" (assignment_expression "local_38 = auStack_1cc + iVar11 + iVar2 + iVar10" identifier = (binary_expression "auStack_1cc + iVar11 + iVar2 + iVar10" (binary_expression "auStack_1cc + iVar11 + iVar2" (binary_expression "auStack_1cc + iVar11" identifier + identifier) + identifier) + identifier)) ;) (expression_statement "iVar9 = local_24;" (assignment_expression "iVar9 = local_24" identifier = identifier) ;) (if_statement "if (local_24 < 1) {\n      iVar9 = 1;\n    }" if (parenthesized_expression "(local_24 < 1)" ( (binary_expression "local_24 < 1" identifier < number_literal) )) (compound_statement "{\n      iVar9 = 1;\n    }" { (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) })) (expression_statement "iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);" (assignment_expression "iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0)" identifier = (unary_expression "-(iVar9 * 8 + 0xfU & 0xfffffff0)" - (parenthesized_expression "(iVar9 * 8 + 0xfU & 0xfffffff0)" ( (binary_expression "iVar9 * 8 + 0xfU & 0xfffffff0" (binary_expression "iVar9 * 8 + 0xfU" (binary_expression "iVar9 * 8" identifier * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;" (assignment_expression "local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10" identifier = (binary_expression "auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10" (binary_expression "auStack_1cc + iVar9 + iVar11 + iVar2" (binary_expression "auStack_1cc + iVar9 + iVar11" (binary_expression "auStack_1cc + iVar9" identifier + identifier) + identifier) + identifier) + identifier)) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar9 + iVar11 + iVar2" (binary_expression "&stack0xfffffe30 + iVar9 + iVar11" (binary_expression "&stack0xfffffe30 + iVar9" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "d_print_comp();" (call_expression "d_print_comp()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = local_68;" (assignment_expression "iVar11 = local_68" identifier = identifier) ;) (expression_statement "local_168[local_68] = 0;" (assignment_expression "local_168[local_68] = 0" (subscript_expression "local_168[local_68]" identifier [ identifier ]) = number_literal) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;" (assignment_expression "*(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c" (pointer_expression "*(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe2c + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe2c + iVar2 + iVar10" (binary_expression "&stack0xfffffe2c + iVar2" (pointer_expression "&stack0xfffffe2c" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;" (assignment_expression "*(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11" (pointer_expression "*(int *)(&stack0xfffffe28 + iVar2 + iVar10)" * (cast_expression "(int *)(&stack0xfffffe28 + iVar2 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe28 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe28 + iVar2 + iVar10" (binary_expression "&stack0xfffffe28 + iVar2" (pointer_expression "&stack0xfffffe28" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;" (assignment_expression "*(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168" (pointer_expression "*(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "pcVar4 = local_60;" (assignment_expression "pcVar4 = local_60" identifier = identifier) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (return_statement "return local_50 == 0;" return (binary_expression "local_50 == 0" identifier == number_literal) ;) })) (return_statement "return false;" return false ;) })))
(translation_unit "bool __regparm3 FUN_00279830(byte *param_1,code *param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  byte **ppbVar3;\n  code *pcVar4;\n  byte **ppbVar5;\n  byte **ppbVar6;\n  size_t sVar7;\n  byte *pbVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 *puVar12;\n  byte bVar13;\n  byte *pbVar14;\n  uint uVar15;\n  bool bVar16;\n  bool bVar17;\n  int iStackY_1e0;\n  undefined1 auStack_1cc [12];\n  int local_1c0;\n  byte **local_1bc;\n  undefined4 local_1b8;\n  code *local_1b4;\n  byte *local_1b0;\n  byte *local_1a0;\n  byte *local_19c;\n  uint local_198;\n  byte **local_194;\n  int local_190;\n  int local_18c;\n  byte *local_188;\n  undefined1 *local_184;\n  undefined4 local_180;\n  size_t local_17c;\n  undefined4 local_178;\n  undefined4 local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined1 local_168 [256];\n  int local_68;\n  undefined1 local_64;\n  code *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined1 *local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined1 *local_2c;\n  undefined4 local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27983b;\n  bVar13 = *param_1;\n  local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);\n  bVar16 = bVar13 < 0x5f;\n  bVar17 = bVar13 == 0x5f;\n  if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }\n  iVar10 = 8;\n  pbVar8 = param_1;\n  pbVar14 = (byte *)"_GLOBAL_";\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);\n  bVar13 = 0;\n  if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }\nLAB_002798c0:\n  iStackY_1e0 = 0x2798cf;\n  local_1b8 = param_3;\n  local_1b4 = param_2;\n  local_1b0 = param_1;\n  local_17c = strlen((char *)param_1);\n  local_1a0 = param_1;\n  local_19c = param_1 + local_17c;\n  iVar10 = local_17c * -0x20;\n  local_188 = (byte *)(local_17c * 2);\n  local_198 = 0x11;\n  uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;\n  iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);\n  local_184 = auStack_1cc + iVar2 + iVar10;\n  local_18c = 0;\n  local_180 = 0;\n  local_178 = 0;\n  local_174 = 0;\n  local_170 = 0;\n  local_16c = 0;\n  local_190 = uVar15 * 4;\n  if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)FUN_002728e0();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }\n  local_1b0 = pbVar14;\n  local_1bc = ppbVar5;\n  if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    FUN_0026fce0();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    FUN_00273030();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }\n  return false;\n}\n\n" (function_definition "bool __regparm3 FUN_00279830(byte *param_1,code *param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  byte **ppbVar3;\n  code *pcVar4;\n  byte **ppbVar5;\n  byte **ppbVar6;\n  size_t sVar7;\n  byte *pbVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 *puVar12;\n  byte bVar13;\n  byte *pbVar14;\n  uint uVar15;\n  bool bVar16;\n  bool bVar17;\n  int iStackY_1e0;\n  undefined1 auStack_1cc [12];\n  int local_1c0;\n  byte **local_1bc;\n  undefined4 local_1b8;\n  code *local_1b4;\n  byte *local_1b0;\n  byte *local_1a0;\n  byte *local_19c;\n  uint local_198;\n  byte **local_194;\n  int local_190;\n  int local_18c;\n  byte *local_188;\n  undefined1 *local_184;\n  undefined4 local_180;\n  size_t local_17c;\n  undefined4 local_178;\n  undefined4 local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined1 local_168 [256];\n  int local_68;\n  undefined1 local_64;\n  code *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined1 *local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined1 *local_2c;\n  undefined4 local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27983b;\n  bVar13 = *param_1;\n  local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);\n  bVar16 = bVar13 < 0x5f;\n  bVar17 = bVar13 == 0x5f;\n  if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }\n  iVar10 = 8;\n  pbVar8 = param_1;\n  pbVar14 = (byte *)"_GLOBAL_";\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);\n  bVar13 = 0;\n  if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }\nLAB_002798c0:\n  iStackY_1e0 = 0x2798cf;\n  local_1b8 = param_3;\n  local_1b4 = param_2;\n  local_1b0 = param_1;\n  local_17c = strlen((char *)param_1);\n  local_1a0 = param_1;\n  local_19c = param_1 + local_17c;\n  iVar10 = local_17c * -0x20;\n  local_188 = (byte *)(local_17c * 2);\n  local_198 = 0x11;\n  uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;\n  iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);\n  local_184 = auStack_1cc + iVar2 + iVar10;\n  local_18c = 0;\n  local_180 = 0;\n  local_178 = 0;\n  local_174 = 0;\n  local_170 = 0;\n  local_16c = 0;\n  local_190 = uVar15 * 4;\n  if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)FUN_002728e0();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }\n  local_1b0 = pbVar14;\n  local_1bc = ppbVar5;\n  if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    FUN_0026fce0();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    FUN_00273030();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }\n  return false;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00279830(byte *param_1,code *param_2,undefined4 param_3)" identifier (parameter_list "(byte *param_1,code *param_2,undefined4 param_3)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "code *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  byte **ppbVar3;\n  code *pcVar4;\n  byte **ppbVar5;\n  byte **ppbVar6;\n  size_t sVar7;\n  byte *pbVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 *puVar12;\n  byte bVar13;\n  byte *pbVar14;\n  uint uVar15;\n  bool bVar16;\n  bool bVar17;\n  int iStackY_1e0;\n  undefined1 auStack_1cc [12];\n  int local_1c0;\n  byte **local_1bc;\n  undefined4 local_1b8;\n  code *local_1b4;\n  byte *local_1b0;\n  byte *local_1a0;\n  byte *local_19c;\n  uint local_198;\n  byte **local_194;\n  int local_190;\n  int local_18c;\n  byte *local_188;\n  undefined1 *local_184;\n  undefined4 local_180;\n  size_t local_17c;\n  undefined4 local_178;\n  undefined4 local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined1 local_168 [256];\n  int local_68;\n  undefined1 local_64;\n  code *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined1 *local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined1 *local_2c;\n  undefined4 local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27983b;\n  bVar13 = *param_1;\n  local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);\n  bVar16 = bVar13 < 0x5f;\n  bVar17 = bVar13 == 0x5f;\n  if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }\n  iVar10 = 8;\n  pbVar8 = param_1;\n  pbVar14 = (byte *)"_GLOBAL_";\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);\n  bVar13 = 0;\n  if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }\nLAB_002798c0:\n  iStackY_1e0 = 0x2798cf;\n  local_1b8 = param_3;\n  local_1b4 = param_2;\n  local_1b0 = param_1;\n  local_17c = strlen((char *)param_1);\n  local_1a0 = param_1;\n  local_19c = param_1 + local_17c;\n  iVar10 = local_17c * -0x20;\n  local_188 = (byte *)(local_17c * 2);\n  local_198 = 0x11;\n  uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;\n  iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);\n  local_184 = auStack_1cc + iVar2 + iVar10;\n  local_18c = 0;\n  local_180 = 0;\n  local_178 = 0;\n  local_174 = 0;\n  local_170 = 0;\n  local_16c = 0;\n  local_190 = uVar15 * 4;\n  if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)FUN_002728e0();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }\n  local_1b0 = pbVar14;\n  local_1bc = ppbVar5;\n  if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    FUN_0026fce0();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    FUN_00273030();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }\n  return false;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "byte **ppbVar3;" type_identifier (pointer_declarator "**ppbVar3" * (pointer_declarator "*ppbVar3" * identifier)) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "byte **ppbVar5;" type_identifier (pointer_declarator "**ppbVar5" * (pointer_declarator "*ppbVar5" * identifier)) ;) (declaration "byte **ppbVar6;" type_identifier (pointer_declarator "**ppbVar6" * (pointer_declarator "*ppbVar6" * identifier)) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "int iStackY_1e0;" primitive_type identifier ;) (declaration "undefined1 auStack_1cc [12];" type_identifier (array_declarator "auStack_1cc [12]" identifier [ number_literal ]) ;) (declaration "int local_1c0;" primitive_type identifier ;) (declaration "byte **local_1bc;" type_identifier (pointer_declarator "**local_1bc" * (pointer_declarator "*local_1bc" * identifier)) ;) (declaration "undefined4 local_1b8;" type_identifier identifier ;) (declaration "code *local_1b4;" type_identifier (pointer_declarator "*local_1b4" * identifier) ;) (declaration "byte *local_1b0;" type_identifier (pointer_declarator "*local_1b0" * identifier) ;) (declaration "byte *local_1a0;" type_identifier (pointer_declarator "*local_1a0" * identifier) ;) (declaration "byte *local_19c;" type_identifier (pointer_declarator "*local_19c" * identifier) ;) (declaration "uint local_198;" type_identifier identifier ;) (declaration "byte **local_194;" type_identifier (pointer_declarator "**local_194" * (pointer_declarator "*local_194" * identifier)) ;) (declaration "int local_190;" primitive_type identifier ;) (declaration "int local_18c;" primitive_type identifier ;) (declaration "byte *local_188;" type_identifier (pointer_declarator "*local_188" * identifier) ;) (declaration "undefined1 *local_184;" type_identifier (pointer_declarator "*local_184" * identifier) ;) (declaration "undefined4 local_180;" type_identifier identifier ;) (declaration "size_t local_17c;" primitive_type identifier ;) (declaration "undefined4 local_178;" type_identifier identifier ;) (declaration "undefined4 local_174;" type_identifier identifier ;) (declaration "undefined4 local_170;" type_identifier identifier ;) (declaration "undefined4 local_16c;" type_identifier identifier ;) (declaration "undefined1 local_168 [256];" type_identifier (array_declarator "local_168 [256]" identifier [ number_literal ]) ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "undefined1 local_64;" type_identifier identifier ;) (declaration "code *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined1 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "undefined1 *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x27983b;" (assignment_expression "uStack_14 = 0x27983b" identifier = number_literal) ;) (expression_statement "bVar13 = *param_1;" (assignment_expression "bVar13 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);" (assignment_expression "local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13)" identifier = (cast_expression "(byte **)CONCAT31(local_1bc._1_3_,bVar13)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_1bc._1_3_,bVar13)" identifier (argument_list "(local_1bc._1_3_,bVar13)" ( (field_expression "local_1bc._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "bVar16 = bVar13 < 0x5f;" (assignment_expression "bVar16 = bVar13 < 0x5f" identifier = (binary_expression "bVar13 < 0x5f" identifier < number_literal)) ;) (expression_statement "bVar17 = bVar13 == 0x5f;" (assignment_expression "bVar17 = bVar13 == 0x5f" identifier = (binary_expression "bVar13 == 0x5f" identifier == number_literal)) ;) (if_statement "if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }" if (parenthesized_expression "(bVar17)" ( identifier )) (compound_statement "{\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }" { (expression_statement "bVar13 = 1;" (assignment_expression "bVar13 = 1" identifier = number_literal) ;) (expression_statement "bVar16 = param_1[1] < 0x5a;" (assignment_expression "bVar16 = param_1[1] < 0x5a" identifier = (binary_expression "param_1[1] < 0x5a" (subscript_expression "param_1[1]" identifier [ number_literal ]) < number_literal)) ;) (expression_statement "bVar17 = param_1[1] == 0x5a;" (assignment_expression "bVar17 = param_1[1] == 0x5a" identifier = (binary_expression "param_1[1] == 0x5a" (subscript_expression "param_1[1]" identifier [ number_literal ]) == number_literal)) ;) (if_statement "if (bVar17) goto LAB_002798c0;" if (parenthesized_expression "(bVar17)" ( identifier )) (goto_statement "goto LAB_002798c0;" goto statement_identifier ;)) })) (expression_statement "iVar10 = 8;" (assignment_expression "iVar10 = 8" identifier = number_literal) ;) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" identifier = identifier) ;) (expression_statement "pbVar14 = (byte *)"_GLOBAL_";" (assignment_expression "pbVar14 = (byte *)"_GLOBAL_"" identifier = (cast_expression "(byte *)"_GLOBAL_"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""_GLOBAL_"" " string_content "))) ;) (do_statement "do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);" do (compound_statement "{\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar16 = *pbVar8 < *pbVar14;" (assignment_expression "bVar16 = *pbVar8 < *pbVar14" identifier = (binary_expression "*pbVar8 < *pbVar14" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar14" * identifier))) ;) (expression_statement "bVar17 = *pbVar8 == *pbVar14;" (assignment_expression "bVar17 = *pbVar8 == *pbVar14" identifier = (binary_expression "*pbVar8 == *pbVar14" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar14" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar17)" ( identifier )) ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (if_statement "if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }" if (parenthesized_expression "(((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f))" ( (binary_expression "((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)" (parenthesized_expression "((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49))))" ( (binary_expression "(((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))" (parenthesized_expression "(((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24))))" ( (binary_expression "((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))" (parenthesized_expression "((!bVar16 && !bVar17) == bVar16)" ( (binary_expression "(!bVar16 && !bVar17) == bVar16" (parenthesized_expression "(!bVar16 && !bVar17)" ( (binary_expression "!bVar16 && !bVar17" (unary_expression "!bVar16" ! identifier) && (unary_expression "!bVar17" ! identifier)) )) == identifier) )) && (parenthesized_expression "((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))" ( (parenthesized_expression "(bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24))" ( (comma_expression "bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)" (assignment_expression "bVar1 = param_1[8]" identifier = (subscript_expression "param_1[8]" identifier [ number_literal ])) , (binary_expression "bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)" (binary_expression "bVar1 == 0x2e || bVar1 == 0x5f" (binary_expression "bVar1 == 0x2e" identifier == number_literal) || (binary_expression "bVar1 == 0x5f" identifier == number_literal)) || (parenthesized_expression "(bVar1 == 0x24)" ( (binary_expression "bVar1 == 0x24" identifier == number_literal) )))) )) ))) )) && (parenthesized_expression "((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))" ( (parenthesized_expression "(bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49))" ( (comma_expression "bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)" (assignment_expression "bVar1 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) , (binary_expression "bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)" (binary_expression "bVar1 == 0x44" identifier == number_literal) || (parenthesized_expression "(bVar13 = 0, bVar1 == 0x49)" ( (comma_expression "bVar13 = 0, bVar1 == 0x49" (assignment_expression "bVar13 = 0" identifier = number_literal) , (binary_expression "bVar1 == 0x49" identifier == number_literal)) )))) )) ))) )) && (parenthesized_expression "(bVar13 = 0, param_1[10] == 0x5f)" ( (comma_expression "bVar13 = 0, param_1[10] == 0x5f" (assignment_expression "bVar13 = 0" identifier = number_literal) , (binary_expression "param_1[10] == 0x5f" (subscript_expression "param_1[10]" identifier [ number_literal ]) == number_literal)) ))) )) (compound_statement "{\n    bVar13 = (bVar1 != 0x49) + 2;\n  }" { (expression_statement "bVar13 = (bVar1 != 0x49) + 2;" (assignment_expression "bVar13 = (bVar1 != 0x49) + 2" identifier = (binary_expression "(bVar1 != 0x49) + 2" (parenthesized_expression "(bVar1 != 0x49)" ( (binary_expression "bVar1 != 0x49" identifier != number_literal) )) + number_literal)) ;) })) (labeled_statement "LAB_002798c0:\n  iStackY_1e0 = 0x2798cf;" statement_identifier : (expression_statement "iStackY_1e0 = 0x2798cf;" (assignment_expression "iStackY_1e0 = 0x2798cf" identifier = number_literal) ;)) (expression_statement "local_1b8 = param_3;" (assignment_expression "local_1b8 = param_3" identifier = identifier) ;) (expression_statement "local_1b4 = param_2;" (assignment_expression "local_1b4 = param_2" identifier = identifier) ;) (expression_statement "local_1b0 = param_1;" (assignment_expression "local_1b0 = param_1" identifier = identifier) ;) (expression_statement "local_17c = strlen((char *)param_1);" (assignment_expression "local_17c = strlen((char *)param_1)" identifier = (call_expression "strlen((char *)param_1)" identifier (argument_list "((char *)param_1)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_1a0 = param_1;" (assignment_expression "local_1a0 = param_1" identifier = identifier) ;) (expression_statement "local_19c = param_1 + local_17c;" (assignment_expression "local_19c = param_1 + local_17c" identifier = (binary_expression "param_1 + local_17c" identifier + identifier)) ;) (expression_statement "iVar10 = local_17c * -0x20;" (assignment_expression "iVar10 = local_17c * -0x20" identifier = (binary_expression "local_17c * -0x20" identifier * number_literal)) ;) (expression_statement "local_188 = (byte *)(local_17c * 2);" (assignment_expression "local_188 = (byte *)(local_17c * 2)" identifier = (cast_expression "(byte *)(local_17c * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_17c * 2)" ( (binary_expression "local_17c * 2" identifier * number_literal) )))) ;) (expression_statement "local_198 = 0x11;" (assignment_expression "local_198 = 0x11" identifier = number_literal) ;) (expression_statement "uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;" (assignment_expression "uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2" identifier = (binary_expression "(uint)(auStack_1cc + iVar10 + 3) >> 2" (call_expression "(uint)(auStack_1cc + iVar10 + 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(auStack_1cc + iVar10 + 3)" ( (binary_expression "auStack_1cc + iVar10 + 3" (binary_expression "auStack_1cc + iVar10" identifier + identifier) + number_literal) ))) >> number_literal)) ;) (expression_statement "iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);" (assignment_expression "iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0)" identifier = (unary_expression "-(local_17c * 4 + 0xf & 0xfffffff0)" - (parenthesized_expression "(local_17c * 4 + 0xf & 0xfffffff0)" ( (binary_expression "local_17c * 4 + 0xf & 0xfffffff0" (binary_expression "local_17c * 4 + 0xf" (binary_expression "local_17c * 4" identifier * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "local_184 = auStack_1cc + iVar2 + iVar10;" (assignment_expression "local_184 = auStack_1cc + iVar2 + iVar10" identifier = (binary_expression "auStack_1cc + iVar2 + iVar10" (binary_expression "auStack_1cc + iVar2" identifier + identifier) + identifier)) ;) (expression_statement "local_18c = 0;" (assignment_expression "local_18c = 0" identifier = number_literal) ;) (expression_statement "local_180 = 0;" (assignment_expression "local_180 = 0" identifier = number_literal) ;) (expression_statement "local_178 = 0;" (assignment_expression "local_178 = 0" identifier = number_literal) ;) (expression_statement "local_174 = 0;" (assignment_expression "local_174 = 0" identifier = number_literal) ;) (expression_statement "local_170 = 0;" (assignment_expression "local_170 = 0" identifier = number_literal) ;) (expression_statement "local_16c = 0;" (assignment_expression "local_16c = 0" identifier = number_literal) ;) (expression_statement "local_190 = uVar15 * 4;" (assignment_expression "local_190 = uVar15 * 4" identifier = (binary_expression "uVar15 * 4" identifier * number_literal)) ;) (if_statement "if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)FUN_002728e0();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" if (parenthesized_expression "(bVar13 == 1)" ( (binary_expression "bVar13 == 1" identifier == number_literal) )) (compound_statement "{\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)FUN_002728e0();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }" { (if_statement "if ((char)local_1bc != '_') {\n      return false;\n    }" if (parenthesized_expression "((char)local_1bc != '_')" ( (binary_expression "(char)local_1bc != '_'" (cast_expression "(char)local_1bc" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'_'" ' character ')) )) (compound_statement "{\n      return false;\n    }" { (return_statement "return false;" return false ;) })) (if_statement "if (local_1b0[1] != 0x5a) {\n      return false;\n    }" if (parenthesized_expression "(local_1b0[1] != 0x5a)" ( (binary_expression "local_1b0[1] != 0x5a" (subscript_expression "local_1b0[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      return false;\n    }" { (return_statement "return false;" return false ;) })) (expression_statement "local_194 = (byte **)(local_1b0 + 2);" (assignment_expression "local_194 = (byte **)(local_1b0 + 2)" identifier = (cast_expression "(byte **)(local_1b0 + 2)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_1b0 + 2)" ( (binary_expression "local_1b0 + 2" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "pbVar8 = (byte *)FUN_002728e0();" (assignment_expression "pbVar8 = (byte *)FUN_002728e0()" identifier = (cast_expression "(byte *)FUN_002728e0()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002728e0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" identifier = identifier) ;) (if_statement "if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }" if (parenthesized_expression "((local_198 & 1) == 0)" ( (binary_expression "(local_198 & 1) == 0" (parenthesized_expression "(local_198 & 1)" ( (binary_expression "local_198 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      bVar13 = *(byte *)local_194;\n    }" { (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }" else (compound_statement "{\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }" { (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppbVar6 = &local_1a0;" (assignment_expression "ppbVar6 = &local_1a0" identifier = (pointer_expression "&local_1a0" & identifier)) ;) (expression_statement "ppbVar3 = local_194;" (assignment_expression "ppbVar3 = local_194" identifier = identifier) ;) (expression_statement "iVar11 = local_18c;" (assignment_expression "iVar11 = local_18c" identifier = identifier) ;) (while_statement "while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }" while (parenthesized_expression "(local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e)" ( (comma_expression "local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_1b0 = pbVar8" identifier = identifier) , (comma_expression "local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_1bc = ppbVar6" identifier = identifier) , (comma_expression "local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_194 = ppbVar3" identifier = identifier) , (comma_expression "local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_18c = iVar11" identifier = identifier) , (comma_expression "pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "pbVar8 = local_1b0" identifier = identifier) , (binary_expression "bVar13 == 0x2e" identifier == number_literal)))))) )) (compound_statement "{\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }" { (expression_statement "bVar13 = *(byte *)((int)ppbVar3 + 1);" (assignment_expression "bVar13 = *(byte *)((int)ppbVar3 + 1)" identifier = (pointer_expression "*(byte *)((int)ppbVar3 + 1)" * (cast_expression "(byte *)((int)ppbVar3 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar3 + 1)" ( (binary_expression "(int)ppbVar3 + 1" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }" if (parenthesized_expression "(((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f))" ( (binary_expression "((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)" (parenthesized_expression "((byte)(bVar13 + 0x9f) < 0x1a)" ( (binary_expression "(byte)(bVar13 + 0x9f) < 0x1a" (call_expression "(byte)(bVar13 + 0x9f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 + 0x9f)" ( (binary_expression "bVar13 + 0x9f" identifier + number_literal) ))) < number_literal) )) || (parenthesized_expression "(bVar13 == 0x5f)" ( (binary_expression "bVar13 == 0x5f" identifier == number_literal) ))) )) (compound_statement "{\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }" { (expression_statement "bVar13 = *(byte *)((int)ppbVar3 + 2);" (assignment_expression "bVar13 = *(byte *)((int)ppbVar3 + 2)" identifier = (pointer_expression "*(byte *)((int)ppbVar3 + 2)" * (cast_expression "(byte *)((int)ppbVar3 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar3 + 2)" ( (binary_expression "(int)ppbVar3 + 2" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_194 = (byte **)((int)ppbVar3 + 2);" (assignment_expression "local_194 = (byte **)((int)ppbVar3 + 2)" identifier = (cast_expression "(byte **)((int)ppbVar3 + 2)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppbVar3 + 2)" ( (binary_expression "(int)ppbVar3 + 2" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;" if (parenthesized_expression "(0x19 < (byte)(bVar13 + 0x9f))" ( (binary_expression "0x19 < (byte)(bVar13 + 0x9f)" number_literal < (call_expression "(byte)(bVar13 + 0x9f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 + 0x9f)" ( (binary_expression "bVar13 + 0x9f" identifier + number_literal) )))) )) (goto_statement "goto LAB_00279dce;" goto statement_identifier ;)) (do_statement "do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);" do (compound_statement "{\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          }" { (do_statement "do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);" do (compound_statement "{\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            }" { (expression_statement "local_194 = (byte **)((int)local_194 + 1);" (assignment_expression "local_194 = (byte **)((int)local_194 + 1)" identifier = (cast_expression "(byte **)((int)local_194 + 1)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_194 + 1)" ( (binary_expression "(int)local_194 + 1" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) while (parenthesized_expression "((byte)(bVar13 + 0x9f) < 0x1a)" ( (binary_expression "(byte)(bVar13 + 0x9f) < 0x1a" (call_expression "(byte)(bVar13 + 0x9f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 + 0x9f)" ( (binary_expression "bVar13 + 0x9f" identifier + number_literal) ))) < number_literal) )) ;) (labeled_statement "LAB_00279dce:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(bVar13 == 0x5f)" ( (binary_expression "bVar13 == 0x5f" identifier == number_literal) )) ;) }) (else_clause "else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }" else (compound_statement "{\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }" { (if_statement "if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }" if (parenthesized_expression "(9 < (byte)(bVar13 - 0x30))" ( (binary_expression "9 < (byte)(bVar13 - 0x30)" number_literal < (call_expression "(byte)(bVar13 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 - 0x30)" ( (binary_expression "bVar13 - 0x30" identifier - number_literal) )))) )) (compound_statement "{\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }" { (expression_statement "bVar13 = *(byte *)ppbVar3;" (assignment_expression "bVar13 = *(byte *)ppbVar3" identifier = (pointer_expression "*(byte *)ppbVar3" * (cast_expression "(byte *)ppbVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "bVar13 = *(byte *)ppbVar3;" (assignment_expression "bVar13 = *(byte *)ppbVar3" identifier = (pointer_expression "*(byte *)ppbVar3" * (cast_expression "(byte *)ppbVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (while_statement "while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }" while (parenthesized_expression "((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10)))" ( (parenthesized_expression "(bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))" ( (binary_expression "bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10)" (binary_expression "bVar13 == 0x2e" identifier == number_literal) && (parenthesized_expression "((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10)" ( (binary_expression "(byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10" (call_expression "(byte)(*(byte *)((int)local_194 + 1) - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(byte *)((int)local_194 + 1) - 0x30)" ( (binary_expression "*(byte *)((int)local_194 + 1) - 0x30" (pointer_expression "*(byte *)((int)local_194 + 1)" * (cast_expression "(byte *)((int)local_194 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_194 + 1)" ( (binary_expression "(int)local_194 + 1" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) - number_literal) ))) < number_literal) ))) )) )) (compound_statement "{\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }" { (expression_statement "pbVar8 = (byte *)((int)local_194 + 2);" (assignment_expression "pbVar8 = (byte *)((int)local_194 + 2)" identifier = (cast_expression "(byte *)((int)local_194 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_194 + 2)" ( (binary_expression "(int)local_194 + 2" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_194 = (byte **)((int)local_194 + 2);" (assignment_expression "local_194 = (byte **)((int)local_194 + 2)" identifier = (cast_expression "(byte **)((int)local_194 + 2)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_194 + 2)" ( (binary_expression "(int)local_194 + 2" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar13 = *pbVar8;" (assignment_expression "bVar13 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (while_statement "while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }" while (parenthesized_expression "((byte)(bVar13 - 0x30) < 10)" ( (binary_expression "(byte)(bVar13 - 0x30) < 10" (call_expression "(byte)(bVar13 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar13 - 0x30)" ( (binary_expression "bVar13 - 0x30" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }" { (expression_statement "local_194 = (byte **)((int)local_194 + 1);" (assignment_expression "local_194 = (byte **)((int)local_194 + 1)" identifier = (cast_expression "(byte **)((int)local_194 + 1)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_194 + 1)" ( (binary_expression "(int)local_194 + 1" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) })) (if_statement "if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }" if (parenthesized_expression "(iVar11 < (int)local_188)" ( (binary_expression "iVar11 < (int)local_188" identifier < (cast_expression "(int)local_188" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }" { (expression_statement "local_18c = iVar11 + 1;" (assignment_expression "local_18c = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);" (assignment_expression "puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190)" identifier = (cast_expression "(undefined4 *)(iVar11 * 0x10 + local_190)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 * 0x10 + local_190)" ( (binary_expression "iVar11 * 0x10 + local_190" (binary_expression "iVar11 * 0x10" identifier * number_literal) + identifier) )))) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;" if (parenthesized_expression "((int)local_194 - (int)ppbVar3 == 0)" ( (binary_expression "(int)local_194 - (int)ppbVar3 == 0" (binary_expression "(int)local_194 - (int)ppbVar3" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier)) == number_literal) )) (goto_statement "goto LAB_00279da0;" goto statement_identifier ;)) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar12 = 0;" (assignment_expression "*puVar12 = 0" (pointer_expression "*puVar12" * identifier) = number_literal) ;) (expression_statement "puVar12[2] = ppbVar3;" (assignment_expression "puVar12[2] = ppbVar3" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[3] = (int)local_194 - (int)ppbVar3;" (assignment_expression "puVar12[3] = (int)local_194 - (int)ppbVar3" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = (binary_expression "(int)local_194 - (int)ppbVar3" (cast_expression "(int)local_194" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }" else (compound_statement "{\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }" { (labeled_statement "LAB_00279da0:\n          puVar12 = (undefined4 *)0x0;" statement_identifier : (expression_statement "puVar12 = (undefined4 *)0x0;" (assignment_expression "puVar12 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (expression_statement "*(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;" (assignment_expression "*(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12" (pointer_expression "*(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "pbVar8 = (byte *)FUN_0026fc10();" (assignment_expression "pbVar8 = (byte *)FUN_0026fc10()" identifier = (cast_expression "(byte *)FUN_0026fc10()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0026fc10()" identifier (argument_list "()" ( ))))) ;) (expression_statement "ppbVar6 = local_1bc;" (assignment_expression "ppbVar6 = local_1bc" identifier = identifier) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" identifier = identifier) ;) (expression_statement "ppbVar3 = local_194;" (assignment_expression "ppbVar3 = local_194" identifier = identifier) ;) (expression_statement "iVar11 = local_18c;" (assignment_expression "iVar11 = local_18c" identifier = identifier) ;) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) }))) }) (else_clause "else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" else (if_statement "if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" if (parenthesized_expression "((bVar13 == 0) || (3 < bVar13))" ( (binary_expression "(bVar13 == 0) || (3 < bVar13)" (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "(3 < bVar13)" ( (binary_expression "3 < bVar13" number_literal < identifier) ))) )) (compound_statement "{\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }" { (expression_statement "local_194 = (byte **)param_1;" (assignment_expression "local_194 = (byte **)param_1" identifier = (cast_expression "(byte **)param_1" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "pbVar8 = (byte *)FUN_002715c0();" (assignment_expression "pbVar8 = (byte *)FUN_002715c0()" identifier = (cast_expression "(byte *)FUN_002715c0()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002715c0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" identifier = (pointer_expression "*(byte *)local_194" * (cast_expression "(byte *)local_194" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" identifier = identifier) ;) }) (else_clause "else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" else (compound_statement "{\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" { (expression_statement "local_1bc = (byte **)(local_1b0 + 0xb);" (assignment_expression "local_1bc = (byte **)(local_1b0 + 0xb)" identifier = (cast_expression "(byte **)(local_1b0 + 0xb)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_1b0 + 0xb)" ( (binary_expression "local_1b0 + 0xb" identifier + number_literal) )))) ;) (expression_statement "local_194 = local_1bc;" (assignment_expression "local_194 = local_1bc" identifier = identifier) ;) (if_statement "if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }" if (parenthesized_expression "((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a))" ( (binary_expression "(local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)" (parenthesized_expression "(local_1b0[0xb] == 0x5f)" ( (binary_expression "local_1b0[0xb] == 0x5f" (subscript_expression "local_1b0[0xb]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(local_1b0[0xc] == 0x5a)" ( (binary_expression "local_1b0[0xc] == 0x5a" (subscript_expression "local_1b0[0xc]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }" { (expression_statement "local_194 = (byte **)(local_1b0 + 0xd);" (assignment_expression "local_194 = (byte **)(local_1b0 + 0xd)" identifier = (cast_expression "(byte **)(local_1b0 + 0xd)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_1b0 + 0xd)" ( (binary_expression "local_1b0 + 0xd" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "FUN_002728e0();" (call_expression "FUN_002728e0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }" else (compound_statement "{\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }" { (expression_statement "local_1c0 = uVar15 * 4;" (assignment_expression "local_1c0 = uVar15 * 4" identifier = (binary_expression "uVar15 * 4" identifier * number_literal)) ;) (expression_statement "local_1b0 = (byte *)(local_17c * 2);" (assignment_expression "local_1b0 = (byte *)(local_17c * 2)" identifier = (cast_expression "(byte *)(local_17c * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_17c * 2)" ( (binary_expression "local_17c * 2" identifier * number_literal) )))) ;) (expression_statement "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;" (assignment_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc" (pointer_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));" (assignment_expression "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" identifier = (call_expression "strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" identifier (argument_list "(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" ( (pointer_expression "*(char **)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(char **)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) )))) ;) (if_statement "if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }" if (parenthesized_expression "(0 < (int)local_1b0)" ( (binary_expression "0 < (int)local_1b0" number_literal < (cast_expression "(int)local_1b0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }" { (expression_statement "*(undefined4 *)(uVar15 * 4 + 4) = 0;" (assignment_expression "*(undefined4 *)(uVar15 * 4 + 4) = 0" (pointer_expression "*(undefined4 *)(uVar15 * 4 + 4)" * (cast_expression "(undefined4 *)(uVar15 * 4 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 * 4 + 4)" ( (binary_expression "uVar15 * 4 + 4" (binary_expression "uVar15 * 4" identifier * number_literal) + number_literal) )))) = number_literal) ;) (expression_statement "local_18c = 1;" (assignment_expression "local_18c = 1" identifier = number_literal) ;) (if_statement "if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }" if (parenthesized_expression "(sVar7 != 0)" ( (binary_expression "sVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }" { (expression_statement "*(size_t *)(uVar15 * 4 + 0xc) = sVar7;" (assignment_expression "*(size_t *)(uVar15 * 4 + 0xc) = sVar7" (pointer_expression "*(size_t *)(uVar15 * 4 + 0xc)" * (cast_expression "(size_t *)(uVar15 * 4 + 0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 * 4 + 0xc)" ( (binary_expression "uVar15 * 4 + 0xc" (binary_expression "uVar15 * 4" identifier * number_literal) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(uVar15 * 4) = 0;" (assignment_expression "*(undefined4 *)(uVar15 * 4) = 0" (pointer_expression "*(undefined4 *)(uVar15 * 4)" * (cast_expression "(undefined4 *)(uVar15 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 * 4)" ( (binary_expression "uVar15 * 4" identifier * number_literal) )))) = number_literal) ;) (expression_statement "*(byte ***)(uVar15 * 4 + 8) = local_1bc;" (assignment_expression "*(byte ***)(uVar15 * 4 + 8) = local_1bc" (pointer_expression "*(byte ***)(uVar15 * 4 + 8)" * (cast_expression "(byte ***)(uVar15 * 4 + 8)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(uVar15 * 4 + 8)" ( (binary_expression "uVar15 * 4 + 8" (binary_expression "uVar15 * 4" identifier * number_literal) + number_literal) )))) = identifier) ;) })) })) }))) (expression_statement "*(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;" (assignment_expression "*(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0" (pointer_expression "*(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "pbVar8 = (byte *)FUN_0026fc10();" (assignment_expression "pbVar8 = (byte *)FUN_0026fc10()" identifier = (cast_expression "(byte *)FUN_0026fc10()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0026fc10()" identifier (argument_list "()" ( ))))) ;) (expression_statement "ppbVar3 = local_194;" (assignment_expression "ppbVar3 = local_194" identifier = identifier) ;) (expression_statement "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;" (assignment_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194" (pointer_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));" (assignment_expression "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" identifier = (call_expression "strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" identifier (argument_list "(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" ( (pointer_expression "*(char **)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(char **)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) )))) ;) (expression_statement "bVar13 = *(byte *)((int)ppbVar3 + sVar7);" (assignment_expression "bVar13 = *(byte *)((int)ppbVar3 + sVar7)" identifier = (pointer_expression "*(byte *)((int)ppbVar3 + sVar7)" * (cast_expression "(byte *)((int)ppbVar3 + sVar7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar3 + sVar7)" ( (binary_expression "(int)ppbVar3 + sVar7" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" identifier = identifier) ;) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" identifier = identifier) ;) (expression_statement "local_194 = (byte **)((int)ppbVar3 + sVar7);" (assignment_expression "local_194 = (byte **)((int)ppbVar3 + sVar7)" identifier = (cast_expression "(byte **)((int)ppbVar3 + sVar7)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppbVar3 + sVar7)" ( (binary_expression "(int)ppbVar3 + sVar7" (cast_expression "(int)ppbVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }))))) (expression_statement "local_1b0 = pbVar14;" (assignment_expression "local_1b0 = pbVar14" identifier = identifier) ;) (expression_statement "local_1bc = ppbVar5;" (assignment_expression "local_1bc = ppbVar5" identifier = identifier) ;) (if_statement "if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    FUN_0026fce0();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    FUN_00273030();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }" if (parenthesized_expression "((pbVar8 != (byte *)0x0) && (bVar13 == 0))" ( (binary_expression "(pbVar8 != (byte *)0x0) && (bVar13 == 0)" (parenthesized_expression "(pbVar8 != (byte *)0x0)" ( (binary_expression "pbVar8 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) ))) )) (compound_statement "{\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    FUN_0026fce0();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    FUN_00273030();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }" { (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38 = (undefined1 *)0x0;" (assignment_expression "local_38 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_2c = (undefined1 *)0x0;" (assignment_expression "local_2c = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_60 = local_1b4;" (assignment_expression "local_60 = local_1b4" identifier = identifier) ;) (expression_statement "local_5c = local_1b8;" (assignment_expression "local_5c = local_1b8" identifier = identifier) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "FUN_0026fce0();" (call_expression "FUN_0026fce0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "local_24 = local_24 * local_30;" (assignment_expression "local_24 = local_24 * local_30" identifier = (binary_expression "local_24 * local_30" identifier * identifier)) ;) (expression_statement "iVar11 = local_30;" (assignment_expression "iVar11 = local_30" identifier = identifier) ;) (if_statement "if (local_30 < 1) {\n      iVar11 = 1;\n    }" if (parenthesized_expression "(local_30 < 1)" ( (binary_expression "local_30 < 1" identifier < number_literal) )) (compound_statement "{\n      iVar11 = 1;\n    }" { (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) })) (expression_statement "iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);" (assignment_expression "iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0)" identifier = (unary_expression "-(iVar11 * 8 + 0xfU & 0xfffffff0)" - (parenthesized_expression "(iVar11 * 8 + 0xfU & 0xfffffff0)" ( (binary_expression "iVar11 * 8 + 0xfU & 0xfffffff0" (binary_expression "iVar11 * 8 + 0xfU" (binary_expression "iVar11 * 8" identifier * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;" (assignment_expression "local_38 = auStack_1cc + iVar11 + iVar2 + iVar10" identifier = (binary_expression "auStack_1cc + iVar11 + iVar2 + iVar10" (binary_expression "auStack_1cc + iVar11 + iVar2" (binary_expression "auStack_1cc + iVar11" identifier + identifier) + identifier) + identifier)) ;) (expression_statement "iVar9 = local_24;" (assignment_expression "iVar9 = local_24" identifier = identifier) ;) (if_statement "if (local_24 < 1) {\n      iVar9 = 1;\n    }" if (parenthesized_expression "(local_24 < 1)" ( (binary_expression "local_24 < 1" identifier < number_literal) )) (compound_statement "{\n      iVar9 = 1;\n    }" { (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) })) (expression_statement "iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);" (assignment_expression "iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0)" identifier = (unary_expression "-(iVar9 * 8 + 0xfU & 0xfffffff0)" - (parenthesized_expression "(iVar9 * 8 + 0xfU & 0xfffffff0)" ( (binary_expression "iVar9 * 8 + 0xfU & 0xfffffff0" (binary_expression "iVar9 * 8 + 0xfU" (binary_expression "iVar9 * 8" identifier * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;" (assignment_expression "local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10" identifier = (binary_expression "auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10" (binary_expression "auStack_1cc + iVar9 + iVar11 + iVar2" (binary_expression "auStack_1cc + iVar9 + iVar11" (binary_expression "auStack_1cc + iVar9" identifier + identifier) + identifier) + identifier) + identifier)) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar9 + iVar11 + iVar2" (binary_expression "&stack0xfffffe30 + iVar9 + iVar11" (binary_expression "&stack0xfffffe30 + iVar9" (pointer_expression "&stack0xfffffe30" & identifier) + identifier) + identifier) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "FUN_00273030();" (call_expression "FUN_00273030()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = local_68;" (assignment_expression "iVar11 = local_68" identifier = identifier) ;) (expression_statement "local_168[local_68] = 0;" (assignment_expression "local_168[local_68] = 0" (subscript_expression "local_168[local_68]" identifier [ identifier ]) = number_literal) ;) (expression_statement "*(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;" (assignment_expression "*(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c" (pointer_expression "*(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10)" * (cast_expression "(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe2c + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe2c + iVar2 + iVar10" (binary_expression "&stack0xfffffe2c + iVar2" (pointer_expression "&stack0xfffffe2c" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;" (assignment_expression "*(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11" (pointer_expression "*(int *)(&stack0xfffffe28 + iVar2 + iVar10)" * (cast_expression "(int *)(&stack0xfffffe28 + iVar2 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffe28 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe28 + iVar2 + iVar10" (binary_expression "&stack0xfffffe28 + iVar2" (pointer_expression "&stack0xfffffe28" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;" (assignment_expression "*(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168" (pointer_expression "*(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10)" * (cast_expression "(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" ( (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" & identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "pcVar4 = local_60;" (assignment_expression "pcVar4 = local_60" identifier = identifier) ;) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" * (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" ( (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&iStackY_1e0" & identifier)) + identifier) + identifier) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (return_statement "return local_50 == 0;" return (binary_expression "local_50 == 0" identifier == number_literal) ;) })) (return_statement "return false;" return false ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT)) || (parenthesized_expression ( (binary_expression IDENT == LIT) )))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression IDENT == LIT)) )))) )) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) + LIT)) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (unary_expression - (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + LIT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' character ')) )) (compound_statement { (return_statement return BOOL ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (return_statement return BOOL ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_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 { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT)))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) < LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) < LIT) )) ;) (labeled_statement statement_identifier : (expression_statement ;)) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }))) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) - LIT) ))) < LIT) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (while_statement while (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) })) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + LIT) )))) = IDENT) ;) })) })) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }))))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_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 IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (unary_expression - (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + LIT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT + IDENT) + IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (unary_expression - (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + LIT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT + IDENT) + IDENT) + IDENT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) + IDENT) + IDENT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) + IDENT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (return_statement return (binary_expression IDENT == LIT) ;) })) (return_statement return BOOL ;) })))
(function_definition "bool __regparm3 FUN_00279830(byte *param_1,code *param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  byte **ppbVar3;\n  code *pcVar4;\n  byte **ppbVar5;\n  byte **ppbVar6;\n  size_t sVar7;\n  byte *pbVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 *puVar12;\n  byte bVar13;\n  byte *pbVar14;\n  uint uVar15;\n  bool bVar16;\n  bool bVar17;\n  int iStackY_1e0;\n  undefined1 auStack_1cc [12];\n  int local_1c0;\n  byte **local_1bc;\n  undefined4 local_1b8;\n  code *local_1b4;\n  byte *local_1b0;\n  byte *local_1a0;\n  byte *local_19c;\n  uint local_198;\n  byte **local_194;\n  int local_190;\n  int local_18c;\n  byte *local_188;\n  undefined1 *local_184;\n  undefined4 local_180;\n  size_t local_17c;\n  undefined4 local_178;\n  undefined4 local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined1 local_168 [256];\n  int local_68;\n  undefined1 local_64;\n  code *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined1 *local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined1 *local_2c;\n  undefined4 local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27983b;\n  bVar13 = *param_1;\n  local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);\n  bVar16 = bVar13 < 0x5f;\n  bVar17 = bVar13 == 0x5f;\n  if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }\n  iVar10 = 8;\n  pbVar8 = param_1;\n  pbVar14 = (byte *)"_GLOBAL_";\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);\n  bVar13 = 0;\n  if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }\nLAB_002798c0:\n  iStackY_1e0 = 0x2798cf;\n  local_1b8 = param_3;\n  local_1b4 = param_2;\n  local_1b0 = param_1;\n  local_17c = strlen((char *)param_1);\n  local_1a0 = param_1;\n  local_19c = param_1 + local_17c;\n  iVar10 = local_17c * -0x20;\n  local_188 = (byte *)(local_17c * 2);\n  local_198 = 0x11;\n  uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;\n  iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);\n  local_184 = auStack_1cc + iVar2 + iVar10;\n  local_18c = 0;\n  local_180 = 0;\n  local_178 = 0;\n  local_174 = 0;\n  local_170 = 0;\n  local_16c = 0;\n  local_190 = uVar15 * 4;\n  if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)FUN_002728e0();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }\n  local_1b0 = pbVar14;\n  local_1bc = ppbVar5;\n  if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    FUN_0026fce0();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    FUN_00273030();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }\n  return false;\n}" (primitive_type "bool") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00279830(byte *param_1,code *param_2,undefined4 param_3)" (identifier "FUN_00279830") (parameter_list "(byte *param_1,code *param_2,undefined4 param_3)" (( "(") (parameter_declaration "byte *param_1" (type_identifier "byte") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "code *param_2" (type_identifier "code") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  byte **ppbVar3;\n  code *pcVar4;\n  byte **ppbVar5;\n  byte **ppbVar6;\n  size_t sVar7;\n  byte *pbVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 *puVar12;\n  byte bVar13;\n  byte *pbVar14;\n  uint uVar15;\n  bool bVar16;\n  bool bVar17;\n  int iStackY_1e0;\n  undefined1 auStack_1cc [12];\n  int local_1c0;\n  byte **local_1bc;\n  undefined4 local_1b8;\n  code *local_1b4;\n  byte *local_1b0;\n  byte *local_1a0;\n  byte *local_19c;\n  uint local_198;\n  byte **local_194;\n  int local_190;\n  int local_18c;\n  byte *local_188;\n  undefined1 *local_184;\n  undefined4 local_180;\n  size_t local_17c;\n  undefined4 local_178;\n  undefined4 local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined1 local_168 [256];\n  int local_68;\n  undefined1 local_64;\n  code *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined1 *local_38;\n  undefined4 local_34;\n  int local_30;\n  undefined1 *local_2c;\n  undefined4 local_28;\n  int local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27983b;\n  bVar13 = *param_1;\n  local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);\n  bVar16 = bVar13 < 0x5f;\n  bVar17 = bVar13 == 0x5f;\n  if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }\n  iVar10 = 8;\n  pbVar8 = param_1;\n  pbVar14 = (byte *)"_GLOBAL_";\n  do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);\n  bVar13 = 0;\n  if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }\nLAB_002798c0:\n  iStackY_1e0 = 0x2798cf;\n  local_1b8 = param_3;\n  local_1b4 = param_2;\n  local_1b0 = param_1;\n  local_17c = strlen((char *)param_1);\n  local_1a0 = param_1;\n  local_19c = param_1 + local_17c;\n  iVar10 = local_17c * -0x20;\n  local_188 = (byte *)(local_17c * 2);\n  local_198 = 0x11;\n  uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;\n  iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);\n  local_184 = auStack_1cc + iVar2 + iVar10;\n  local_18c = 0;\n  local_180 = 0;\n  local_178 = 0;\n  local_174 = 0;\n  local_170 = 0;\n  local_16c = 0;\n  local_190 = uVar15 * 4;\n  if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)FUN_002728e0();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }\n  local_1b0 = pbVar14;\n  local_1bc = ppbVar5;\n  if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    FUN_0026fce0();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    FUN_00273030();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }\n  return false;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "byte **ppbVar3;" (type_identifier "byte") (pointer_declarator "**ppbVar3" (* "*") (pointer_declarator "*ppbVar3" (* "*") (identifier "ppbVar3"))) (; ";")) (declaration "code *pcVar4;" (type_identifier "code") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "byte **ppbVar5;" (type_identifier "byte") (pointer_declarator "**ppbVar5" (* "*") (pointer_declarator "*ppbVar5" (* "*") (identifier "ppbVar5"))) (; ";")) (declaration "byte **ppbVar6;" (type_identifier "byte") (pointer_declarator "**ppbVar6" (* "*") (pointer_declarator "*ppbVar6" (* "*") (identifier "ppbVar6"))) (; ";")) (declaration "size_t sVar7;" (primitive_type "size_t") (identifier "sVar7") (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "undefined4 *puVar12;" (type_identifier "undefined4") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "byte bVar13;" (type_identifier "byte") (identifier "bVar13") (; ";")) (declaration "byte *pbVar14;" (type_identifier "byte") (pointer_declarator "*pbVar14" (* "*") (identifier "pbVar14")) (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "bool bVar16;" (primitive_type "bool") (identifier "bVar16") (; ";")) (declaration "bool bVar17;" (primitive_type "bool") (identifier "bVar17") (; ";")) (declaration "int iStackY_1e0;" (primitive_type "int") (identifier "iStackY_1e0") (; ";")) (declaration "undefined1 auStack_1cc [12];" (type_identifier "undefined1") (array_declarator "auStack_1cc [12]" (identifier "auStack_1cc") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "int local_1c0;" (primitive_type "int") (identifier "local_1c0") (; ";")) (declaration "byte **local_1bc;" (type_identifier "byte") (pointer_declarator "**local_1bc" (* "*") (pointer_declarator "*local_1bc" (* "*") (identifier "local_1bc"))) (; ";")) (declaration "undefined4 local_1b8;" (type_identifier "undefined4") (identifier "local_1b8") (; ";")) (declaration "code *local_1b4;" (type_identifier "code") (pointer_declarator "*local_1b4" (* "*") (identifier "local_1b4")) (; ";")) (declaration "byte *local_1b0;" (type_identifier "byte") (pointer_declarator "*local_1b0" (* "*") (identifier "local_1b0")) (; ";")) (declaration "byte *local_1a0;" (type_identifier "byte") (pointer_declarator "*local_1a0" (* "*") (identifier "local_1a0")) (; ";")) (declaration "byte *local_19c;" (type_identifier "byte") (pointer_declarator "*local_19c" (* "*") (identifier "local_19c")) (; ";")) (declaration "uint local_198;" (type_identifier "uint") (identifier "local_198") (; ";")) (declaration "byte **local_194;" (type_identifier "byte") (pointer_declarator "**local_194" (* "*") (pointer_declarator "*local_194" (* "*") (identifier "local_194"))) (; ";")) (declaration "int local_190;" (primitive_type "int") (identifier "local_190") (; ";")) (declaration "int local_18c;" (primitive_type "int") (identifier "local_18c") (; ";")) (declaration "byte *local_188;" (type_identifier "byte") (pointer_declarator "*local_188" (* "*") (identifier "local_188")) (; ";")) (declaration "undefined1 *local_184;" (type_identifier "undefined1") (pointer_declarator "*local_184" (* "*") (identifier "local_184")) (; ";")) (declaration "undefined4 local_180;" (type_identifier "undefined4") (identifier "local_180") (; ";")) (declaration "size_t local_17c;" (primitive_type "size_t") (identifier "local_17c") (; ";")) (declaration "undefined4 local_178;" (type_identifier "undefined4") (identifier "local_178") (; ";")) (declaration "undefined4 local_174;" (type_identifier "undefined4") (identifier "local_174") (; ";")) (declaration "undefined4 local_170;" (type_identifier "undefined4") (identifier "local_170") (; ";")) (declaration "undefined4 local_16c;" (type_identifier "undefined4") (identifier "local_16c") (; ";")) (declaration "undefined1 local_168 [256];" (type_identifier "undefined1") (array_declarator "local_168 [256]" (identifier "local_168") ([ "[") (number_literal "256") (] "]")) (; ";")) (declaration "int local_68;" (primitive_type "int") (identifier "local_68") (; ";")) (declaration "undefined1 local_64;" (type_identifier "undefined1") (identifier "local_64") (; ";")) (declaration "code *local_60;" (type_identifier "code") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "undefined4 local_5c;" (type_identifier "undefined4") (identifier "local_5c") (; ";")) (declaration "undefined4 local_58;" (type_identifier "undefined4") (identifier "local_58") (; ";")) (declaration "undefined4 local_54;" (type_identifier "undefined4") (identifier "local_54") (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "undefined4 local_44;" (type_identifier "undefined4") (identifier "local_44") (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined1 *local_38;" (type_identifier "undefined1") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "undefined1 *local_2c;" (type_identifier "undefined1") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x27983b;" (assignment_expression "uStack_14 = 0x27983b" (identifier "uStack_14") (= "=") (number_literal "0x27983b")) (; ";")) (expression_statement "bVar13 = *param_1;" (assignment_expression "bVar13 = *param_1" (identifier "bVar13") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);" (assignment_expression "local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13)" (identifier "local_1bc") (= "=") (cast_expression "(byte **)CONCAT31(local_1bc._1_3_,bVar13)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_1bc._1_3_,bVar13)" (identifier "CONCAT31") (argument_list "(local_1bc._1_3_,bVar13)" (( "(") (field_expression "local_1bc._1_3_" (identifier "local_1bc") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar13") () ")"))))) (; ";")) (expression_statement "bVar16 = bVar13 < 0x5f;" (assignment_expression "bVar16 = bVar13 < 0x5f" (identifier "bVar16") (= "=") (binary_expression "bVar13 < 0x5f" (identifier "bVar13") (< "<") (number_literal "0x5f"))) (; ";")) (expression_statement "bVar17 = bVar13 == 0x5f;" (assignment_expression "bVar17 = bVar13 == 0x5f" (identifier "bVar17") (= "=") (binary_expression "bVar13 == 0x5f" (identifier "bVar13") (== "==") (number_literal "0x5f"))) (; ";")) (if_statement "if (bVar17) {\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }" (if "if") (parenthesized_expression "(bVar17)" (( "(") (identifier "bVar17") () ")")) (compound_statement "{\n    bVar13 = 1;\n    bVar16 = param_1[1] < 0x5a;\n    bVar17 = param_1[1] == 0x5a;\n    if (bVar17) goto LAB_002798c0;\n  }" ({ "{") (expression_statement "bVar13 = 1;" (assignment_expression "bVar13 = 1" (identifier "bVar13") (= "=") (number_literal "1")) (; ";")) (expression_statement "bVar16 = param_1[1] < 0x5a;" (assignment_expression "bVar16 = param_1[1] < 0x5a" (identifier "bVar16") (= "=") (binary_expression "param_1[1] < 0x5a" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (< "<") (number_literal "0x5a"))) (; ";")) (expression_statement "bVar17 = param_1[1] == 0x5a;" (assignment_expression "bVar17 = param_1[1] == 0x5a" (identifier "bVar17") (= "=") (binary_expression "param_1[1] == 0x5a" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x5a"))) (; ";")) (if_statement "if (bVar17) goto LAB_002798c0;" (if "if") (parenthesized_expression "(bVar17)" (( "(") (identifier "bVar17") () ")")) (goto_statement "goto LAB_002798c0;" (goto "goto") (statement_identifier "LAB_002798c0") (; ";"))) (} "}"))) (expression_statement "iVar10 = 8;" (assignment_expression "iVar10 = 8" (identifier "iVar10") (= "=") (number_literal "8")) (; ";")) (expression_statement "pbVar8 = param_1;" (assignment_expression "pbVar8 = param_1" (identifier "pbVar8") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pbVar14 = (byte *)"_GLOBAL_";" (assignment_expression "pbVar14 = (byte *)"_GLOBAL_"" (identifier "pbVar14") (= "=") (cast_expression "(byte *)"_GLOBAL_"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""_GLOBAL_"" (" """) (string_content "_GLOBAL_") (" """)))) (; ";")) (do_statement "do {\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  } while (bVar17);" (do "do") (compound_statement "{\n    if (iVar10 == 0) break;\n    iVar10 = iVar10 + -1;\n    bVar16 = *pbVar8 < *pbVar14;\n    bVar17 = *pbVar8 == *pbVar14;\n    pbVar8 = pbVar8 + 1;\n    pbVar14 = pbVar14 + 1;\n  }" ({ "{") (if_statement "if (iVar10 == 0) break;" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + -1" (identifier "iVar10") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar16 = *pbVar8 < *pbVar14;" (assignment_expression "bVar16 = *pbVar8 < *pbVar14" (identifier "bVar16") (= "=") (binary_expression "*pbVar8 < *pbVar14" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar14" (* "*") (identifier "pbVar14")))) (; ";")) (expression_statement "bVar17 = *pbVar8 == *pbVar14;" (assignment_expression "bVar17 = *pbVar8 == *pbVar14" (identifier "bVar17") (= "=") (binary_expression "*pbVar8 == *pbVar14" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar14" (* "*") (identifier "pbVar14")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" (identifier "pbVar14") (= "=") (binary_expression "pbVar14 + 1" (identifier "pbVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar17)" (( "(") (identifier "bVar17") () ")")) (; ";")) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" (identifier "bVar13") (= "=") (number_literal "0")) (; ";")) (if_statement "if (((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)) {\n    bVar13 = (bVar1 != 0x49) + 2;\n  }" (if "if") (parenthesized_expression "(((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f))" (( "(") (binary_expression "((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&\n     (bVar13 = 0, param_1[10] == 0x5f)" (parenthesized_expression "((((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49))))" (( "(") (binary_expression "(((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&\n      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))" (parenthesized_expression "(((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24))))" (( "(") (binary_expression "((!bVar16 && !bVar17) == bVar16) &&\n       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))" (parenthesized_expression "((!bVar16 && !bVar17) == bVar16)" (( "(") (binary_expression "(!bVar16 && !bVar17) == bVar16" (parenthesized_expression "(!bVar16 && !bVar17)" (( "(") (binary_expression "!bVar16 && !bVar17" (unary_expression "!bVar16" (! "!") (identifier "bVar16")) (&& "&&") (unary_expression "!bVar17" (! "!") (identifier "bVar17"))) () ")")) (== "==") (identifier "bVar16")) () ")")) (&& "&&") (parenthesized_expression "((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))" (( "(") (parenthesized_expression "(bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24))" (( "(") (comma_expression "bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)" (assignment_expression "bVar1 = param_1[8]" (identifier "bVar1") (= "=") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))) (, ",") (binary_expression "bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)" (binary_expression "bVar1 == 0x2e || bVar1 == 0x5f" (binary_expression "bVar1 == 0x2e" (identifier "bVar1") (== "==") (number_literal "0x2e")) (|| "||") (binary_expression "bVar1 == 0x5f" (identifier "bVar1") (== "==") (number_literal "0x5f"))) (|| "||") (parenthesized_expression "(bVar1 == 0x24)" (( "(") (binary_expression "bVar1 == 0x24" (identifier "bVar1") (== "==") (number_literal "0x24")) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))" (( "(") (parenthesized_expression "(bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49))" (( "(") (comma_expression "bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)" (assignment_expression "bVar1 = param_1[9]" (identifier "bVar1") (= "=") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (, ",") (binary_expression "bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)" (binary_expression "bVar1 == 0x44" (identifier "bVar1") (== "==") (number_literal "0x44")) (|| "||") (parenthesized_expression "(bVar13 = 0, bVar1 == 0x49)" (( "(") (comma_expression "bVar13 = 0, bVar1 == 0x49" (assignment_expression "bVar13 = 0" (identifier "bVar13") (= "=") (number_literal "0")) (, ",") (binary_expression "bVar1 == 0x49" (identifier "bVar1") (== "==") (number_literal "0x49"))) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(bVar13 = 0, param_1[10] == 0x5f)" (( "(") (comma_expression "bVar13 = 0, param_1[10] == 0x5f" (assignment_expression "bVar13 = 0" (identifier "bVar13") (= "=") (number_literal "0")) (, ",") (binary_expression "param_1[10] == 0x5f" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (== "==") (number_literal "0x5f"))) () ")"))) () ")")) (compound_statement "{\n    bVar13 = (bVar1 != 0x49) + 2;\n  }" ({ "{") (expression_statement "bVar13 = (bVar1 != 0x49) + 2;" (assignment_expression "bVar13 = (bVar1 != 0x49) + 2" (identifier "bVar13") (= "=") (binary_expression "(bVar1 != 0x49) + 2" (parenthesized_expression "(bVar1 != 0x49)" (( "(") (binary_expression "bVar1 != 0x49" (identifier "bVar1") (!= "!=") (number_literal "0x49")) () ")")) (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (labeled_statement "LAB_002798c0:\n  iStackY_1e0 = 0x2798cf;" (statement_identifier "LAB_002798c0") (: ":") (expression_statement "iStackY_1e0 = 0x2798cf;" (assignment_expression "iStackY_1e0 = 0x2798cf" (identifier "iStackY_1e0") (= "=") (number_literal "0x2798cf")) (; ";"))) (expression_statement "local_1b8 = param_3;" (assignment_expression "local_1b8 = param_3" (identifier "local_1b8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_1b4 = param_2;" (assignment_expression "local_1b4 = param_2" (identifier "local_1b4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_1b0 = param_1;" (assignment_expression "local_1b0 = param_1" (identifier "local_1b0") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_17c = strlen((char *)param_1);" (assignment_expression "local_17c = strlen((char *)param_1)" (identifier "local_17c") (= "=") (call_expression "strlen((char *)param_1)" (identifier "strlen") (argument_list "((char *)param_1)" (( "(") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) () ")")))) (; ";")) (expression_statement "local_1a0 = param_1;" (assignment_expression "local_1a0 = param_1" (identifier "local_1a0") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_19c = param_1 + local_17c;" (assignment_expression "local_19c = param_1 + local_17c" (identifier "local_19c") (= "=") (binary_expression "param_1 + local_17c" (identifier "param_1") (+ "+") (identifier "local_17c"))) (; ";")) (expression_statement "iVar10 = local_17c * -0x20;" (assignment_expression "iVar10 = local_17c * -0x20" (identifier "iVar10") (= "=") (binary_expression "local_17c * -0x20" (identifier "local_17c") (* "*") (number_literal "-0x20"))) (; ";")) (expression_statement "local_188 = (byte *)(local_17c * 2);" (assignment_expression "local_188 = (byte *)(local_17c * 2)" (identifier "local_188") (= "=") (cast_expression "(byte *)(local_17c * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_17c * 2)" (( "(") (binary_expression "local_17c * 2" (identifier "local_17c") (* "*") (number_literal "2")) () ")")))) (; ";")) (expression_statement "local_198 = 0x11;" (assignment_expression "local_198 = 0x11" (identifier "local_198") (= "=") (number_literal "0x11")) (; ";")) (expression_statement "uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;" (assignment_expression "uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2" (identifier "uVar15") (= "=") (binary_expression "(uint)(auStack_1cc + iVar10 + 3) >> 2" (call_expression "(uint)(auStack_1cc + iVar10 + 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(auStack_1cc + iVar10 + 3)" (( "(") (binary_expression "auStack_1cc + iVar10 + 3" (binary_expression "auStack_1cc + iVar10" (identifier "auStack_1cc") (+ "+") (identifier "iVar10")) (+ "+") (number_literal "3")) () ")"))) (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);" (assignment_expression "iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0)" (identifier "iVar2") (= "=") (unary_expression "-(local_17c * 4 + 0xf & 0xfffffff0)" (- "-") (parenthesized_expression "(local_17c * 4 + 0xf & 0xfffffff0)" (( "(") (binary_expression "local_17c * 4 + 0xf & 0xfffffff0" (binary_expression "local_17c * 4 + 0xf" (binary_expression "local_17c * 4" (identifier "local_17c") (* "*") (number_literal "4")) (+ "+") (number_literal "0xf")) (& "&") (number_literal "0xfffffff0")) () ")")))) (; ";")) (expression_statement "local_184 = auStack_1cc + iVar2 + iVar10;" (assignment_expression "local_184 = auStack_1cc + iVar2 + iVar10" (identifier "local_184") (= "=") (binary_expression "auStack_1cc + iVar2 + iVar10" (binary_expression "auStack_1cc + iVar2" (identifier "auStack_1cc") (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "local_18c = 0;" (assignment_expression "local_18c = 0" (identifier "local_18c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_180 = 0;" (assignment_expression "local_180 = 0" (identifier "local_180") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_178 = 0;" (assignment_expression "local_178 = 0" (identifier "local_178") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_174 = 0;" (assignment_expression "local_174 = 0" (identifier "local_174") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_170 = 0;" (assignment_expression "local_170 = 0" (identifier "local_170") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_16c = 0;" (assignment_expression "local_16c = 0" (identifier "local_16c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_190 = uVar15 * 4;" (assignment_expression "local_190 = uVar15 * 4" (identifier "local_190") (= "=") (binary_expression "uVar15 * 4" (identifier "uVar15") (* "*") (number_literal "4"))) (; ";")) (if_statement "if (bVar13 == 1) {\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)FUN_002728e0();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }\n  else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" (if "if") (parenthesized_expression "(bVar13 == 1)" (( "(") (binary_expression "bVar13 == 1" (identifier "bVar13") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    if ((char)local_1bc != '_') {\n      return false;\n    }\n    if (local_1b0[1] != 0x5a) {\n      return false;\n    }\n    local_194 = (byte **)(local_1b0 + 2);\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;\n    pbVar8 = (byte *)FUN_002728e0();\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }\n  }" ({ "{") (if_statement "if ((char)local_1bc != '_') {\n      return false;\n    }" (if "if") (parenthesized_expression "((char)local_1bc != '_')" (( "(") (binary_expression "(char)local_1bc != '_'" (cast_expression "(char)local_1bc" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_1bc")) (!= "!=") (char_literal "'_'" (' "'") (character "_") (' "'"))) () ")")) (compound_statement "{\n      return false;\n    }" ({ "{") (return_statement "return false;" (return "return") (false "false") (; ";")) (} "}"))) (if_statement "if (local_1b0[1] != 0x5a) {\n      return false;\n    }" (if "if") (parenthesized_expression "(local_1b0[1] != 0x5a)" (( "(") (binary_expression "local_1b0[1] != 0x5a" (subscript_expression "local_1b0[1]" (identifier "local_1b0") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0x5a")) () ")")) (compound_statement "{\n      return false;\n    }" ({ "{") (return_statement "return false;" (return "return") (false "false") (; ";")) (} "}"))) (expression_statement "local_194 = (byte **)(local_1b0 + 2);" (assignment_expression "local_194 = (byte **)(local_1b0 + 2)" (identifier "local_194") (= "=") (cast_expression "(byte **)(local_1b0 + 2)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_1b0 + 2)" (( "(") (binary_expression "local_1b0 + 2" (identifier "local_1b0") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" (* "*") (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" (( "(") (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" (& "&") (identifier "stack0xfffffe30")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (number_literal "0x279bc8")) (; ";")) (expression_statement "pbVar8 = (byte *)FUN_002728e0();" (assignment_expression "pbVar8 = (byte *)FUN_002728e0()" (identifier "pbVar8") (= "=") (cast_expression "(byte *)FUN_002728e0()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002728e0()" (identifier "FUN_002728e0") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" (identifier "ppbVar5") (= "=") (identifier "local_1bc")) (; ";")) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" (identifier "pbVar14") (= "=") (identifier "local_1b0")) (; ";")) (if_statement "if ((local_198 & 1) == 0) {\n      bVar13 = *(byte *)local_194;\n    }\n    else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }" (if "if") (parenthesized_expression "((local_198 & 1) == 0)" (( "(") (binary_expression "(local_198 & 1) == 0" (parenthesized_expression "(local_198 & 1)" (( "(") (binary_expression "local_198 & 1" (identifier "local_198") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      bVar13 = *(byte *)local_194;\n    }" ({ "{") (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)local_194" (* "*") (cast_expression "(byte *)local_194" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_194")))) (; ";")) (} "}")) (else_clause "else {\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }" (else "else") (compound_statement "{\n      bVar13 = *(byte *)local_194;\n      ppbVar6 = &local_1a0;\n      ppbVar3 = local_194;\n      iVar11 = local_18c;\n      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }\n    }" ({ "{") (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)local_194" (* "*") (cast_expression "(byte *)local_194" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_194")))) (; ";")) (expression_statement "ppbVar6 = &local_1a0;" (assignment_expression "ppbVar6 = &local_1a0" (identifier "ppbVar6") (= "=") (pointer_expression "&local_1a0" (& "&") (identifier "local_1a0"))) (; ";")) (expression_statement "ppbVar3 = local_194;" (assignment_expression "ppbVar3 = local_194" (identifier "ppbVar3") (= "=") (identifier "local_194")) (; ";")) (expression_statement "iVar11 = local_18c;" (assignment_expression "iVar11 = local_18c" (identifier "iVar11") (= "=") (identifier "local_18c")) (; ";")) (while_statement "while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e) {\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }" (while "while") (parenthesized_expression "(local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e)" (( "(") (comma_expression "local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_1b0 = pbVar8" (identifier "local_1b0") (= "=") (identifier "pbVar8")) (, ",") (comma_expression "local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_1bc = ppbVar6" (identifier "local_1bc") (= "=") (identifier "ppbVar6")) (, ",") (comma_expression "local_194 = ppbVar3, local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_194 = ppbVar3" (identifier "local_194") (= "=") (identifier "ppbVar3")) (, ",") (comma_expression "local_18c = iVar11,\n            pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "local_18c = iVar11" (identifier "local_18c") (= "=") (identifier "iVar11")) (, ",") (comma_expression "pbVar8 = local_1b0, bVar13 == 0x2e" (assignment_expression "pbVar8 = local_1b0" (identifier "pbVar8") (= "=") (identifier "local_1b0")) (, ",") (binary_expression "bVar13 == 0x2e" (identifier "bVar13") (== "==") (number_literal "0x2e"))))))) () ")")) (compound_statement "{\n        bVar13 = *(byte *)((int)ppbVar3 + 1);\n        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }\n        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }\n        if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }\n        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;\n        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;\n        pbVar8 = (byte *)FUN_0026fc10();\n        ppbVar6 = local_1bc;\n        ppbVar5 = local_1bc;\n        pbVar14 = local_1b0;\n        ppbVar3 = local_194;\n        iVar11 = local_18c;\n        bVar13 = *(byte *)local_194;\n      }" ({ "{") (expression_statement "bVar13 = *(byte *)((int)ppbVar3 + 1);" (assignment_expression "bVar13 = *(byte *)((int)ppbVar3 + 1)" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)((int)ppbVar3 + 1)" (* "*") (cast_expression "(byte *)((int)ppbVar3 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppbVar3 + 1)" (( "(") (binary_expression "(int)ppbVar3 + 1" (cast_expression "(int)ppbVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar3")) (+ "+") (number_literal "1")) () ")"))))) (; ";")) (if_statement "if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }\n        else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }" (if "if") (parenthesized_expression "(((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f))" (( "(") (binary_expression "((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)" (parenthesized_expression "((byte)(bVar13 + 0x9f) < 0x1a)" (( "(") (binary_expression "(byte)(bVar13 + 0x9f) < 0x1a" (call_expression "(byte)(bVar13 + 0x9f)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar13 + 0x9f)" (( "(") (binary_expression "bVar13 + 0x9f" (identifier "bVar13") (+ "+") (number_literal "0x9f")) () ")"))) (< "<") (number_literal "0x1a")) () ")")) (|| "||") (parenthesized_expression "(bVar13 == 0x5f)" (( "(") (binary_expression "bVar13 == 0x5f" (identifier "bVar13") (== "==") (number_literal "0x5f")) () ")"))) () ")")) (compound_statement "{\n          bVar13 = *(byte *)((int)ppbVar3 + 2);\n          local_194 = (byte **)((int)ppbVar3 + 2);\n          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;\n          do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);\n        }" ({ "{") (expression_statement "bVar13 = *(byte *)((int)ppbVar3 + 2);" (assignment_expression "bVar13 = *(byte *)((int)ppbVar3 + 2)" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)((int)ppbVar3 + 2)" (* "*") (cast_expression "(byte *)((int)ppbVar3 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppbVar3 + 2)" (( "(") (binary_expression "(int)ppbVar3 + 2" (cast_expression "(int)ppbVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar3")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "local_194 = (byte **)((int)ppbVar3 + 2);" (assignment_expression "local_194 = (byte **)((int)ppbVar3 + 2)" (identifier "local_194") (= "=") (cast_expression "(byte **)((int)ppbVar3 + 2)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppbVar3 + 2)" (( "(") (binary_expression "(int)ppbVar3 + 2" (cast_expression "(int)ppbVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar3")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;" (if "if") (parenthesized_expression "(0x19 < (byte)(bVar13 + 0x9f))" (( "(") (binary_expression "0x19 < (byte)(bVar13 + 0x9f)" (number_literal "0x19") (< "<") (call_expression "(byte)(bVar13 + 0x9f)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar13 + 0x9f)" (( "(") (binary_expression "bVar13 + 0x9f" (identifier "bVar13") (+ "+") (number_literal "0x9f")) () ")")))) () ")")) (goto_statement "goto LAB_00279dce;" (goto "goto") (statement_identifier "LAB_00279dce") (; ";"))) (do_statement "do {\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          } while (bVar13 == 0x5f);" (do "do") (compound_statement "{\n            do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);\nLAB_00279dce:\n          }" ({ "{") (do_statement "do {\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            } while ((byte)(bVar13 + 0x9f) < 0x1a);" (do "do") (compound_statement "{\n              local_194 = (byte **)((int)local_194 + 1);\n              bVar13 = *(byte *)local_194;\n            }" ({ "{") (expression_statement "local_194 = (byte **)((int)local_194 + 1);" (assignment_expression "local_194 = (byte **)((int)local_194 + 1)" (identifier "local_194") (= "=") (cast_expression "(byte **)((int)local_194 + 1)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_194 + 1)" (( "(") (binary_expression "(int)local_194 + 1" (cast_expression "(int)local_194" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_194")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)local_194" (* "*") (cast_expression "(byte *)local_194" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_194")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((byte)(bVar13 + 0x9f) < 0x1a)" (( "(") (binary_expression "(byte)(bVar13 + 0x9f) < 0x1a" (call_expression "(byte)(bVar13 + 0x9f)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar13 + 0x9f)" (( "(") (binary_expression "bVar13 + 0x9f" (identifier "bVar13") (+ "+") (number_literal "0x9f")) () ")"))) (< "<") (number_literal "0x1a")) () ")")) (; ";")) (labeled_statement "LAB_00279dce:" (statement_identifier "LAB_00279dce") (: ":") (expression_statement "" (; ""))) (} "}")) (while "while") (parenthesized_expression "(bVar13 == 0x5f)" (( "(") (binary_expression "bVar13 == 0x5f" (identifier "bVar13") (== "==") (number_literal "0x5f")) () ")")) (; ";")) (} "}")) (else_clause "else {\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }" (else "else") (compound_statement "{\n          if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }\n          bVar13 = *(byte *)ppbVar3;\n        }" ({ "{") (if_statement "if (9 < (byte)(bVar13 - 0x30)) {\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }" (if "if") (parenthesized_expression "(9 < (byte)(bVar13 - 0x30))" (( "(") (binary_expression "9 < (byte)(bVar13 - 0x30)" (number_literal "9") (< "<") (call_expression "(byte)(bVar13 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar13 - 0x30)" (( "(") (binary_expression "bVar13 - 0x30" (identifier "bVar13") (- "-") (number_literal "0x30")) () ")")))) () ")")) (compound_statement "{\n            bVar13 = *(byte *)ppbVar3;\n            ppbVar5 = local_1bc;\n            break;\n          }" ({ "{") (expression_statement "bVar13 = *(byte *)ppbVar3;" (assignment_expression "bVar13 = *(byte *)ppbVar3" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)ppbVar3" (* "*") (cast_expression "(byte *)ppbVar3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppbVar3")))) (; ";")) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" (identifier "ppbVar5") (= "=") (identifier "local_1bc")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "bVar13 = *(byte *)ppbVar3;" (assignment_expression "bVar13 = *(byte *)ppbVar3" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)ppbVar3" (* "*") (cast_expression "(byte *)ppbVar3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppbVar3")))) (; ";")) (} "}")))) (while_statement "while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }" (while "while") (parenthesized_expression "((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10)))" (( "(") (parenthesized_expression "(bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))" (( "(") (binary_expression "bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10)" (binary_expression "bVar13 == 0x2e" (identifier "bVar13") (== "==") (number_literal "0x2e")) (&& "&&") (parenthesized_expression "((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10)" (( "(") (binary_expression "(byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10" (call_expression "(byte)(*(byte *)((int)local_194 + 1) - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*(byte *)((int)local_194 + 1) - 0x30)" (( "(") (binary_expression "*(byte *)((int)local_194 + 1) - 0x30" (pointer_expression "*(byte *)((int)local_194 + 1)" (* "*") (cast_expression "(byte *)((int)local_194 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_194 + 1)" (( "(") (binary_expression "(int)local_194 + 1" (cast_expression "(int)local_194" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_194")) (+ "+") (number_literal "1")) () ")")))) (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "10")) () ")"))) () ")")) () ")")) (compound_statement "{\n          pbVar8 = (byte *)((int)local_194 + 2);\n          local_194 = (byte **)((int)local_194 + 2);\n          bVar13 = *pbVar8;\n          while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }\n        }" ({ "{") (expression_statement "pbVar8 = (byte *)((int)local_194 + 2);" (assignment_expression "pbVar8 = (byte *)((int)local_194 + 2)" (identifier "pbVar8") (= "=") (cast_expression "(byte *)((int)local_194 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_194 + 2)" (( "(") (binary_expression "(int)local_194 + 2" (cast_expression "(int)local_194" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_194")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "local_194 = (byte **)((int)local_194 + 2);" (assignment_expression "local_194 = (byte **)((int)local_194 + 2)" (identifier "local_194") (= "=") (cast_expression "(byte **)((int)local_194 + 2)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_194 + 2)" (( "(") (binary_expression "(int)local_194 + 2" (cast_expression "(int)local_194" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_194")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "bVar13 = *pbVar8;" (assignment_expression "bVar13 = *pbVar8" (identifier "bVar13") (= "=") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8"))) (; ";")) (while_statement "while ((byte)(bVar13 - 0x30) < 10) {\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }" (while "while") (parenthesized_expression "((byte)(bVar13 - 0x30) < 10)" (( "(") (binary_expression "(byte)(bVar13 - 0x30) < 10" (call_expression "(byte)(bVar13 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar13 - 0x30)" (( "(") (binary_expression "bVar13 - 0x30" (identifier "bVar13") (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "10")) () ")")) (compound_statement "{\n            local_194 = (byte **)((int)local_194 + 1);\n            bVar13 = *(byte *)local_194;\n          }" ({ "{") (expression_statement "local_194 = (byte **)((int)local_194 + 1);" (assignment_expression "local_194 = (byte **)((int)local_194 + 1)" (identifier "local_194") (= "=") (cast_expression "(byte **)((int)local_194 + 1)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_194 + 1)" (( "(") (binary_expression "(int)local_194 + 1" (cast_expression "(int)local_194" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_194")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)local_194" (* "*") (cast_expression "(byte *)local_194" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_194")))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (iVar11 < (int)local_188) {\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }\n        else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }" (if "if") (parenthesized_expression "(iVar11 < (int)local_188)" (( "(") (binary_expression "iVar11 < (int)local_188" (identifier "iVar11") (< "<") (cast_expression "(int)local_188" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_188"))) () ")")) (compound_statement "{\n          local_18c = iVar11 + 1;\n          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);\n          puVar12[1] = 0;\n          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;\n          puVar12[1] = 0;\n          *puVar12 = 0;\n          puVar12[2] = ppbVar3;\n          puVar12[3] = (int)local_194 - (int)ppbVar3;\n        }" ({ "{") (expression_statement "local_18c = iVar11 + 1;" (assignment_expression "local_18c = iVar11 + 1" (identifier "local_18c") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);" (assignment_expression "puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190)" (identifier "puVar12") (= "=") (cast_expression "(undefined4 *)(iVar11 * 0x10 + local_190)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 * 0x10 + local_190)" (( "(") (binary_expression "iVar11 * 0x10 + local_190" (binary_expression "iVar11 * 0x10" (identifier "iVar11") (* "*") (number_literal "0x10")) (+ "+") (identifier "local_190")) () ")")))) (; ";")) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;" (if "if") (parenthesized_expression "((int)local_194 - (int)ppbVar3 == 0)" (( "(") (binary_expression "(int)local_194 - (int)ppbVar3 == 0" (binary_expression "(int)local_194 - (int)ppbVar3" (cast_expression "(int)local_194" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_194")) (- "-") (cast_expression "(int)ppbVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar3"))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00279da0;" (goto "goto") (statement_identifier "LAB_00279da0") (; ";"))) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar12 = 0;" (assignment_expression "*puVar12 = 0" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[2] = ppbVar3;" (assignment_expression "puVar12[2] = ppbVar3" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "ppbVar3")) (; ";")) (expression_statement "puVar12[3] = (int)local_194 - (int)ppbVar3;" (assignment_expression "puVar12[3] = (int)local_194 - (int)ppbVar3" (subscript_expression "puVar12[3]" (identifier "puVar12") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "(int)local_194 - (int)ppbVar3" (cast_expression "(int)local_194" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_194")) (- "-") (cast_expression "(int)ppbVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar3")))) (; ";")) (} "}")) (else_clause "else {\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }" (else "else") (compound_statement "{\nLAB_00279da0:\n          puVar12 = (undefined4 *)0x0;\n        }" ({ "{") (labeled_statement "LAB_00279da0:\n          puVar12 = (undefined4 *)0x0;" (statement_identifier "LAB_00279da0") (: ":") (expression_statement "puVar12 = (undefined4 *)0x0;" (assignment_expression "puVar12 = (undefined4 *)0x0" (identifier "puVar12") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}")))) (expression_statement "*(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;" (assignment_expression "*(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12" (pointer_expression "*(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10)" (* "*") (cast_expression "(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" (( "(") (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" (& "&") (identifier "stack0xfffffe24")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (identifier "puVar12")) (; ";")) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" (* "*") (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" (( "(") (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&iStackY_1e0" (& "&") (identifier "iStackY_1e0"))) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (number_literal "0x279d7a")) (; ";")) (expression_statement "pbVar8 = (byte *)FUN_0026fc10();" (assignment_expression "pbVar8 = (byte *)FUN_0026fc10()" (identifier "pbVar8") (= "=") (cast_expression "(byte *)FUN_0026fc10()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0026fc10()" (identifier "FUN_0026fc10") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppbVar6 = local_1bc;" (assignment_expression "ppbVar6 = local_1bc" (identifier "ppbVar6") (= "=") (identifier "local_1bc")) (; ";")) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" (identifier "ppbVar5") (= "=") (identifier "local_1bc")) (; ";")) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" (identifier "pbVar14") (= "=") (identifier "local_1b0")) (; ";")) (expression_statement "ppbVar3 = local_194;" (assignment_expression "ppbVar3 = local_194" (identifier "ppbVar3") (= "=") (identifier "local_194")) (; ";")) (expression_statement "iVar11 = local_18c;" (assignment_expression "iVar11 = local_18c" (identifier "iVar11") (= "=") (identifier "local_18c")) (; ";")) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)local_194" (* "*") (cast_expression "(byte *)local_194" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_194")))) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" (else "else") (if_statement "if ((bVar13 == 0) || (3 < bVar13)) {\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }\n  else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" (if "if") (parenthesized_expression "((bVar13 == 0) || (3 < bVar13))" (( "(") (binary_expression "(bVar13 == 0) || (3 < bVar13)" (parenthesized_expression "(bVar13 == 0)" (( "(") (binary_expression "bVar13 == 0" (identifier "bVar13") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(3 < bVar13)" (( "(") (binary_expression "3 < bVar13" (number_literal "3") (< "<") (identifier "bVar13")) () ")"))) () ")")) (compound_statement "{\n    local_194 = (byte **)param_1;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;\n    pbVar8 = (byte *)FUN_002715c0();\n    bVar13 = *(byte *)local_194;\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n  }" ({ "{") (expression_statement "local_194 = (byte **)param_1;" (assignment_expression "local_194 = (byte **)param_1" (identifier "local_194") (= "=") (cast_expression "(byte **)param_1" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_1"))) (; ";")) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" (* "*") (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" (( "(") (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" (& "&") (identifier "stack0xfffffe30")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (number_literal "0x279a6b")) (; ";")) (expression_statement "pbVar8 = (byte *)FUN_002715c0();" (assignment_expression "pbVar8 = (byte *)FUN_002715c0()" (identifier "pbVar8") (= "=") (cast_expression "(byte *)FUN_002715c0()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002715c0()" (identifier "FUN_002715c0") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "bVar13 = *(byte *)local_194;" (assignment_expression "bVar13 = *(byte *)local_194" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)local_194" (* "*") (cast_expression "(byte *)local_194" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_194")))) (; ";")) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" (identifier "ppbVar5") (= "=") (identifier "local_1bc")) (; ";")) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" (identifier "pbVar14") (= "=") (identifier "local_1b0")) (; ";")) (} "}")) (else_clause "else {\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" (else "else") (compound_statement "{\n    local_1bc = (byte **)(local_1b0 + 0xb);\n    local_194 = local_1bc;\n    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }\n    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;\n    pbVar8 = (byte *)FUN_0026fc10();\n    ppbVar3 = local_194;\n    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;\n    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n    bVar13 = *(byte *)((int)ppbVar3 + sVar7);\n    ppbVar5 = local_1bc;\n    pbVar14 = local_1b0;\n    local_194 = (byte **)((int)ppbVar3 + sVar7);\n  }" ({ "{") (expression_statement "local_1bc = (byte **)(local_1b0 + 0xb);" (assignment_expression "local_1bc = (byte **)(local_1b0 + 0xb)" (identifier "local_1bc") (= "=") (cast_expression "(byte **)(local_1b0 + 0xb)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_1b0 + 0xb)" (( "(") (binary_expression "local_1b0 + 0xb" (identifier "local_1b0") (+ "+") (number_literal "0xb")) () ")")))) (; ";")) (expression_statement "local_194 = local_1bc;" (assignment_expression "local_194 = local_1bc" (identifier "local_194") (= "=") (identifier "local_1bc")) (; ";")) (if_statement "if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }\n    else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }" (if "if") (parenthesized_expression "((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a))" (( "(") (binary_expression "(local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)" (parenthesized_expression "(local_1b0[0xb] == 0x5f)" (( "(") (binary_expression "local_1b0[0xb] == 0x5f" (subscript_expression "local_1b0[0xb]" (identifier "local_1b0") ([ "[") (number_literal "0xb") (] "]")) (== "==") (number_literal "0x5f")) () ")")) (&& "&&") (parenthesized_expression "(local_1b0[0xc] == 0x5a)" (( "(") (binary_expression "local_1b0[0xc] == 0x5a" (subscript_expression "local_1b0[0xc]" (identifier "local_1b0") ([ "[") (number_literal "0xc") (] "]")) (== "==") (number_literal "0x5a")) () ")"))) () ")")) (compound_statement "{\n      local_194 = (byte **)(local_1b0 + 0xd);\n      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;\n      FUN_002728e0();\n    }" ({ "{") (expression_statement "local_194 = (byte **)(local_1b0 + 0xd);" (assignment_expression "local_194 = (byte **)(local_1b0 + 0xd)" (identifier "local_194") (= "=") (cast_expression "(byte **)(local_1b0 + 0xd)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_1b0 + 0xd)" (( "(") (binary_expression "local_1b0 + 0xd" (identifier "local_1b0") (+ "+") (number_literal "0xd")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" (* "*") (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" (( "(") (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" (& "&") (identifier "stack0xfffffe30")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (number_literal "0x279c30")) (; ";")) (expression_statement "FUN_002728e0();" (call_expression "FUN_002728e0()" (identifier "FUN_002728e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }" (else "else") (compound_statement "{\n      local_1c0 = uVar15 * 4;\n      local_1b0 = (byte *)(local_17c * 2);\n      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;\n      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;\n      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));\n      if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }\n    }" ({ "{") (expression_statement "local_1c0 = uVar15 * 4;" (assignment_expression "local_1c0 = uVar15 * 4" (identifier "local_1c0") (= "=") (binary_expression "uVar15 * 4" (identifier "uVar15") (* "*") (number_literal "4"))) (; ";")) (expression_statement "local_1b0 = (byte *)(local_17c * 2);" (assignment_expression "local_1b0 = (byte *)(local_17c * 2)" (identifier "local_1b0") (= "=") (cast_expression "(byte *)(local_17c * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_17c * 2)" (( "(") (binary_expression "local_17c * 2" (identifier "local_17c") (* "*") (number_literal "2")) () ")")))) (; ";")) (expression_statement "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;" (assignment_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc" (pointer_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" (* "*") (cast_expression "(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" (( "(") (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" (& "&") (identifier "stack0xfffffe24")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (identifier "local_1bc")) (; ";")) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" (* "*") (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" (( "(") (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&iStackY_1e0" (& "&") (identifier "iStackY_1e0"))) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (number_literal "0x2799c2")) (; ";")) (expression_statement "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));" (assignment_expression "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" (identifier "sVar7") (= "=") (call_expression "strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" (identifier "strlen") (argument_list "(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" (( "(") (pointer_expression "*(char **)(&stack0xfffffe24 + iVar2 + iVar10)" (* "*") (cast_expression "(char **)(&stack0xfffffe24 + iVar2 + iVar10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" (( "(") (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" (& "&") (identifier "stack0xfffffe24")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) () ")")))) (; ";")) (if_statement "if (0 < (int)local_1b0) {\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }" (if "if") (parenthesized_expression "(0 < (int)local_1b0)" (( "(") (binary_expression "0 < (int)local_1b0" (number_literal "0") (< "<") (cast_expression "(int)local_1b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1b0"))) () ")")) (compound_statement "{\n        *(undefined4 *)(uVar15 * 4 + 4) = 0;\n        local_18c = 1;\n        if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }\n      }" ({ "{") (expression_statement "*(undefined4 *)(uVar15 * 4 + 4) = 0;" (assignment_expression "*(undefined4 *)(uVar15 * 4 + 4) = 0" (pointer_expression "*(undefined4 *)(uVar15 * 4 + 4)" (* "*") (cast_expression "(undefined4 *)(uVar15 * 4 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar15 * 4 + 4)" (( "(") (binary_expression "uVar15 * 4 + 4" (binary_expression "uVar15 * 4" (identifier "uVar15") (* "*") (number_literal "4")) (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_18c = 1;" (assignment_expression "local_18c = 1" (identifier "local_18c") (= "=") (number_literal "1")) (; ";")) (if_statement "if (sVar7 != 0) {\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }" (if "if") (parenthesized_expression "(sVar7 != 0)" (( "(") (binary_expression "sVar7 != 0" (identifier "sVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;\n          *(undefined4 *)(uVar15 * 4) = 0;\n          *(byte ***)(uVar15 * 4 + 8) = local_1bc;\n        }" ({ "{") (expression_statement "*(size_t *)(uVar15 * 4 + 0xc) = sVar7;" (assignment_expression "*(size_t *)(uVar15 * 4 + 0xc) = sVar7" (pointer_expression "*(size_t *)(uVar15 * 4 + 0xc)" (* "*") (cast_expression "(size_t *)(uVar15 * 4 + 0xc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar15 * 4 + 0xc)" (( "(") (binary_expression "uVar15 * 4 + 0xc" (binary_expression "uVar15 * 4" (identifier "uVar15") (* "*") (number_literal "4")) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "sVar7")) (; ";")) (expression_statement "*(undefined4 *)(uVar15 * 4) = 0;" (assignment_expression "*(undefined4 *)(uVar15 * 4) = 0" (pointer_expression "*(undefined4 *)(uVar15 * 4)" (* "*") (cast_expression "(undefined4 *)(uVar15 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar15 * 4)" (( "(") (binary_expression "uVar15 * 4" (identifier "uVar15") (* "*") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(byte ***)(uVar15 * 4 + 8) = local_1bc;" (assignment_expression "*(byte ***)(uVar15 * 4 + 8) = local_1bc" (pointer_expression "*(byte ***)(uVar15 * 4 + 8)" (* "*") (cast_expression "(byte ***)(uVar15 * 4 + 8)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(uVar15 * 4 + 8)" (( "(") (binary_expression "uVar15 * 4 + 8" (binary_expression "uVar15 * 4" (identifier "uVar15") (* "*") (number_literal "4")) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "local_1bc")) (; ";")) (} "}"))) (} "}"))) (} "}")))) (expression_statement "*(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;" (assignment_expression "*(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0" (pointer_expression "*(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10)" (* "*") (cast_expression "(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" (( "(") (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" (& "&") (identifier "stack0xfffffe24")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" (* "*") (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" (( "(") (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&iStackY_1e0" (& "&") (identifier "iStackY_1e0"))) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (number_literal "0x279a32")) (; ";")) (expression_statement "pbVar8 = (byte *)FUN_0026fc10();" (assignment_expression "pbVar8 = (byte *)FUN_0026fc10()" (identifier "pbVar8") (= "=") (cast_expression "(byte *)FUN_0026fc10()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0026fc10()" (identifier "FUN_0026fc10") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppbVar3 = local_194;" (assignment_expression "ppbVar3 = local_194" (identifier "ppbVar3") (= "=") (identifier "local_194")) (; ";")) (expression_statement "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;" (assignment_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194" (pointer_expression "*(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" (* "*") (cast_expression "(byte ***)(&stack0xfffffe24 + iVar2 + iVar10)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" (( "(") (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" (& "&") (identifier "stack0xfffffe24")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (identifier "local_194")) (; ";")) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" (* "*") (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" (( "(") (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&iStackY_1e0" (& "&") (identifier "iStackY_1e0"))) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (number_literal "0x279a42")) (; ";")) (expression_statement "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));" (assignment_expression "sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" (identifier "sVar7") (= "=") (call_expression "strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" (identifier "strlen") (argument_list "(*(char **)(&stack0xfffffe24 + iVar2 + iVar10))" (( "(") (pointer_expression "*(char **)(&stack0xfffffe24 + iVar2 + iVar10)" (* "*") (cast_expression "(char **)(&stack0xfffffe24 + iVar2 + iVar10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" (( "(") (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" (& "&") (identifier "stack0xfffffe24")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) () ")")))) (; ";")) (expression_statement "bVar13 = *(byte *)((int)ppbVar3 + sVar7);" (assignment_expression "bVar13 = *(byte *)((int)ppbVar3 + sVar7)" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)((int)ppbVar3 + sVar7)" (* "*") (cast_expression "(byte *)((int)ppbVar3 + sVar7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppbVar3 + sVar7)" (( "(") (binary_expression "(int)ppbVar3 + sVar7" (cast_expression "(int)ppbVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar3")) (+ "+") (identifier "sVar7")) () ")"))))) (; ";")) (expression_statement "ppbVar5 = local_1bc;" (assignment_expression "ppbVar5 = local_1bc" (identifier "ppbVar5") (= "=") (identifier "local_1bc")) (; ";")) (expression_statement "pbVar14 = local_1b0;" (assignment_expression "pbVar14 = local_1b0" (identifier "pbVar14") (= "=") (identifier "local_1b0")) (; ";")) (expression_statement "local_194 = (byte **)((int)ppbVar3 + sVar7);" (assignment_expression "local_194 = (byte **)((int)ppbVar3 + sVar7)" (identifier "local_194") (= "=") (cast_expression "(byte **)((int)ppbVar3 + sVar7)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppbVar3 + sVar7)" (( "(") (binary_expression "(int)ppbVar3 + sVar7" (cast_expression "(int)ppbVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar3")) (+ "+") (identifier "sVar7")) () ")")))) (; ";")) (} "}")))))) (expression_statement "local_1b0 = pbVar14;" (assignment_expression "local_1b0 = pbVar14" (identifier "local_1b0") (= "=") (identifier "pbVar14")) (; ";")) (expression_statement "local_1bc = ppbVar5;" (assignment_expression "local_1bc = ppbVar5" (identifier "local_1bc") (= "=") (identifier "ppbVar5")) (; ";")) (if_statement "if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    FUN_0026fce0();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    FUN_00273030();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }" (if "if") (parenthesized_expression "((pbVar8 != (byte *)0x0) && (bVar13 == 0))" (( "(") (binary_expression "(pbVar8 != (byte *)0x0) && (bVar13 == 0)" (parenthesized_expression "(pbVar8 != (byte *)0x0)" (( "(") (binary_expression "pbVar8 != (byte *)0x0" (identifier "pbVar8") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(bVar13 == 0)" (( "(") (binary_expression "bVar13 == 0" (identifier "bVar13") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    local_64 = 0;\n    local_68 = 0;\n    local_58 = 0;\n    local_54 = 0;\n    local_44 = 0;\n    local_40 = 0;\n    local_50 = 0;\n    local_4c = 0;\n    local_48 = 0;\n    local_3c = 0;\n    local_38 = (undefined1 *)0x0;\n    local_34 = 0;\n    local_30 = 0;\n    local_2c = (undefined1 *)0x0;\n    local_28 = 0;\n    local_24 = 0;\n    local_60 = local_1b4;\n    local_5c = local_1b8;\n    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;\n    FUN_0026fce0();\n    local_20 = 0;\n    local_24 = local_24 * local_30;\n    iVar11 = local_30;\n    if (local_30 < 1) {\n      iVar11 = 1;\n    }\n    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);\n    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;\n    iVar9 = local_24;\n    if (local_24 < 1) {\n      iVar9 = 1;\n    }\n    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);\n    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;\n    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;\n    FUN_00273030();\n    iVar11 = local_68;\n    local_168[local_68] = 0;\n    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;\n    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;\n    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;\n    pcVar4 = local_60;\n    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;\n    (*pcVar4)();\n    return local_50 == 0;\n  }" ({ "{") (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_38 = (undefined1 *)0x0;" (assignment_expression "local_38 = (undefined1 *)0x0" (identifier "local_38") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_2c = (undefined1 *)0x0;" (assignment_expression "local_2c = (undefined1 *)0x0" (identifier "local_2c") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" (identifier "local_24") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_60 = local_1b4;" (assignment_expression "local_60 = local_1b4" (identifier "local_60") (= "=") (identifier "local_1b4")) (; ";")) (expression_statement "local_5c = local_1b8;" (assignment_expression "local_5c = local_1b8" (identifier "local_5c") (= "=") (identifier "local_1b8")) (; ";")) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" (* "*") (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&stack0xfffffe30 + iVar2 + iVar10)" (( "(") (binary_expression "&stack0xfffffe30 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar2" (pointer_expression "&stack0xfffffe30" (& "&") (identifier "stack0xfffffe30")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (number_literal "0x279b12")) (; ";")) (expression_statement "FUN_0026fce0();" (call_expression "FUN_0026fce0()" (identifier "FUN_0026fce0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" (identifier "local_20") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_24 = local_24 * local_30;" (assignment_expression "local_24 = local_24 * local_30" (identifier "local_24") (= "=") (binary_expression "local_24 * local_30" (identifier "local_24") (* "*") (identifier "local_30"))) (; ";")) (expression_statement "iVar11 = local_30;" (assignment_expression "iVar11 = local_30" (identifier "iVar11") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_30 < 1) {\n      iVar11 = 1;\n    }" (if "if") (parenthesized_expression "(local_30 < 1)" (( "(") (binary_expression "local_30 < 1" (identifier "local_30") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      iVar11 = 1;\n    }" ({ "{") (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" (identifier "iVar11") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);" (assignment_expression "iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0)" (identifier "iVar11") (= "=") (unary_expression "-(iVar11 * 8 + 0xfU & 0xfffffff0)" (- "-") (parenthesized_expression "(iVar11 * 8 + 0xfU & 0xfffffff0)" (( "(") (binary_expression "iVar11 * 8 + 0xfU & 0xfffffff0" (binary_expression "iVar11 * 8 + 0xfU" (binary_expression "iVar11 * 8" (identifier "iVar11") (* "*") (number_literal "8")) (+ "+") (number_literal "0xfU")) (& "&") (number_literal "0xfffffff0")) () ")")))) (; ";")) (expression_statement "local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;" (assignment_expression "local_38 = auStack_1cc + iVar11 + iVar2 + iVar10" (identifier "local_38") (= "=") (binary_expression "auStack_1cc + iVar11 + iVar2 + iVar10" (binary_expression "auStack_1cc + iVar11 + iVar2" (binary_expression "auStack_1cc + iVar11" (identifier "auStack_1cc") (+ "+") (identifier "iVar11")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "iVar9 = local_24;" (assignment_expression "iVar9 = local_24" (identifier "iVar9") (= "=") (identifier "local_24")) (; ";")) (if_statement "if (local_24 < 1) {\n      iVar9 = 1;\n    }" (if "if") (parenthesized_expression "(local_24 < 1)" (( "(") (binary_expression "local_24 < 1" (identifier "local_24") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      iVar9 = 1;\n    }" ({ "{") (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" (identifier "iVar9") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);" (assignment_expression "iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0)" (identifier "iVar9") (= "=") (unary_expression "-(iVar9 * 8 + 0xfU & 0xfffffff0)" (- "-") (parenthesized_expression "(iVar9 * 8 + 0xfU & 0xfffffff0)" (( "(") (binary_expression "iVar9 * 8 + 0xfU & 0xfffffff0" (binary_expression "iVar9 * 8 + 0xfU" (binary_expression "iVar9 * 8" (identifier "iVar9") (* "*") (number_literal "8")) (+ "+") (number_literal "0xfU")) (& "&") (number_literal "0xfffffff0")) () ")")))) (; ";")) (expression_statement "local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;" (assignment_expression "local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10" (identifier "local_2c") (= "=") (binary_expression "auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10" (binary_expression "auStack_1cc + iVar9 + iVar11 + iVar2" (binary_expression "auStack_1cc + iVar9 + iVar11" (binary_expression "auStack_1cc + iVar9" (identifier "auStack_1cc") (+ "+") (identifier "iVar9")) (+ "+") (identifier "iVar11")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "*(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;" (assignment_expression "*(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62" (pointer_expression "*(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10)" (* "*") (cast_expression "(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10)" (( "(") (binary_expression "&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10" (binary_expression "&stack0xfffffe30 + iVar9 + iVar11 + iVar2" (binary_expression "&stack0xfffffe30 + iVar9 + iVar11" (binary_expression "&stack0xfffffe30 + iVar9" (pointer_expression "&stack0xfffffe30" (& "&") (identifier "stack0xfffffe30")) (+ "+") (identifier "iVar9")) (+ "+") (identifier "iVar11")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (number_literal "0x279b62")) (; ";")) (expression_statement "FUN_00273030();" (call_expression "FUN_00273030()" (identifier "FUN_00273030") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar11 = local_68;" (assignment_expression "iVar11 = local_68" (identifier "iVar11") (= "=") (identifier "local_68")) (; ";")) (expression_statement "local_168[local_68] = 0;" (assignment_expression "local_168[local_68] = 0" (subscript_expression "local_168[local_68]" (identifier "local_168") ([ "[") (identifier "local_68") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;" (assignment_expression "*(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c" (pointer_expression "*(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10)" (* "*") (cast_expression "(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&stack0xfffffe2c + iVar2 + iVar10)" (( "(") (binary_expression "&stack0xfffffe2c + iVar2 + iVar10" (binary_expression "&stack0xfffffe2c + iVar2" (pointer_expression "&stack0xfffffe2c" (& "&") (identifier "stack0xfffffe2c")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (identifier "local_5c")) (; ";")) (expression_statement "*(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;" (assignment_expression "*(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11" (pointer_expression "*(int *)(&stack0xfffffe28 + iVar2 + iVar10)" (* "*") (cast_expression "(int *)(&stack0xfffffe28 + iVar2 + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&stack0xfffffe28 + iVar2 + iVar10)" (( "(") (binary_expression "&stack0xfffffe28 + iVar2 + iVar10" (binary_expression "&stack0xfffffe28 + iVar2" (pointer_expression "&stack0xfffffe28" (& "&") (identifier "stack0xfffffe28")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "*(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;" (assignment_expression "*(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168" (pointer_expression "*(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10)" (* "*") (cast_expression "(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&stack0xfffffe24 + iVar2 + iVar10)" (( "(") (binary_expression "&stack0xfffffe24 + iVar2 + iVar10" (binary_expression "&stack0xfffffe24 + iVar2" (pointer_expression "&stack0xfffffe24" (& "&") (identifier "stack0xfffffe24")) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (identifier "local_168")) (; ";")) (expression_statement "pcVar4 = local_60;" (assignment_expression "pcVar4 = local_60" (identifier "pcVar4") (= "=") (identifier "local_60")) (; ";")) (expression_statement "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;" (assignment_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a" (pointer_expression "*(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" (* "*") (cast_expression "(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&iStackY_1e0 + iVar2 + iVar10)" (( "(") (binary_expression "(int)&iStackY_1e0 + iVar2 + iVar10" (binary_expression "(int)&iStackY_1e0 + iVar2" (cast_expression "(int)&iStackY_1e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&iStackY_1e0" (& "&") (identifier "iStackY_1e0"))) (+ "+") (identifier "iVar2")) (+ "+") (identifier "iVar10")) () ")")))) (= "=") (number_literal "0x279b7a")) (; ";")) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return local_50 == 0;" (return "return") (binary_expression "local_50 == 0" (identifier "local_50") (== "==") (number_literal "0")) (; ";")) (} "}"))) (return_statement "return false;" (return "return") (false "false") (; ";")) (} "}")))

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

bool __regparm3 function_1(type_1 *var_9,type_2 *param_2,type_3 param_3)

{
  type_1 var_7;
  int var_12;
  type_1 **ppbVar3;
  type_2 *pcVar4;
  type_1 **ppbVar5;
  type_1 **ppbVar6;
  size_t var_21;
  type_1 *var_4;
  int var_25;
  int var_3;
  int var_17;
  type_3 *puVar12;
  type_1 var_2;
  type_1 *var_5;
  type_4 var_13;
  bool var_6;
  bool bVar17;
  int iStackY_1e0;
  type_5 var_11 [12];
  int local_1c0;
  type_1 **local_1bc;
  type_3 local_1b8;
  type_2 *local_1b4;
  type_1 *var_14;
  type_1 *local_1a0;
  type_1 *local_19c;
  type_4 var_16;
  type_1 **local_194;
  int var_18;
  int local_18c;
  type_1 *local_188;
  type_5 *local_184;
  type_3 local_180;
  size_t var_10;
  type_3 local_178;
  type_3 local_174;
  type_3 local_170;
  type_3 local_16c;
  type_5 local_168 [256];
  int local_68;
  type_5 local_64;
  type_2 *local_60;
  type_3 local_5c;
  type_3 local_58;
  type_3 local_54;
  int var_27;
  type_3 local_4c;
  type_3 local_48;
  type_3 local_44;
  type_3 local_40;
  type_3 local_3c;
  type_5 *local_38;
  type_3 local_34;
  int var_24;
  type_5 *local_2c;
  type_3 local_28;
  int var_23;
  type_3 local_20;
  type_3 uStack_14;
  
  uStack_14 = 0x27983b;
  var_2 = *var_9;
  local_1bc = (type_1 **)var_1(local_1bc._1_3_,var_2);
  var_6 = var_2 < 0x5f;
  bVar17 = var_2 == 0x5f;
  if (bVar17) {
    var_2 = 1;
    var_6 = var_9[1] < 0x5a;
    bVar17 = var_9[1] == 0x5a;
    if (bVar17) goto LAB_002798c0;
  }
  var_3 = 8;
  var_4 = var_9;
  var_5 = (type_1 *)"_GLOBAL_";
  do {
    if (var_3 == 0) break;
    var_3 = var_3 + -1;
    var_6 = *var_4 < *var_5;
    bVar17 = *var_4 == *var_5;
    var_4 = var_4 + 1;
    var_5 = var_5 + 1;
  } while (bVar17);
  var_2 = 0;
  if (((((!var_6 && !bVar17) == var_6) &&
       ((var_7 = var_9[8], var_7 == 0x2e || var_7 == 0x5f || (var_7 == 0x24)))) &&
      ((var_7 = var_9[9], var_7 == 0x44 || (var_2 = 0, var_7 == 0x49)))) &&
     (var_2 = 0, var_9[10] == 0x5f)) {
    var_2 = (var_7 != 0x49) + 2;
  }
LAB_002798c0:
  iStackY_1e0 = 0x2798cf;
  local_1b8 = param_3;
  local_1b4 = param_2;
  var_14 = var_9;
  var_10 = var_8((char *)var_9);
  local_1a0 = var_9;
  local_19c = var_9 + var_10;
  var_3 = var_10 * -0x20;
  local_188 = (type_1 *)(var_10 * 2);
  var_16 = 0x11;
  var_13 = (type_4)(var_11 + var_3 + 3) >> 2;
  var_12 = -(var_10 * 4 + 0xf & 0xfffffff0);
  local_184 = var_11 + var_12 + var_3;
  local_18c = 0;
  local_180 = 0;
  local_178 = 0;
  local_174 = 0;
  local_170 = 0;
  local_16c = 0;
  var_18 = var_13 * 4;
  if (var_2 == 1) {
    if ((char)local_1bc != '_') {
      return false;
    }
    if (var_14[1] != 0x5a) {
      return false;
    }
    local_194 = (type_1 **)(var_14 + 2);
    *(type_3 *)(&stack0xfffffe30 + var_12 + var_3) = 0x279bc8;
    var_4 = (type_1 *)var_15();
    ppbVar5 = local_1bc;
    var_5 = var_14;
    if ((var_16 & 1) == 0) {
      var_2 = *(type_1 *)local_194;
    }
    else {
      var_2 = *(type_1 *)local_194;
      ppbVar6 = &local_1a0;
      ppbVar3 = local_194;
      var_17 = local_18c;
      while (var_14 = var_4, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = var_17,
            var_4 = var_14, var_2 == 0x2e) {
        var_2 = *(type_1 *)((int)ppbVar3 + 1);
        if (((type_1)(var_2 + 0x9f) < 0x1a) || (var_2 == 0x5f)) {
          var_2 = *(type_1 *)((int)ppbVar3 + 2);
          local_194 = (type_1 **)((int)ppbVar3 + 2);
          if (0x19 < (type_1)(var_2 + 0x9f)) goto LAB_00279dce;
          do {
            do {
              local_194 = (type_1 **)((int)local_194 + 1);
              var_2 = *(type_1 *)local_194;
            } while ((type_1)(var_2 + 0x9f) < 0x1a);
LAB_00279dce:
          } while (var_2 == 0x5f);
        }
        else {
          if (9 < (type_1)(var_2 - 0x30)) {
            var_2 = *(type_1 *)ppbVar3;
            ppbVar5 = local_1bc;
            break;
          }
          var_2 = *(type_1 *)ppbVar3;
        }
        while ((var_2 == 0x2e && ((type_1)(*(type_1 *)((int)local_194 + 1) - 0x30) < 10))) {
          var_4 = (type_1 *)((int)local_194 + 2);
          local_194 = (type_1 **)((int)local_194 + 2);
          var_2 = *var_4;
          while ((type_1)(var_2 - 0x30) < 10) {
            local_194 = (type_1 **)((int)local_194 + 1);
            var_2 = *(type_1 *)local_194;
          }
        }
        if (var_17 < (int)local_188) {
          local_18c = var_17 + 1;
          puVar12 = (type_3 *)(var_17 * 0x10 + var_18);
          puVar12[1] = 0;
          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;
          puVar12[1] = 0;
          *puVar12 = 0;
          puVar12[2] = ppbVar3;
          puVar12[3] = (int)local_194 - (int)ppbVar3;
        }
        else {
LAB_00279da0:
          puVar12 = (type_3 *)0x0;
        }
        *(type_3 **)(&stack0xfffffe24 + var_12 + var_3) = puVar12;
        *(type_3 *)((int)&iStackY_1e0 + var_12 + var_3) = 0x279d7a;
        var_4 = (type_1 *)var_19();
        ppbVar6 = local_1bc;
        ppbVar5 = local_1bc;
        var_5 = var_14;
        ppbVar3 = local_194;
        var_17 = local_18c;
        var_2 = *(type_1 *)local_194;
      }
    }
  }
  else if ((var_2 == 0) || (3 < var_2)) {
    local_194 = (type_1 **)var_9;
    *(type_3 *)(&stack0xfffffe30 + var_12 + var_3) = 0x279a6b;
    var_4 = (type_1 *)var_20();
    var_2 = *(type_1 *)local_194;
    ppbVar5 = local_1bc;
    var_5 = var_14;
  }
  else {
    local_1bc = (type_1 **)(var_14 + 0xb);
    local_194 = local_1bc;
    if ((var_14[0xb] == 0x5f) && (var_14[0xc] == 0x5a)) {
      local_194 = (type_1 **)(var_14 + 0xd);
      *(type_3 *)(&stack0xfffffe30 + var_12 + var_3) = 0x279c30;
      var_15();
    }
    else {
      local_1c0 = var_13 * 4;
      var_14 = (type_1 *)(var_10 * 2);
      *(type_1 ***)(&stack0xfffffe24 + var_12 + var_3) = local_1bc;
      *(type_3 *)((int)&iStackY_1e0 + var_12 + var_3) = 0x2799c2;
      var_21 = var_8(*(char **)(&stack0xfffffe24 + var_12 + var_3));
      if (0 < (int)var_14) {
        *(type_3 *)(var_13 * 4 + 4) = 0;
        local_18c = 1;
        if (var_21 != 0) {
          *(size_t *)(var_13 * 4 + 0xc) = var_21;
          *(type_3 *)(var_13 * 4) = 0;
          *(type_1 ***)(var_13 * 4 + 8) = local_1bc;
        }
      }
    }
    *(type_3 *)(&stack0xfffffe24 + var_12 + var_3) = 0;
    *(type_3 *)((int)&iStackY_1e0 + var_12 + var_3) = 0x279a32;
    var_4 = (type_1 *)var_19();
    ppbVar3 = local_194;
    *(type_1 ***)(&stack0xfffffe24 + var_12 + var_3) = local_194;
    *(type_3 *)((int)&iStackY_1e0 + var_12 + var_3) = 0x279a42;
    var_21 = var_8(*(char **)(&stack0xfffffe24 + var_12 + var_3));
    var_2 = *(type_1 *)((int)ppbVar3 + var_21);
    ppbVar5 = local_1bc;
    var_5 = var_14;
    local_194 = (type_1 **)((int)ppbVar3 + var_21);
  }
  var_14 = var_5;
  local_1bc = ppbVar5;
  if ((var_4 != (type_1 *)0x0) && (var_2 == 0)) {
    local_64 = 0;
    local_68 = 0;
    local_58 = 0;
    local_54 = 0;
    local_44 = 0;
    local_40 = 0;
    var_27 = 0;
    local_4c = 0;
    local_48 = 0;
    local_3c = 0;
    local_38 = (type_5 *)0x0;
    local_34 = 0;
    var_24 = 0;
    local_2c = (type_5 *)0x0;
    local_28 = 0;
    var_23 = 0;
    local_60 = local_1b4;
    local_5c = local_1b8;
    *(type_3 *)(&stack0xfffffe30 + var_12 + var_3) = 0x279b12;
    var_22();
    local_20 = 0;
    var_23 = var_23 * var_24;
    var_17 = var_24;
    if (var_24 < 1) {
      var_17 = 1;
    }
    var_17 = -(var_17 * 8 + 0xfU & 0xfffffff0);
    local_38 = var_11 + var_17 + var_12 + var_3;
    var_25 = var_23;
    if (var_23 < 1) {
      var_25 = 1;
    }
    var_25 = -(var_25 * 8 + 0xfU & 0xfffffff0);
    local_2c = var_11 + var_25 + var_17 + var_12 + var_3;
    *(type_3 *)(&stack0xfffffe30 + var_25 + var_17 + var_12 + var_3) = 0x279b62;
    var_26();
    var_17 = local_68;
    local_168[local_68] = 0;
    *(type_3 *)(&stack0xfffffe2c + var_12 + var_3) = local_5c;
    *(int *)(&stack0xfffffe28 + var_12 + var_3) = var_17;
    *(type_5 **)(&stack0xfffffe24 + var_12 + var_3) = local_168;
    pcVar4 = local_60;
    *(type_3 *)((int)&iStackY_1e0 + var_12 + var_3) = 0x279b7a;
    (*pcVar4)();
    return var_27 == 0;
  }
  return false;
}


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

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

bool __regparm3 MASKED(byte *param_1,code *param_2,undefined4 param_3)

{
  byte bVar1;
  int iVar2;
  byte **ppbVar3;
  code *pcVar4;
  byte **ppbVar5;
  byte **ppbVar6;
  size_t sVar7;
  byte *pbVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  undefined4 *puVar12;
  byte bVar13;
  byte *pbVar14;
  uint uVar15;
  bool bVar16;
  bool bVar17;
  int iStackY_1e0;
  undefined1 auStack_1cc [12];
  int local_1c0;
  byte **local_1bc;
  undefined4 local_1b8;
  code *local_1b4;
  byte *local_1b0;
  byte *local_1a0;
  byte *local_19c;
  uint local_198;
  byte **local_194;
  int local_190;
  int local_18c;
  byte *local_188;
  undefined1 *local_184;
  undefined4 local_180;
  size_t local_17c;
  undefined4 local_178;
  undefined4 local_174;
  undefined4 local_170;
  undefined4 local_16c;
  undefined1 local_168 [256];
  int local_68;
  undefined1 local_64;
  code *local_60;
  undefined4 local_5c;
  undefined4 local_58;
  undefined4 local_54;
  int local_50;
  undefined4 local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined1 *local_38;
  undefined4 local_34;
  int local_30;
  undefined1 *local_2c;
  undefined4 local_28;
  int local_24;
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x27983b;
  bVar13 = *param_1;
  local_1bc = (byte **)CONCAT31(local_1bc._1_3_,bVar13);
  bVar16 = bVar13 < 0x5f;
  bVar17 = bVar13 == 0x5f;
  if (bVar17) {
    bVar13 = 1;
    bVar16 = param_1[1] < 0x5a;
    bVar17 = param_1[1] == 0x5a;
    if (bVar17) goto LAB_002798c0;
  }
  iVar10 = 8;
  pbVar8 = param_1;
  pbVar14 = (byte *)"_GLOBAL_";
  do {
    if (iVar10 == 0) break;
    iVar10 = iVar10 + -1;
    bVar16 = *pbVar8 < *pbVar14;
    bVar17 = *pbVar8 == *pbVar14;
    pbVar8 = pbVar8 + 1;
    pbVar14 = pbVar14 + 1;
  } while (bVar17);
  bVar13 = 0;
  if (((((!bVar16 && !bVar17) == bVar16) &&
       ((bVar1 = param_1[8], bVar1 == 0x2e || bVar1 == 0x5f || (bVar1 == 0x24)))) &&
      ((bVar1 = param_1[9], bVar1 == 0x44 || (bVar13 = 0, bVar1 == 0x49)))) &&
     (bVar13 = 0, param_1[10] == 0x5f)) {
    bVar13 = (bVar1 != 0x49) + 2;
  }
LAB_002798c0:
  iStackY_1e0 = 0x2798cf;
  local_1b8 = param_3;
  local_1b4 = param_2;
  local_1b0 = param_1;
  local_17c = strlen((char *)param_1);
  local_1a0 = param_1;
  local_19c = param_1 + local_17c;
  iVar10 = local_17c * -0x20;
  local_188 = (byte *)(local_17c * 2);
  local_198 = 0x11;
  uVar15 = (uint)(auStack_1cc + iVar10 + 3) >> 2;
  iVar2 = -(local_17c * 4 + 0xf & 0xfffffff0);
  local_184 = auStack_1cc + iVar2 + iVar10;
  local_18c = 0;
  local_180 = 0;
  local_178 = 0;
  local_174 = 0;
  local_170 = 0;
  local_16c = 0;
  local_190 = uVar15 * 4;
  if (bVar13 == 1) {
    if ((char)local_1bc != '_') {
      return false;
    }
    if (local_1b0[1] != 0x5a) {
      return false;
    }
    local_194 = (byte **)(local_1b0 + 2);
    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279bc8;
    pbVar8 = (byte *)FUN_002728e0();
    ppbVar5 = local_1bc;
    pbVar14 = local_1b0;
    if ((local_198 & 1) == 0) {
      bVar13 = *(byte *)local_194;
    }
    else {
      bVar13 = *(byte *)local_194;
      ppbVar6 = &local_1a0;
      ppbVar3 = local_194;
      iVar11 = local_18c;
      while (local_1b0 = pbVar8, local_1bc = ppbVar6, local_194 = ppbVar3, local_18c = iVar11,
            pbVar8 = local_1b0, bVar13 == 0x2e) {
        bVar13 = *(byte *)((int)ppbVar3 + 1);
        if (((byte)(bVar13 + 0x9f) < 0x1a) || (bVar13 == 0x5f)) {
          bVar13 = *(byte *)((int)ppbVar3 + 2);
          local_194 = (byte **)((int)ppbVar3 + 2);
          if (0x19 < (byte)(bVar13 + 0x9f)) goto LAB_00279dce;
          do {
            do {
              local_194 = (byte **)((int)local_194 + 1);
              bVar13 = *(byte *)local_194;
            } while ((byte)(bVar13 + 0x9f) < 0x1a);
LAB_00279dce:
          } while (bVar13 == 0x5f);
        }
        else {
          if (9 < (byte)(bVar13 - 0x30)) {
            bVar13 = *(byte *)ppbVar3;
            ppbVar5 = local_1bc;
            break;
          }
          bVar13 = *(byte *)ppbVar3;
        }
        while ((bVar13 == 0x2e && ((byte)(*(byte *)((int)local_194 + 1) - 0x30) < 10))) {
          pbVar8 = (byte *)((int)local_194 + 2);
          local_194 = (byte **)((int)local_194 + 2);
          bVar13 = *pbVar8;
          while ((byte)(bVar13 - 0x30) < 10) {
            local_194 = (byte **)((int)local_194 + 1);
            bVar13 = *(byte *)local_194;
          }
        }
        if (iVar11 < (int)local_188) {
          local_18c = iVar11 + 1;
          puVar12 = (undefined4 *)(iVar11 * 0x10 + local_190);
          puVar12[1] = 0;
          if ((int)local_194 - (int)ppbVar3 == 0) goto LAB_00279da0;
          puVar12[1] = 0;
          *puVar12 = 0;
          puVar12[2] = ppbVar3;
          puVar12[3] = (int)local_194 - (int)ppbVar3;
        }
        else {
LAB_00279da0:
          puVar12 = (undefined4 *)0x0;
        }
        *(undefined4 **)(&stack0xfffffe24 + iVar2 + iVar10) = puVar12;
        *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279d7a;
        pbVar8 = (byte *)FUN_0026fc10();
        ppbVar6 = local_1bc;
        ppbVar5 = local_1bc;
        pbVar14 = local_1b0;
        ppbVar3 = local_194;
        iVar11 = local_18c;
        bVar13 = *(byte *)local_194;
      }
    }
  }
  else if ((bVar13 == 0) || (3 < bVar13)) {
    local_194 = (byte **)param_1;
    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279a6b;
    pbVar8 = (byte *)FUN_002715c0();
    bVar13 = *(byte *)local_194;
    ppbVar5 = local_1bc;
    pbVar14 = local_1b0;
  }
  else {
    local_1bc = (byte **)(local_1b0 + 0xb);
    local_194 = local_1bc;
    if ((local_1b0[0xb] == 0x5f) && (local_1b0[0xc] == 0x5a)) {
      local_194 = (byte **)(local_1b0 + 0xd);
      *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279c30;
      FUN_002728e0();
    }
    else {
      local_1c0 = uVar15 * 4;
      local_1b0 = (byte *)(local_17c * 2);
      *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_1bc;
      *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x2799c2;
      sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));
      if (0 < (int)local_1b0) {
        *(undefined4 *)(uVar15 * 4 + 4) = 0;
        local_18c = 1;
        if (sVar7 != 0) {
          *(size_t *)(uVar15 * 4 + 0xc) = sVar7;
          *(undefined4 *)(uVar15 * 4) = 0;
          *(byte ***)(uVar15 * 4 + 8) = local_1bc;
        }
      }
    }
    *(undefined4 *)(&stack0xfffffe24 + iVar2 + iVar10) = 0;
    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a32;
    pbVar8 = (byte *)FUN_0026fc10();
    ppbVar3 = local_194;
    *(byte ***)(&stack0xfffffe24 + iVar2 + iVar10) = local_194;
    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279a42;
    sVar7 = strlen(*(char **)(&stack0xfffffe24 + iVar2 + iVar10));
    bVar13 = *(byte *)((int)ppbVar3 + sVar7);
    ppbVar5 = local_1bc;
    pbVar14 = local_1b0;
    local_194 = (byte **)((int)ppbVar3 + sVar7);
  }
  local_1b0 = pbVar14;
  local_1bc = ppbVar5;
  if ((pbVar8 != (byte *)0x0) && (bVar13 == 0)) {
    local_64 = 0;
    local_68 = 0;
    local_58 = 0;
    local_54 = 0;
    local_44 = 0;
    local_40 = 0;
    local_50 = 0;
    local_4c = 0;
    local_48 = 0;
    local_3c = 0;
    local_38 = (undefined1 *)0x0;
    local_34 = 0;
    local_30 = 0;
    local_2c = (undefined1 *)0x0;
    local_28 = 0;
    local_24 = 0;
    local_60 = local_1b4;
    local_5c = local_1b8;
    *(undefined4 *)(&stack0xfffffe30 + iVar2 + iVar10) = 0x279b12;
    FUN_0026fce0();
    local_20 = 0;
    local_24 = local_24 * local_30;
    iVar11 = local_30;
    if (local_30 < 1) {
      iVar11 = 1;
    }
    iVar11 = -(iVar11 * 8 + 0xfU & 0xfffffff0);
    local_38 = auStack_1cc + iVar11 + iVar2 + iVar10;
    iVar9 = local_24;
    if (local_24 < 1) {
      iVar9 = 1;
    }
    iVar9 = -(iVar9 * 8 + 0xfU & 0xfffffff0);
    local_2c = auStack_1cc + iVar9 + iVar11 + iVar2 + iVar10;
    *(undefined4 *)(&stack0xfffffe30 + iVar9 + iVar11 + iVar2 + iVar10) = 0x279b62;
    FUN_00273030();
    iVar11 = local_68;
    local_168[local_68] = 0;
    *(undefined4 *)(&stack0xfffffe2c + iVar2 + iVar10) = local_5c;
    *(int *)(&stack0xfffffe28 + iVar2 + iVar10) = iVar11;
    *(undefined1 **)(&stack0xfffffe24 + iVar2 + iVar10) = local_168;
    pcVar4 = local_60;
    *(undefined4 *)((int)&iStackY_1e0 + iVar2 + iVar10) = 0x279b7a;
    (*pcVar4)();
    return local_50 == 0;
  }
  return false;
}

