
/* WARNING: Removing unreachable block (ram,0x00035b3c) */
/* WARNING: Removing unreachable block (ram,0x00035b74) */
/* WARNING: Type propagation algorithm not settling */

int curl_msnprintf(char *buffer,size_t maxlength,char *format,...)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  int *piVar4;
  char *pcVar5;
  uint *puVar6;
  undefined **ppuVar7;
  uint uVar8;
  uint uVar9;
  uint *puVar10;
  uint in_a3;
  uint *puVar11;
  uint uVar12;
  uint uVar13;
  int iVar14;
  uint *puVar15;
  undefined4 *puVar16;
  int iVar17;
  uint uVar18;
  int iVar19;
  undefined *puVar20;
  uint uStackX_c;
  int iStack_1010;
  undefined4 *puStack_100c;
  char *pcStack_fcc;
  undefined4 auStack_fc8 [128];
  uint auStack_dc8 [859];
  int iStack_5c;
  undefined *puStack_58;
  va_list ap_save;
  
  puVar1 = PTR___stack_chk_guard_000a6fe0;
  puVar11 = &uStackX_c;
  iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;
  uStackX_c = in_a3;
  iVar3 = (*(code *)PTR_curl_mvsnprintf_000a6e24)();
  if (iVar2 == *(int *)puVar1) {
    return iVar3;
  }
  puVar20 = PTR___stack_chk_fail_000a6c54;
  (*(code *)PTR___stack_chk_fail_000a6c54)();
  piVar4 = *(int **)(puVar20 + 0x724b4);
  iVar14 = *(int *)(puVar20 + 0x71668);
  uVar18 = 0;
  puStack_58 = puVar1;
  iVar17 = *(int *)(puVar20 + 0x71858);
  iVar3 = (int)*format;
  iStack_5c = *piVar4;
  pcStack_fcc = format;
  puVar16 = auStack_fc8;
  uVar9 = 0;
  while (pcVar5 = pcStack_fcc + 1, iVar3 != 0) {
    if (*pcStack_fcc == '%') {
      if (pcStack_fcc[1] == '%') {
        iVar3 = (int)pcStack_fcc[2];
        pcStack_fcc = pcStack_fcc + 2;
      }
      else {
        pcStack_fcc = pcVar5;
        uVar8 = (*(code *)(iVar17 + 0x4a08))(pcVar5,&pcStack_fcc);
        uVar13 = uVar9 + 1;
        uVar12 = uVar13;
        if (uVar8 != 0) {
          uVar9 = uVar8 - 1;
          uVar12 = uVar8;
        }
        if ((int)uVar18 < (int)uVar12) {
          uVar18 = uVar12;
        }
        iVar3 = (int)*pcStack_fcc;
        uVar12 = iVar3 - 0x20U & 0xff;
        if (uVar12 < 0x5b) {
                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))();
          return iVar2;
        }
        if (0x7f < uVar9) {
          iVar2 = FUN_00034d9c();
          return iVar2;
        }
        uVar12 = iVar3 - 0x45U & 0xff;
        if (uVar12 < 0x34) {
                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          iVar2 = (*(code *)(puVar20 +
                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))
                            ();
          return iVar2;
        }
        auStack_dc8[uVar9 * 6] = 0;
        auStack_dc8[uVar9 * 6 + 1] = 0;
        auStack_dc8[uVar9 * 6 + 2] = 0;
        auStack_dc8[uVar9 * 6 + 3] = 0;
        *puVar16 = pcStack_fcc + 1;
        puVar16 = puVar16 + 1;
        uVar9 = uVar13;
      }
    }
    else {
      iVar3 = (int)pcStack_fcc[1];
      pcStack_fcc = pcVar5;
    }
  }
  if (uVar18 != 0) {
    iVar3 = *(int *)(puVar20 + 0x71668);
    puVar6 = auStack_dc8;
    puVar10 = puVar6 + uVar18 * 6;
    do {
      uVar18 = puVar6[1];
      puVar15 = puVar11;
      if ((uVar18 & 0x4000) != 0) {
        uVar12 = puVar6[2];
        puVar15 = puVar11 + 1;
        uVar9 = *puVar11;
        auStack_dc8[uVar12 * 6 + 5] = uVar9;
        auStack_dc8[uVar12 * 6 + 4] = (int)uVar9 >> 0x1f;
      }
      puVar11 = puVar15;
      if ((uVar18 & 0x10000) != 0) {
        uVar9 = puVar6[3];
        puVar11 = puVar15 + 1;
        uVar18 = *puVar15;
        auStack_dc8[uVar9 * 6 + 5] = uVar18;
        auStack_dc8[uVar9 * 6 + 4] = (int)uVar18 >> 0x1f;
      }
      if (*puVar6 < 10) {
                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        iVar2 = (*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4))();
        return iVar2;
      }
      puVar6 = puVar6 + 6;
    } while (puVar6 != puVar10);
  }
  iVar14 = *(int *)(puVar20 + 0x71858);
  iVar3 = 0;
  iStack_1010 = 0;
  uVar18 = (uint)*format;
  puStack_100c = auStack_fc8;
  while (pcStack_fcc = format, uVar18 != 0) {
    pcStack_fcc = format + 1;
    if (uVar18 == 0x25) {
      if (format[1] == '%') {
        pcStack_fcc = format + 2;
        iVar17 = (*(code *)maxlength)(0x25,iVar2);
        if (iVar17 == -1) break;
        uVar18 = (uint)*pcStack_fcc;
        iVar3 = iVar3 + 1;
        format = pcStack_fcc;
      }
      else {
        iVar17 = (*(code *)(iVar14 + 0x4a08))(pcStack_fcc,&pcStack_fcc);
        if (iVar17 == 0) {
          iVar19 = iStack_1010 * 2;
          ppuVar7 = &puStack_58 + iStack_1010 * 6;
          uVar9 = auStack_dc8[iStack_1010 * 6 + 1];
          uVar18 = auStack_dc8[iStack_1010 * 6 + 2];
          iVar17 = iStack_1010;
          if ((uVar9 & 0x4000) == 0) goto LAB_00034ee8;
LAB_00035014:
          iStack_1010 = iStack_1010 + 2;
          if ((int)auStack_dc8[uVar18 * 6 + 5] < 0) {
            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);
          }
        }
        else {
          iVar17 = iVar17 + -1;
          iVar19 = iVar17 * 2;
          ppuVar7 = &puStack_58 + iVar17 * 6;
          uVar9 = auStack_dc8[iVar17 * 6 + 1];
          uVar18 = auStack_dc8[iVar17 * 6 + 2];
          if ((uVar9 & 0x4000) != 0) goto LAB_00035014;
LAB_00034ee8:
          iStack_1010 = iStack_1010 + 1;
        }
        if ((uVar9 & 0x10000) != 0) {
          iStack_1010 = iStack_1010 + 1;
        }
        if (auStack_dc8[(iVar19 + iVar17) * 2] < 8) {
                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          iVar2 = (*(code *)(puVar20 +
                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +
                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))();
          return iVar2;
        }
        format = (char *)*puStack_100c;
        uVar18 = (uint)*format;
        puStack_100c = puStack_100c + 1;
      }
    }
    else {
      do {
        pcStack_fcc = format;
        iVar17 = (*(code *)maxlength)(uVar18 & 0xff,iVar2);
        if (iVar17 == -1) goto code_r0x00034d9c;
        format = pcStack_fcc + 1;
        uVar18 = (uint)pcStack_fcc[1];
        iVar3 = iVar3 + 1;
        pcStack_fcc = format;
        if (uVar18 == 0) goto code_r0x00034d9c;
      } while (uVar18 != 0x25);
    }
  }
code_r0x00034d9c:
  if (iStack_5c != *piVar4) {
    (**(code **)(puVar20 + 0x72128))();
    iVar2 = FUN_00034d9c();
    return iVar2;
  }
  return iVar3;
}



/* WARNING: Removing unreachable block (ram,0x00035b3c) */
/* WARNING: Removing unreachable block (ram,0x00035b74) */

code * curl_msnprintf(undefined4 param_1,code *param_2,char *param_3,uint param_4)

{
  undefined *puVar1;
  int iVar2;
  code *pcVar3;
  int *piVar4;
  char *pcVar5;
  uint *puVar6;
  undefined **ppuVar7;
  uint uVar8;
  int iVar9;
  uint uVar10;
  uint *puVar11;
  uint *puVar12;
  uint uVar13;
  uint uVar14;
  int iVar15;
  uint *puVar16;
  undefined4 *puVar17;
  int iVar18;
  code *pcVar19;
  uint uVar20;
  undefined *puVar21;
  uint local_resc;
  int iStack_1010;
  undefined4 *puStack_100c;
  char *pcStack_fcc;
  undefined4 auStack_fc8 [128];
  uint auStack_dc8 [859];
  int iStack_5c;
  undefined *puStack_58;
  
  puVar1 = PTR___stack_chk_guard_000a6fe0;
  puVar12 = &local_resc;
  iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;
  local_resc = param_4;
  pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)();
  if (iVar2 == *(int *)puVar1) {
    return pcVar3;
  }
  puVar21 = PTR___stack_chk_fail_000a6c54;
  (*(code *)PTR___stack_chk_fail_000a6c54)();
  piVar4 = *(int **)(puVar21 + 0x724b4);
  iVar15 = *(int *)(puVar21 + 0x71668);
  uVar20 = 0;
  puStack_58 = puVar1;
  iVar18 = *(int *)(puVar21 + 0x71858);
  iVar9 = (int)*param_3;
  iStack_5c = *piVar4;
  pcStack_fcc = param_3;
  puVar17 = auStack_fc8;
  uVar10 = 0;
  while (pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0) {
    if (*pcStack_fcc == '%') {
      if (pcStack_fcc[1] == '%') {
        iVar9 = (int)pcStack_fcc[2];
        pcStack_fcc = pcStack_fcc + 2;
      }
      else {
        pcStack_fcc = pcVar5;
        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);
        uVar14 = uVar10 + 1;
        uVar13 = uVar14;
        if (uVar8 != 0) {
          uVar10 = uVar8 - 1;
          uVar13 = uVar8;
        }
        if ((int)uVar20 < (int)uVar13) {
          uVar20 = uVar13;
        }
        iVar9 = (int)*pcStack_fcc;
        uVar13 = iVar9 - 0x20U & 0xff;
        if (uVar13 < 0x5b) {
                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))
                                     ();
          return pcVar3;
        }
        if (0x7f < uVar10) {
          pcVar19 = (code *)0xffffffff;
          goto LAB_00034d9c;
        }
        uVar13 = iVar9 - 0x45U & 0xff;
        if (uVar13 < 0x34) {
                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          pcVar3 = (code *)(*(code *)(puVar21 +
                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +
                                     0x795e4))();
          return pcVar3;
        }
        auStack_dc8[uVar10 * 6] = 0;
        auStack_dc8[uVar10 * 6 + 1] = 0;
        auStack_dc8[uVar10 * 6 + 2] = 0;
        auStack_dc8[uVar10 * 6 + 3] = 0;
        *puVar17 = pcStack_fcc + 1;
        puVar17 = puVar17 + 1;
        uVar10 = uVar14;
      }
    }
    else {
      iVar9 = (int)pcStack_fcc[1];
      pcStack_fcc = pcVar5;
    }
  }
  if (uVar20 != 0) {
    iVar9 = *(int *)(puVar21 + 0x71668);
    puVar6 = auStack_dc8;
    puVar11 = puVar6 + uVar20 * 6;
    do {
      uVar20 = puVar6[1];
      puVar16 = puVar12;
      if ((uVar20 & 0x4000) != 0) {
        uVar13 = puVar6[2];
        puVar16 = puVar12 + 1;
        uVar10 = *puVar12;
        auStack_dc8[uVar13 * 6 + 5] = uVar10;
        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;
      }
      puVar12 = puVar16;
      if ((uVar20 & 0x10000) != 0) {
        uVar10 = puVar6[3];
        puVar12 = puVar16 + 1;
        uVar20 = *puVar16;
        auStack_dc8[uVar10 * 6 + 5] = uVar20;
        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;
      }
      if (*puVar6 < 10) {
                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();
        return pcVar3;
      }
      puVar6 = puVar6 + 6;
    } while (puVar6 != puVar11);
  }
  iVar9 = *(int *)(puVar21 + 0x71858);
  pcVar19 = (code *)0x0;
  iStack_1010 = 0;
  uVar20 = (uint)*param_3;
  puStack_100c = auStack_fc8;
  while (pcStack_fcc = param_3, uVar20 != 0) {
    pcStack_fcc = param_3 + 1;
    if (uVar20 == 0x25) {
      if (param_3[1] == '%') {
        pcStack_fcc = param_3 + 2;
        iVar15 = (*param_2)(0x25,iVar2);
        if (iVar15 == -1) break;
        uVar20 = (uint)*pcStack_fcc;
        pcVar19 = pcVar19 + 1;
        param_3 = pcStack_fcc;
      }
      else {
        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);
        if (iVar15 == 0) {
          iVar18 = iStack_1010 * 2;
          ppuVar7 = &puStack_58 + iStack_1010 * 6;
          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];
          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];
          iVar15 = iStack_1010;
          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;
LAB_00035014:
          iStack_1010 = iStack_1010 + 2;
          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;
          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);
          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;
LAB_00034f08:
          iStack_1010 = iStack_1010 + 1;
          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];
          if ((int)pcVar3 < 0) {
            pcVar3 = (code *)0xffffffff;
          }
        }
        else {
          iVar15 = iVar15 + -1;
          iVar18 = iVar15 * 2;
          ppuVar7 = &puStack_58 + iVar15 * 6;
          uVar10 = auStack_dc8[iVar15 * 6 + 1];
          uVar20 = auStack_dc8[iVar15 * 6 + 2];
          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;
LAB_00034ee8:
          iStack_1010 = iStack_1010 + 1;
LAB_00034efc:
          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;
LAB_00035060:
          if ((uVar10 & 0x8000) == 0) {
            pcVar3 = (code *)0xffffffff;
          }
          else {
            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];
          }
        }
        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {
                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          pcVar3 = (code *)(*(code *)(puVar21 +
                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +
                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();
          return pcVar3;
        }
        param_3 = (char *)*puStack_100c;
        uVar20 = (uint)*param_3;
        puStack_100c = puStack_100c + 1;
      }
    }
    else {
      pcVar3 = (code *)&DAT_00000025;
      pcStack_fcc = param_3;
      do {
        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);
        if (iVar15 == -1) goto LAB_00034d9c;
        param_3 = pcStack_fcc + 1;
        uVar20 = (uint)pcStack_fcc[1];
        pcVar19 = pcVar19 + 1;
        pcStack_fcc = param_3;
        if (uVar20 == 0) goto LAB_00034d9c;
      } while (uVar20 != 0x25);
    }
  }
LAB_00034d9c:
  while (iStack_5c != *piVar4) {
    (**(code **)(puVar21 + 0x72128))();
    pcVar19 = pcVar3;
  }
  return pcVar19;
}


lui gp,0x8
addiu gp,gp,-0x69ac
addu gp,gp,t9
addiu sp,sp,-0x28
lw t9,-0x72ec(gp)
addiu v0,sp,0x34
sw s0,0x20(sp)
sw a3,0x34(sp)
or a3,v0,zero
sw v0,0x18(sp)
lw s0,-0x7130(gp)
sw gp,0x10(sp)
sw ra,0x24(sp)
lw v0,0x0(s0)
sw v0,0x1c(sp)
jalr t9
_nop
lw a0,0x1c(sp)
lw v1,0x0(s0)
bne a0,v1,0x00034b20
_lw gp,0x10(sp)
lw ra,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x28
lw t9,-0x74bc(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00035b3c) */\n/* WARNING: Removing unreachable block (ram,0x00035b74) */\n\ncode * curl_msnprintf(undefined4 param_1,code *param_2,char *param_3,uint param_4)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  code *pcVar3;\n  int *piVar4;\n  char *pcVar5;\n  uint *puVar6;\n  undefined **ppuVar7;\n  uint uVar8;\n  int iVar9;\n  uint uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  code *pcVar19;\n  uint uVar20;\n  undefined *puVar21;\n  uint local_resc;\n  int iStack_1010;\n  undefined4 *puStack_100c;\n  char *pcStack_fcc;\n  undefined4 auStack_fc8 [128];\n  uint auStack_dc8 [859];\n  int iStack_5c;\n  undefined *puStack_58;\n  \n  puVar1 = PTR___stack_chk_guard_000a6fe0;\n  puVar12 = &local_resc;\n  iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;\n  local_resc = param_4;\n  pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)();\n  if (iVar2 == *(int *)puVar1) {\n    return pcVar3;\n  }\n  puVar21 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  piVar4 = *(int **)(puVar21 + 0x724b4);\n  iVar15 = *(int *)(puVar21 + 0x71668);\n  uVar20 = 0;\n  puStack_58 = puVar1;\n  iVar18 = *(int *)(puVar21 + 0x71858);\n  iVar9 = (int)*param_3;\n  iStack_5c = *piVar4;\n  pcStack_fcc = param_3;\n  puVar17 = auStack_fc8;\n  uVar10 = 0;\n  while (pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }\n  if (uVar20 != 0) {\n    iVar9 = *(int *)(puVar21 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar11 = puVar6 + uVar20 * 6;\n    do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);\n  }\n  iVar9 = *(int *)(puVar21 + 0x71858);\n  pcVar19 = (code *)0x0;\n  iStack_1010 = 0;\n  uVar20 = (uint)*param_3;\n  puStack_100c = auStack_fc8;\n  while (pcStack_fcc = param_3, uVar20 != 0) {\n    pcStack_fcc = param_3 + 1;\n    if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }\n  }\nLAB_00034d9c:\n  while (iStack_5c != *piVar4) {\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }\n  return pcVar19;\n}\n\n" comment comment (function_definition "code * curl_msnprintf(undefined4 param_1,code *param_2,char *param_3,uint param_4)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  code *pcVar3;\n  int *piVar4;\n  char *pcVar5;\n  uint *puVar6;\n  undefined **ppuVar7;\n  uint uVar8;\n  int iVar9;\n  uint uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  code *pcVar19;\n  uint uVar20;\n  undefined *puVar21;\n  uint local_resc;\n  int iStack_1010;\n  undefined4 *puStack_100c;\n  char *pcStack_fcc;\n  undefined4 auStack_fc8 [128];\n  uint auStack_dc8 [859];\n  int iStack_5c;\n  undefined *puStack_58;\n  \n  puVar1 = PTR___stack_chk_guard_000a6fe0;\n  puVar12 = &local_resc;\n  iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;\n  local_resc = param_4;\n  pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)();\n  if (iVar2 == *(int *)puVar1) {\n    return pcVar3;\n  }\n  puVar21 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  piVar4 = *(int **)(puVar21 + 0x724b4);\n  iVar15 = *(int *)(puVar21 + 0x71668);\n  uVar20 = 0;\n  puStack_58 = puVar1;\n  iVar18 = *(int *)(puVar21 + 0x71858);\n  iVar9 = (int)*param_3;\n  iStack_5c = *piVar4;\n  pcStack_fcc = param_3;\n  puVar17 = auStack_fc8;\n  uVar10 = 0;\n  while (pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }\n  if (uVar20 != 0) {\n    iVar9 = *(int *)(puVar21 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar11 = puVar6 + uVar20 * 6;\n    do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);\n  }\n  iVar9 = *(int *)(puVar21 + 0x71858);\n  pcVar19 = (code *)0x0;\n  iStack_1010 = 0;\n  uVar20 = (uint)*param_3;\n  puStack_100c = auStack_fc8;\n  while (pcStack_fcc = param_3, uVar20 != 0) {\n    pcStack_fcc = param_3 + 1;\n    if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }\n  }\nLAB_00034d9c:\n  while (iStack_5c != *piVar4) {\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }\n  return pcVar19;\n}" type_identifier (pointer_declarator "* curl_msnprintf(undefined4 param_1,code *param_2,char *param_3,uint param_4)" * (function_declarator "curl_msnprintf(undefined4 param_1,code *param_2,char *param_3,uint param_4)" identifier (parameter_list "(undefined4 param_1,code *param_2,char *param_3,uint param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "code *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint param_4" type_identifier identifier) )))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  code *pcVar3;\n  int *piVar4;\n  char *pcVar5;\n  uint *puVar6;\n  undefined **ppuVar7;\n  uint uVar8;\n  int iVar9;\n  uint uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  code *pcVar19;\n  uint uVar20;\n  undefined *puVar21;\n  uint local_resc;\n  int iStack_1010;\n  undefined4 *puStack_100c;\n  char *pcStack_fcc;\n  undefined4 auStack_fc8 [128];\n  uint auStack_dc8 [859];\n  int iStack_5c;\n  undefined *puStack_58;\n  \n  puVar1 = PTR___stack_chk_guard_000a6fe0;\n  puVar12 = &local_resc;\n  iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;\n  local_resc = param_4;\n  pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)();\n  if (iVar2 == *(int *)puVar1) {\n    return pcVar3;\n  }\n  puVar21 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  piVar4 = *(int **)(puVar21 + 0x724b4);\n  iVar15 = *(int *)(puVar21 + 0x71668);\n  uVar20 = 0;\n  puStack_58 = puVar1;\n  iVar18 = *(int *)(puVar21 + 0x71858);\n  iVar9 = (int)*param_3;\n  iStack_5c = *piVar4;\n  pcStack_fcc = param_3;\n  puVar17 = auStack_fc8;\n  uVar10 = 0;\n  while (pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }\n  if (uVar20 != 0) {\n    iVar9 = *(int *)(puVar21 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar11 = puVar6 + uVar20 * 6;\n    do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);\n  }\n  iVar9 = *(int *)(puVar21 + 0x71858);\n  pcVar19 = (code *)0x0;\n  iStack_1010 = 0;\n  uVar20 = (uint)*param_3;\n  puStack_100c = auStack_fc8;\n  while (pcStack_fcc = param_3, uVar20 != 0) {\n    pcStack_fcc = param_3 + 1;\n    if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }\n  }\nLAB_00034d9c:\n  while (iStack_5c != *piVar4) {\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }\n  return pcVar19;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined **ppuVar7;" type_identifier (pointer_declarator "**ppuVar7" * (pointer_declarator "*ppuVar7" * identifier)) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "uint local_resc;" type_identifier identifier ;) (declaration "int iStack_1010;" primitive_type identifier ;) (declaration "undefined4 *puStack_100c;" type_identifier (pointer_declarator "*puStack_100c" * identifier) ;) (declaration "char *pcStack_fcc;" primitive_type (pointer_declarator "*pcStack_fcc" * identifier) ;) (declaration "undefined4 auStack_fc8 [128];" type_identifier (array_declarator "auStack_fc8 [128]" identifier [ number_literal ]) ;) (declaration "uint auStack_dc8 [859];" type_identifier (array_declarator "auStack_dc8 [859]" identifier [ number_literal ]) ;) (declaration "int iStack_5c;" primitive_type identifier ;) (declaration "undefined *puStack_58;" type_identifier (pointer_declarator "*puStack_58" * identifier) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000a6fe0;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000a6fe0" identifier = identifier) ;) (expression_statement "puVar12 = &local_resc;" (assignment_expression "puVar12 = &local_resc" identifier = (pointer_expression "&local_resc" & identifier)) ;) (expression_statement "iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;" (assignment_expression "iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000a6fe0" * (cast_expression "(int *)PTR___stack_chk_guard_000a6fe0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (expression_statement "pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)();" (assignment_expression "pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)()" identifier = (cast_expression "(code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_curl_mvsnprintf_000a6e24)()" (parenthesized_expression "(*(code *)PTR_curl_mvsnprintf_000a6e24)" ( (pointer_expression "*(code *)PTR_curl_mvsnprintf_000a6e24" * (cast_expression "(code *)PTR_curl_mvsnprintf_000a6e24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (iVar2 == *(int *)puVar1) {\n    return pcVar3;\n  }" if (parenthesized_expression "(iVar2 == *(int *)puVar1)" ( (binary_expression "iVar2 == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return pcVar3;\n  }" { (return_statement "return pcVar3;" return identifier ;) })) (expression_statement "puVar21 = PTR___stack_chk_fail_000a6c54;" (assignment_expression "puVar21 = PTR___stack_chk_fail_000a6c54" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000a6c54)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a6c54)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a6c54)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000a6c54" * (cast_expression "(code *)PTR___stack_chk_fail_000a6c54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar4 = *(int **)(puVar21 + 0x724b4);" (assignment_expression "piVar4 = *(int **)(puVar21 + 0x724b4)" identifier = (pointer_expression "*(int **)(puVar21 + 0x724b4)" * (cast_expression "(int **)(puVar21 + 0x724b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x724b4)" ( (binary_expression "puVar21 + 0x724b4" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(puVar21 + 0x71668);" (assignment_expression "iVar15 = *(int *)(puVar21 + 0x71668)" identifier = (pointer_expression "*(int *)(puVar21 + 0x71668)" * (cast_expression "(int *)(puVar21 + 0x71668)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x71668)" ( (binary_expression "puVar21 + 0x71668" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "puStack_58 = puVar1;" (assignment_expression "puStack_58 = puVar1" identifier = identifier) ;) (expression_statement "iVar18 = *(int *)(puVar21 + 0x71858);" (assignment_expression "iVar18 = *(int *)(puVar21 + 0x71858)" identifier = (pointer_expression "*(int *)(puVar21 + 0x71858)" * (cast_expression "(int *)(puVar21 + 0x71858)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x71858)" ( (binary_expression "puVar21 + 0x71858" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = (int)*param_3;" (assignment_expression "iVar9 = (int)*param_3" identifier = (cast_expression "(int)*param_3" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*param_3" * identifier))) ;) (expression_statement "iStack_5c = *piVar4;" (assignment_expression "iStack_5c = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "pcStack_fcc = param_3;" (assignment_expression "pcStack_fcc = param_3" identifier = identifier) ;) (expression_statement "puVar17 = auStack_fc8;" (assignment_expression "puVar17 = auStack_fc8" identifier = identifier) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (while_statement "while (pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }" while (parenthesized_expression "(pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0)" ( (comma_expression "pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0" (assignment_expression "pcVar5 = pcStack_fcc + 1" identifier = (binary_expression "pcStack_fcc + 1" identifier + number_literal)) , (comma_expression "pcVar3 = param_2, iVar9 != 0" (assignment_expression "pcVar3 = param_2" identifier = identifier) , (binary_expression "iVar9 != 0" identifier != number_literal))) )) (compound_statement "{\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }" { (if_statement "if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }" if (parenthesized_expression "(*pcStack_fcc == '%')" ( (binary_expression "*pcStack_fcc == '%'" (pointer_expression "*pcStack_fcc" * identifier) == (char_literal "'%'" ' character ')) )) (compound_statement "{\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }" { (if_statement "if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }" if (parenthesized_expression "(pcStack_fcc[1] == '%')" ( (binary_expression "pcStack_fcc[1] == '%'" (subscript_expression "pcStack_fcc[1]" identifier [ number_literal ]) == (char_literal "'%'" ' character ')) )) (compound_statement "{\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }" { (expression_statement "iVar9 = (int)pcStack_fcc[2];" (assignment_expression "iVar9 = (int)pcStack_fcc[2]" identifier = (cast_expression "(int)pcStack_fcc[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcStack_fcc[2]" identifier [ number_literal ]))) ;) (expression_statement "pcStack_fcc = pcStack_fcc + 2;" (assignment_expression "pcStack_fcc = pcStack_fcc + 2" identifier = (binary_expression "pcStack_fcc + 2" identifier + number_literal)) ;) }) (else_clause "else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }" else (compound_statement "{\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }" { (expression_statement "pcStack_fcc = pcVar5;" (assignment_expression "pcStack_fcc = pcVar5" identifier = identifier) ;) (expression_statement "uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);" (assignment_expression "uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc)" identifier = (call_expression "(*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc)" (parenthesized_expression "(*(code *)(iVar18 + 0x4a08))" ( (pointer_expression "*(code *)(iVar18 + 0x4a08)" * (cast_expression "(code *)(iVar18 + 0x4a08)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x4a08)" ( (binary_expression "iVar18 + 0x4a08" identifier + number_literal) )))) )) (argument_list "(pcVar5,&pcStack_fcc)" ( identifier , (pointer_expression "&pcStack_fcc" & identifier) )))) ;) (expression_statement "uVar14 = uVar10 + 1;" (assignment_expression "uVar14 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = uVar14;" (assignment_expression "uVar13 = uVar14" identifier = identifier) ;) (if_statement "if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }" { (expression_statement "uVar10 = uVar8 - 1;" (assignment_expression "uVar10 = uVar8 - 1" identifier = (binary_expression "uVar8 - 1" identifier - number_literal)) ;) (expression_statement "uVar13 = uVar8;" (assignment_expression "uVar13 = uVar8" identifier = identifier) ;) })) (if_statement "if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }" if (parenthesized_expression "((int)uVar20 < (int)uVar13)" ( (binary_expression "(int)uVar20 < (int)uVar13" (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          uVar20 = uVar13;\n        }" { (expression_statement "uVar20 = uVar13;" (assignment_expression "uVar20 = uVar13" identifier = identifier) ;) })) (expression_statement "iVar9 = (int)*pcStack_fcc;" (assignment_expression "iVar9 = (int)*pcStack_fcc" identifier = (cast_expression "(int)*pcStack_fcc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcStack_fcc" * identifier))) ;) (expression_statement "uVar13 = iVar9 - 0x20U & 0xff;" (assignment_expression "uVar13 = iVar9 - 0x20U & 0xff" identifier = (binary_expression "iVar9 - 0x20U & 0xff" (binary_expression "iVar9 - 0x20U" identifier - number_literal) & number_literal)) ;) (if_statement "if (uVar13 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }" if (parenthesized_expression "(uVar13 < 0x5b)" ( (binary_expression "uVar13 < 0x5b" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }" { comment comment (expression_statement "pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();" (assignment_expression "pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ()" identifier = (cast_expression "(code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ()" (parenthesized_expression "(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))" ( (pointer_expression "*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4)" * (cast_expression "(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4)" ( (binary_expression "puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4" (binary_expression "puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4)" identifier + (pointer_expression "*(int *)(iVar15 + -0x5088 + uVar13 * 4)" * (cast_expression "(int *)(iVar15 + -0x5088 + uVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x5088 + uVar13 * 4)" ( (binary_expression "iVar15 + -0x5088 + uVar13 * 4" (binary_expression "iVar15 + -0x5088" identifier + number_literal) + (binary_expression "uVar13 * 4" identifier * number_literal)) ))))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar3;" return identifier ;) })) (if_statement "if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }" if (parenthesized_expression "(0x7f < uVar10)" ( (binary_expression "0x7f < uVar10" number_literal < identifier) )) (compound_statement "{\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }" { (expression_statement "pcVar19 = (code *)0xffffffff;" (assignment_expression "pcVar19 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00034d9c;" goto statement_identifier ;) })) (expression_statement "uVar13 = iVar9 - 0x45U & 0xff;" (assignment_expression "uVar13 = iVar9 - 0x45U & 0xff" identifier = (binary_expression "iVar9 - 0x45U & 0xff" (binary_expression "iVar9 - 0x45U" identifier - number_literal) & number_literal)) ;) (if_statement "if (uVar13 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }" if (parenthesized_expression "(uVar13 < 0x34)" ( (binary_expression "uVar13 < 0x34" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }" { comment comment (expression_statement "pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();" (assignment_expression "pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))()" identifier = (cast_expression "(code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))()" (parenthesized_expression "(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))" ( (pointer_expression "*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4)" * (cast_expression "(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4)" ( (binary_expression "puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4" (binary_expression "puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4)" identifier + (pointer_expression "*(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4)" * (cast_expression "(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4)" ( (binary_expression "*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4" (binary_expression "*(int *)(puVar21 + 0x71668) + -0x4db0" (pointer_expression "*(int *)(puVar21 + 0x71668)" * (cast_expression "(int *)(puVar21 + 0x71668)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x71668)" ( (binary_expression "puVar21 + 0x71668" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar13 * 4" identifier * number_literal)) ))))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar3;" return identifier ;) })) (expression_statement "auStack_dc8[uVar10 * 6] = 0;" (assignment_expression "auStack_dc8[uVar10 * 6] = 0" (subscript_expression "auStack_dc8[uVar10 * 6]" identifier [ (binary_expression "uVar10 * 6" identifier * number_literal) ]) = number_literal) ;) (expression_statement "auStack_dc8[uVar10 * 6 + 1] = 0;" (assignment_expression "auStack_dc8[uVar10 * 6 + 1] = 0" (subscript_expression "auStack_dc8[uVar10 * 6 + 1]" identifier [ (binary_expression "uVar10 * 6 + 1" (binary_expression "uVar10 * 6" identifier * number_literal) + number_literal) ]) = number_literal) ;) (expression_statement "auStack_dc8[uVar10 * 6 + 2] = 0;" (assignment_expression "auStack_dc8[uVar10 * 6 + 2] = 0" (subscript_expression "auStack_dc8[uVar10 * 6 + 2]" identifier [ (binary_expression "uVar10 * 6 + 2" (binary_expression "uVar10 * 6" identifier * number_literal) + number_literal) ]) = number_literal) ;) (expression_statement "auStack_dc8[uVar10 * 6 + 3] = 0;" (assignment_expression "auStack_dc8[uVar10 * 6 + 3] = 0" (subscript_expression "auStack_dc8[uVar10 * 6 + 3]" identifier [ (binary_expression "uVar10 * 6 + 3" (binary_expression "uVar10 * 6" identifier * number_literal) + number_literal) ]) = number_literal) ;) (expression_statement "*puVar17 = pcStack_fcc + 1;" (assignment_expression "*puVar17 = pcStack_fcc + 1" (pointer_expression "*puVar17" * identifier) = (binary_expression "pcStack_fcc + 1" identifier + number_literal)) ;) (expression_statement "puVar17 = puVar17 + 1;" (assignment_expression "puVar17 = puVar17 + 1" identifier = (binary_expression "puVar17 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = uVar14;" (assignment_expression "uVar10 = uVar14" identifier = identifier) ;) }))) }) (else_clause "else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }" else (compound_statement "{\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }" { (expression_statement "iVar9 = (int)pcStack_fcc[1];" (assignment_expression "iVar9 = (int)pcStack_fcc[1]" identifier = (cast_expression "(int)pcStack_fcc[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcStack_fcc[1]" identifier [ number_literal ]))) ;) (expression_statement "pcStack_fcc = pcVar5;" (assignment_expression "pcStack_fcc = pcVar5" identifier = identifier) ;) }))) })) (if_statement "if (uVar20 != 0) {\n    iVar9 = *(int *)(puVar21 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar11 = puVar6 + uVar20 * 6;\n    do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);\n  }" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar9 = *(int *)(puVar21 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar11 = puVar6 + uVar20 * 6;\n    do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);\n  }" { (expression_statement "iVar9 = *(int *)(puVar21 + 0x71668);" (assignment_expression "iVar9 = *(int *)(puVar21 + 0x71668)" identifier = (pointer_expression "*(int *)(puVar21 + 0x71668)" * (cast_expression "(int *)(puVar21 + 0x71668)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x71668)" ( (binary_expression "puVar21 + 0x71668" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = auStack_dc8;" (assignment_expression "puVar6 = auStack_dc8" identifier = identifier) ;) (expression_statement "puVar11 = puVar6 + uVar20 * 6;" (assignment_expression "puVar11 = puVar6 + uVar20 * 6" identifier = (binary_expression "puVar6 + uVar20 * 6" identifier + (binary_expression "uVar20 * 6" identifier * number_literal))) ;) (do_statement "do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);" do (compound_statement "{\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    }" { (expression_statement "uVar20 = puVar6[1];" (assignment_expression "uVar20 = puVar6[1]" identifier = (subscript_expression "puVar6[1]" identifier [ number_literal ])) ;) (expression_statement "puVar16 = puVar12;" (assignment_expression "puVar16 = puVar12" identifier = identifier) ;) (if_statement "if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }" if (parenthesized_expression "((uVar20 & 0x4000) != 0)" ( (binary_expression "(uVar20 & 0x4000) != 0" (parenthesized_expression "(uVar20 & 0x4000)" ( (binary_expression "uVar20 & 0x4000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }" { (expression_statement "uVar13 = puVar6[2];" (assignment_expression "uVar13 = puVar6[2]" identifier = (subscript_expression "puVar6[2]" identifier [ number_literal ])) ;) (expression_statement "puVar16 = puVar12 + 1;" (assignment_expression "puVar16 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = *puVar12;" (assignment_expression "uVar10 = *puVar12" identifier = (pointer_expression "*puVar12" * identifier)) ;) (expression_statement "auStack_dc8[uVar13 * 6 + 5] = uVar10;" (assignment_expression "auStack_dc8[uVar13 * 6 + 5] = uVar10" (subscript_expression "auStack_dc8[uVar13 * 6 + 5]" identifier [ (binary_expression "uVar13 * 6 + 5" (binary_expression "uVar13 * 6" identifier * number_literal) + number_literal) ]) = identifier) ;) (expression_statement "auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;" (assignment_expression "auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f" (subscript_expression "auStack_dc8[uVar13 * 6 + 4]" identifier [ (binary_expression "uVar13 * 6 + 4" (binary_expression "uVar13 * 6" identifier * number_literal) + number_literal) ]) = (binary_expression "(int)uVar10 >> 0x1f" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) })) (expression_statement "puVar12 = puVar16;" (assignment_expression "puVar12 = puVar16" identifier = identifier) ;) (if_statement "if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }" if (parenthesized_expression "((uVar20 & 0x10000) != 0)" ( (binary_expression "(uVar20 & 0x10000) != 0" (parenthesized_expression "(uVar20 & 0x10000)" ( (binary_expression "uVar20 & 0x10000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }" { (expression_statement "uVar10 = puVar6[3];" (assignment_expression "uVar10 = puVar6[3]" identifier = (subscript_expression "puVar6[3]" identifier [ number_literal ])) ;) (expression_statement "puVar12 = puVar16 + 1;" (assignment_expression "puVar12 = puVar16 + 1" identifier = (binary_expression "puVar16 + 1" identifier + number_literal)) ;) (expression_statement "uVar20 = *puVar16;" (assignment_expression "uVar20 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "auStack_dc8[uVar10 * 6 + 5] = uVar20;" (assignment_expression "auStack_dc8[uVar10 * 6 + 5] = uVar20" (subscript_expression "auStack_dc8[uVar10 * 6 + 5]" identifier [ (binary_expression "uVar10 * 6 + 5" (binary_expression "uVar10 * 6" identifier * number_literal) + number_literal) ]) = identifier) ;) (expression_statement "auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;" (assignment_expression "auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f" (subscript_expression "auStack_dc8[uVar10 * 6 + 4]" identifier [ (binary_expression "uVar10 * 6 + 4" (binary_expression "uVar10 * 6" identifier * number_literal) + number_literal) ]) = (binary_expression "(int)uVar20 >> 0x1f" (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) })) (if_statement "if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }" if (parenthesized_expression "(*puVar6 < 10)" ( (binary_expression "*puVar6 < 10" (pointer_expression "*puVar6" * identifier) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }" { comment comment (expression_statement "pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();" (assignment_expression "pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))()" identifier = (cast_expression "(code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))()" (parenthesized_expression "(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))" ( (pointer_expression "*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4)" * (cast_expression "(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4)" ( (binary_expression "puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4" (binary_expression "puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4)" identifier + (pointer_expression "*(int *)(iVar9 + -0x50d0 + *puVar6 * 4)" * (cast_expression "(int *)(iVar9 + -0x50d0 + *puVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x50d0 + *puVar6 * 4)" ( (binary_expression "iVar9 + -0x50d0 + *puVar6 * 4" (binary_expression "iVar9 + -0x50d0" identifier + number_literal) + (binary_expression "*puVar6 * 4" (pointer_expression "*puVar6" * identifier) * number_literal)) ))))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar3;" return identifier ;) })) (expression_statement "puVar6 = puVar6 + 6;" (assignment_expression "puVar6 = puVar6 + 6" identifier = (binary_expression "puVar6 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar6 != puVar11)" ( (binary_expression "puVar6 != puVar11" identifier != identifier) )) ;) })) (expression_statement "iVar9 = *(int *)(puVar21 + 0x71858);" (assignment_expression "iVar9 = *(int *)(puVar21 + 0x71858)" identifier = (pointer_expression "*(int *)(puVar21 + 0x71858)" * (cast_expression "(int *)(puVar21 + 0x71858)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x71858)" ( (binary_expression "puVar21 + 0x71858" identifier + number_literal) ))))) ;) (expression_statement "pcVar19 = (code *)0x0;" (assignment_expression "pcVar19 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_1010 = 0;" (assignment_expression "iStack_1010 = 0" identifier = number_literal) ;) (expression_statement "uVar20 = (uint)*param_3;" (assignment_expression "uVar20 = (uint)*param_3" identifier = (binary_expression "(uint)*param_3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "puStack_100c = auStack_fc8;" (assignment_expression "puStack_100c = auStack_fc8" identifier = identifier) ;) (while_statement "while (pcStack_fcc = param_3, uVar20 != 0) {\n    pcStack_fcc = param_3 + 1;\n    if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }\n  }" while (parenthesized_expression "(pcStack_fcc = param_3, uVar20 != 0)" ( (comma_expression "pcStack_fcc = param_3, uVar20 != 0" (assignment_expression "pcStack_fcc = param_3" identifier = identifier) , (binary_expression "uVar20 != 0" identifier != number_literal)) )) (compound_statement "{\n    pcStack_fcc = param_3 + 1;\n    if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }\n  }" { (expression_statement "pcStack_fcc = param_3 + 1;" (assignment_expression "pcStack_fcc = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (if_statement "if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }" if (parenthesized_expression "(uVar20 == 0x25)" ( (binary_expression "uVar20 == 0x25" identifier == number_literal) )) (compound_statement "{\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }" { (if_statement "if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }" if (parenthesized_expression "(param_3[1] == '%')" ( (binary_expression "param_3[1] == '%'" (subscript_expression "param_3[1]" identifier [ number_literal ]) == (char_literal "'%'" ' character ')) )) (compound_statement "{\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }" { (expression_statement "pcStack_fcc = param_3 + 2;" (assignment_expression "pcStack_fcc = param_3 + 2" identifier = (binary_expression "param_3 + 2" identifier + number_literal)) ;) (expression_statement "iVar15 = (*param_2)(0x25,iVar2);" (assignment_expression "iVar15 = (*param_2)(0x25,iVar2)" identifier = (call_expression "(*param_2)(0x25,iVar2)" (parenthesized_expression "(*param_2)" ( (pointer_expression "*param_2" * identifier) )) (argument_list "(0x25,iVar2)" ( number_literal , identifier )))) ;) (if_statement "if (iVar15 == -1) break;" if (parenthesized_expression "(iVar15 == -1)" ( (binary_expression "iVar15 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar20 = (uint)*pcStack_fcc;" (assignment_expression "uVar20 = (uint)*pcStack_fcc" identifier = (binary_expression "(uint)*pcStack_fcc" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pcVar19 = pcVar19 + 1;" (assignment_expression "pcVar19 = pcVar19 + 1" identifier = (binary_expression "pcVar19 + 1" identifier + number_literal)) ;) (expression_statement "param_3 = pcStack_fcc;" (assignment_expression "param_3 = pcStack_fcc" identifier = identifier) ;) }) (else_clause "else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }" else (compound_statement "{\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }" { (expression_statement "iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);" (assignment_expression "iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc)" identifier = (call_expression "(*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc)" (parenthesized_expression "(*(code *)(iVar9 + 0x4a08))" ( (pointer_expression "*(code *)(iVar9 + 0x4a08)" * (cast_expression "(code *)(iVar9 + 0x4a08)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x4a08)" ( (binary_expression "iVar9 + 0x4a08" identifier + number_literal) )))) )) (argument_list "(pcStack_fcc,&pcStack_fcc)" ( identifier , (pointer_expression "&pcStack_fcc" & identifier) )))) ;) (if_statement "if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }" { (expression_statement "iVar18 = iStack_1010 * 2;" (assignment_expression "iVar18 = iStack_1010 * 2" identifier = (binary_expression "iStack_1010 * 2" identifier * number_literal)) ;) (expression_statement "ppuVar7 = &puStack_58 + iStack_1010 * 6;" (assignment_expression "ppuVar7 = &puStack_58 + iStack_1010 * 6" identifier = (binary_expression "&puStack_58 + iStack_1010 * 6" (pointer_expression "&puStack_58" & identifier) + (binary_expression "iStack_1010 * 6" identifier * number_literal))) ;) (expression_statement "uVar10 = auStack_dc8[iStack_1010 * 6 + 1];" (assignment_expression "uVar10 = auStack_dc8[iStack_1010 * 6 + 1]" identifier = (subscript_expression "auStack_dc8[iStack_1010 * 6 + 1]" identifier [ (binary_expression "iStack_1010 * 6 + 1" (binary_expression "iStack_1010 * 6" identifier * number_literal) + number_literal) ])) ;) (expression_statement "uVar20 = auStack_dc8[iStack_1010 * 6 + 2];" (assignment_expression "uVar20 = auStack_dc8[iStack_1010 * 6 + 2]" identifier = (subscript_expression "auStack_dc8[iStack_1010 * 6 + 2]" identifier [ (binary_expression "iStack_1010 * 6 + 2" (binary_expression "iStack_1010 * 6" identifier * number_literal) + number_literal) ])) ;) (expression_statement "iVar15 = iStack_1010;" (assignment_expression "iVar15 = iStack_1010" identifier = identifier) ;) (if_statement "if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;" if (parenthesized_expression "((uVar10 & 0x4000) == 0)" ( (binary_expression "(uVar10 & 0x4000) == 0" (parenthesized_expression "(uVar10 & 0x4000)" ( (binary_expression "uVar10 & 0x4000" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00034ee8;" goto statement_identifier ;)) (labeled_statement "LAB_00035014:\n          iStack_1010 = iStack_1010 + 2;" statement_identifier : (expression_statement "iStack_1010 = iStack_1010 + 2;" (assignment_expression "iStack_1010 = iStack_1010 + 2" identifier = (binary_expression "iStack_1010 + 2" identifier + number_literal)) ;)) (if_statement "if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;" if (parenthesized_expression "(-1 < (int)auStack_dc8[uVar20 * 6 + 5])" ( (binary_expression "-1 < (int)auStack_dc8[uVar20 * 6 + 5]" number_literal < (cast_expression "(int)auStack_dc8[uVar20 * 6 + 5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "auStack_dc8[uVar20 * 6 + 5]" identifier [ (binary_expression "uVar20 * 6 + 5" (binary_expression "uVar20 * 6" identifier * number_literal) + number_literal) ]))) )) (goto_statement "goto LAB_00034efc;" goto statement_identifier ;)) (expression_statement "ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);" (assignment_expression "ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4)" (subscript_expression "ppuVar7[-0x35b]" identifier [ number_literal ]) = (cast_expression "(undefined *)(uVar10 & 0xfffffeff | 4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 & 0xfffffeff | 4)" ( (binary_expression "uVar10 & 0xfffffeff | 4" (binary_expression "uVar10 & 0xfffffeff" identifier & number_literal) | number_literal) )))) ;) (if_statement "if ((uVar10 & 0x10000) == 0) goto LAB_00035060;" if (parenthesized_expression "((uVar10 & 0x10000) == 0)" ( (binary_expression "(uVar10 & 0x10000) == 0" (parenthesized_expression "(uVar10 & 0x10000)" ( (binary_expression "uVar10 & 0x10000" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00035060;" goto statement_identifier ;)) (labeled_statement "LAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;" statement_identifier : (expression_statement "iStack_1010 = iStack_1010 + 1;" (assignment_expression "iStack_1010 = iStack_1010 + 1" identifier = (binary_expression "iStack_1010 + 1" identifier + number_literal)) ;)) (expression_statement "pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];" (assignment_expression "pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5]" identifier = (cast_expression "(code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5]" identifier [ (binary_expression "auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5" (binary_expression "auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6" (subscript_expression "auStack_dc8[(iVar18 + iVar15) * 2 + 3]" identifier [ (binary_expression "(iVar18 + iVar15) * 2 + 3" (binary_expression "(iVar18 + iVar15) * 2" (parenthesized_expression "(iVar18 + iVar15)" ( (binary_expression "iVar18 + iVar15" identifier + identifier) )) * number_literal) + number_literal) ]) * number_literal) + number_literal) ]))) ;) (if_statement "if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }" if (parenthesized_expression "((int)pcVar3 < 0)" ( (binary_expression "(int)pcVar3 < 0" (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            pcVar3 = (code *)0xffffffff;\n          }" { (expression_statement "pcVar3 = (code *)0xffffffff;" (assignment_expression "pcVar3 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) (else_clause "else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }" else (compound_statement "{\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }" { (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "iVar18 = iVar15 * 2;" (assignment_expression "iVar18 = iVar15 * 2" identifier = (binary_expression "iVar15 * 2" identifier * number_literal)) ;) (expression_statement "ppuVar7 = &puStack_58 + iVar15 * 6;" (assignment_expression "ppuVar7 = &puStack_58 + iVar15 * 6" identifier = (binary_expression "&puStack_58 + iVar15 * 6" (pointer_expression "&puStack_58" & identifier) + (binary_expression "iVar15 * 6" identifier * number_literal))) ;) (expression_statement "uVar10 = auStack_dc8[iVar15 * 6 + 1];" (assignment_expression "uVar10 = auStack_dc8[iVar15 * 6 + 1]" identifier = (subscript_expression "auStack_dc8[iVar15 * 6 + 1]" identifier [ (binary_expression "iVar15 * 6 + 1" (binary_expression "iVar15 * 6" identifier * number_literal) + number_literal) ])) ;) (expression_statement "uVar20 = auStack_dc8[iVar15 * 6 + 2];" (assignment_expression "uVar20 = auStack_dc8[iVar15 * 6 + 2]" identifier = (subscript_expression "auStack_dc8[iVar15 * 6 + 2]" identifier [ (binary_expression "iVar15 * 6 + 2" (binary_expression "iVar15 * 6" identifier * number_literal) + number_literal) ])) ;) (if_statement "if ((uVar10 & 0x4000) != 0) goto LAB_00035014;" if (parenthesized_expression "((uVar10 & 0x4000) != 0)" ( (binary_expression "(uVar10 & 0x4000) != 0" (parenthesized_expression "(uVar10 & 0x4000)" ( (binary_expression "uVar10 & 0x4000" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00035014;" goto statement_identifier ;)) (labeled_statement "LAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;" statement_identifier : (expression_statement "iStack_1010 = iStack_1010 + 1;" (assignment_expression "iStack_1010 = iStack_1010 + 1" identifier = (binary_expression "iStack_1010 + 1" identifier + number_literal)) ;)) (labeled_statement "LAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;" statement_identifier : (if_statement "if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;" if (parenthesized_expression "((uVar10 & 0x10000) != 0)" ( (binary_expression "(uVar10 & 0x10000) != 0" (parenthesized_expression "(uVar10 & 0x10000)" ( (binary_expression "uVar10 & 0x10000" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00034f08;" goto statement_identifier ;))) (labeled_statement "LAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }" statement_identifier : (if_statement "if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }" if (parenthesized_expression "((uVar10 & 0x8000) == 0)" ( (binary_expression "(uVar10 & 0x8000) == 0" (parenthesized_expression "(uVar10 & 0x8000)" ( (binary_expression "uVar10 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            pcVar3 = (code *)0xffffffff;\n          }" { (expression_statement "pcVar3 = (code *)0xffffffff;" (assignment_expression "pcVar3 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }" else (compound_statement "{\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }" { (expression_statement "pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];" (assignment_expression "pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3]" identifier = (cast_expression "(code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_dc8[(iVar18 + iVar15) * 2 + 3]" identifier [ (binary_expression "(iVar18 + iVar15) * 2 + 3" (binary_expression "(iVar18 + iVar15) * 2" (parenthesized_expression "(iVar18 + iVar15)" ( (binary_expression "iVar18 + iVar15" identifier + identifier) )) * number_literal) + number_literal) ]))) ;) })))) }))) (if_statement "if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }" if (parenthesized_expression "(auStack_dc8[(iVar18 + iVar15) * 2] < 8)" ( (binary_expression "auStack_dc8[(iVar18 + iVar15) * 2] < 8" (subscript_expression "auStack_dc8[(iVar18 + iVar15) * 2]" identifier [ (binary_expression "(iVar18 + iVar15) * 2" (parenthesized_expression "(iVar18 + iVar15)" ( (binary_expression "iVar18 + iVar15" identifier + identifier) )) * number_literal) ]) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }" { comment comment (expression_statement "pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();" (assignment_expression "pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))()" identifier = (cast_expression "(code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))()" (parenthesized_expression "(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))" ( (pointer_expression "*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4)" * (cast_expression "(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4)" ( (binary_expression "puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4" (binary_expression "puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4)" identifier + (pointer_expression "*(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4)" * (cast_expression "(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4)" ( (binary_expression "*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4" (binary_expression "*(int *)(puVar21 + 0x71668) + -0x50a8" (pointer_expression "*(int *)(puVar21 + 0x71668)" * (cast_expression "(int *)(puVar21 + 0x71668)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x71668)" ( (binary_expression "puVar21 + 0x71668" identifier + number_literal) )))) + number_literal) + (binary_expression "auStack_dc8[(iVar18 + iVar15) * 2] * 4" (subscript_expression "auStack_dc8[(iVar18 + iVar15) * 2]" identifier [ (binary_expression "(iVar18 + iVar15) * 2" (parenthesized_expression "(iVar18 + iVar15)" ( (binary_expression "iVar18 + iVar15" identifier + identifier) )) * number_literal) ]) * number_literal)) ))))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar3;" return identifier ;) })) (expression_statement "param_3 = (char *)*puStack_100c;" (assignment_expression "param_3 = (char *)*puStack_100c" identifier = (cast_expression "(char *)*puStack_100c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puStack_100c" * identifier))) ;) (expression_statement "uVar20 = (uint)*param_3;" (assignment_expression "uVar20 = (uint)*param_3" identifier = (binary_expression "(uint)*param_3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "puStack_100c = puStack_100c + 1;" (assignment_expression "puStack_100c = puStack_100c + 1" identifier = (binary_expression "puStack_100c + 1" identifier + number_literal)) ;) }))) }) (else_clause "else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }" else (compound_statement "{\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }" { (expression_statement "pcVar3 = (code *)&DAT_00000025;" (assignment_expression "pcVar3 = (code *)&DAT_00000025" identifier = (cast_expression "(code *)&DAT_00000025" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000025" & identifier))) ;) (expression_statement "pcStack_fcc = param_3;" (assignment_expression "pcStack_fcc = param_3" identifier = identifier) ;) (do_statement "do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);" do (compound_statement "{\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      }" { (expression_statement "iVar15 = (*param_2)(uVar20 & 0xff,iVar2);" (assignment_expression "iVar15 = (*param_2)(uVar20 & 0xff,iVar2)" identifier = (call_expression "(*param_2)(uVar20 & 0xff,iVar2)" (parenthesized_expression "(*param_2)" ( (pointer_expression "*param_2" * identifier) )) (argument_list "(uVar20 & 0xff,iVar2)" ( (binary_expression "uVar20 & 0xff" identifier & number_literal) , identifier )))) ;) (if_statement "if (iVar15 == -1) goto LAB_00034d9c;" if (parenthesized_expression "(iVar15 == -1)" ( (binary_expression "iVar15 == -1" identifier == number_literal) )) (goto_statement "goto LAB_00034d9c;" goto statement_identifier ;)) (expression_statement "param_3 = pcStack_fcc + 1;" (assignment_expression "param_3 = pcStack_fcc + 1" identifier = (binary_expression "pcStack_fcc + 1" identifier + number_literal)) ;) (expression_statement "uVar20 = (uint)pcStack_fcc[1];" (assignment_expression "uVar20 = (uint)pcStack_fcc[1]" identifier = (cast_expression "(uint)pcStack_fcc[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pcStack_fcc[1]" identifier [ number_literal ]))) ;) (expression_statement "pcVar19 = pcVar19 + 1;" (assignment_expression "pcVar19 = pcVar19 + 1" identifier = (binary_expression "pcVar19 + 1" identifier + number_literal)) ;) (expression_statement "pcStack_fcc = param_3;" (assignment_expression "pcStack_fcc = param_3" identifier = identifier) ;) (if_statement "if (uVar20 == 0) goto LAB_00034d9c;" if (parenthesized_expression "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00034d9c;" goto statement_identifier ;)) }) while (parenthesized_expression "(uVar20 != 0x25)" ( (binary_expression "uVar20 != 0x25" identifier != number_literal) )) ;) }))) })) (labeled_statement "LAB_00034d9c:\n  while (iStack_5c != *piVar4) {\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }" statement_identifier : (while_statement "while (iStack_5c != *piVar4) {\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }" while (parenthesized_expression "(iStack_5c != *piVar4)" ( (binary_expression "iStack_5c != *piVar4" identifier != (pointer_expression "*piVar4" * identifier)) )) (compound_statement "{\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }" { (expression_statement "(**(code **)(puVar21 + 0x72128))();" (call_expression "(**(code **)(puVar21 + 0x72128))()" (parenthesized_expression "(**(code **)(puVar21 + 0x72128))" ( (pointer_expression "**(code **)(puVar21 + 0x72128)" * (pointer_expression "*(code **)(puVar21 + 0x72128)" * (cast_expression "(code **)(puVar21 + 0x72128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x72128)" ( (binary_expression "puVar21 + 0x72128" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar19 = pcVar3;" (assignment_expression "pcVar19 = pcVar3" identifier = identifier) ;) }))) (return_statement "return pcVar19;" return identifier ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00035b3c) */\n/* WARNING: Removing unreachable block (ram,0x00035b74) */\n/* WARNING: Type propagation algorithm not settling */\n\nint curl_msnprintf(char *buffer,size_t maxlength,char *format,...)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  char *pcVar5;\n  uint *puVar6;\n  undefined **ppuVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  uint in_a3;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  int iVar14;\n  uint *puVar15;\n  undefined4 *puVar16;\n  int iVar17;\n  uint uVar18;\n  int iVar19;\n  undefined *puVar20;\n  uint uStackX_c;\n  int iStack_1010;\n  undefined4 *puStack_100c;\n  char *pcStack_fcc;\n  undefined4 auStack_fc8 [128];\n  uint auStack_dc8 [859];\n  int iStack_5c;\n  undefined *puStack_58;\n  va_list ap_save;\n  \n  puVar1 = PTR___stack_chk_guard_000a6fe0;\n  puVar11 = &uStackX_c;\n  iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;\n  uStackX_c = in_a3;\n  iVar3 = (*(code *)PTR_curl_mvsnprintf_000a6e24)();\n  if (iVar2 == *(int *)puVar1) {\n    return iVar3;\n  }\n  puVar20 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  piVar4 = *(int **)(puVar20 + 0x724b4);\n  iVar14 = *(int *)(puVar20 + 0x71668);\n  uVar18 = 0;\n  puStack_58 = puVar1;\n  iVar17 = *(int *)(puVar20 + 0x71858);\n  iVar3 = (int)*format;\n  iStack_5c = *piVar4;\n  pcStack_fcc = format;\n  puVar16 = auStack_fc8;\n  uVar9 = 0;\n  while (pcVar5 = pcStack_fcc + 1, iVar3 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar3 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar17 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar13 = uVar9 + 1;\n        uVar12 = uVar13;\n        if (uVar8 != 0) {\n          uVar9 = uVar8 - 1;\n          uVar12 = uVar8;\n        }\n        if ((int)uVar18 < (int)uVar12) {\n          uVar18 = uVar12;\n        }\n        iVar3 = (int)*pcStack_fcc;\n        uVar12 = iVar3 - 0x20U & 0xff;\n        if (uVar12 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))();\n          return iVar2;\n        }\n        if (0x7f < uVar9) {\n          iVar2 = FUN_00034d9c();\n          return iVar2;\n        }\n        uVar12 = iVar3 - 0x45U & 0xff;\n        if (uVar12 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ();\n          return iVar2;\n        }\n        auStack_dc8[uVar9 * 6] = 0;\n        auStack_dc8[uVar9 * 6 + 1] = 0;\n        auStack_dc8[uVar9 * 6 + 2] = 0;\n        auStack_dc8[uVar9 * 6 + 3] = 0;\n        *puVar16 = pcStack_fcc + 1;\n        puVar16 = puVar16 + 1;\n        uVar9 = uVar13;\n      }\n    }\n    else {\n      iVar3 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }\n  if (uVar18 != 0) {\n    iVar3 = *(int *)(puVar20 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar10 = puVar6 + uVar18 * 6;\n    do {\n      uVar18 = puVar6[1];\n      puVar15 = puVar11;\n      if ((uVar18 & 0x4000) != 0) {\n        uVar12 = puVar6[2];\n        puVar15 = puVar11 + 1;\n        uVar9 = *puVar11;\n        auStack_dc8[uVar12 * 6 + 5] = uVar9;\n        auStack_dc8[uVar12 * 6 + 4] = (int)uVar9 >> 0x1f;\n      }\n      puVar11 = puVar15;\n      if ((uVar18 & 0x10000) != 0) {\n        uVar9 = puVar6[3];\n        puVar11 = puVar15 + 1;\n        uVar18 = *puVar15;\n        auStack_dc8[uVar9 * 6 + 5] = uVar18;\n        auStack_dc8[uVar9 * 6 + 4] = (int)uVar18 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar2 = (*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return iVar2;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar10);\n  }\n  iVar14 = *(int *)(puVar20 + 0x71858);\n  iVar3 = 0;\n  iStack_1010 = 0;\n  uVar18 = (uint)*format;\n  puStack_100c = auStack_fc8;\n  while (pcStack_fcc = format, uVar18 != 0) {\n    pcStack_fcc = format + 1;\n    if (uVar18 == 0x25) {\n      if (format[1] == '%') {\n        pcStack_fcc = format + 2;\n        iVar17 = (*(code *)maxlength)(0x25,iVar2);\n        if (iVar17 == -1) break;\n        uVar18 = (uint)*pcStack_fcc;\n        iVar3 = iVar3 + 1;\n        format = pcStack_fcc;\n      }\n      else {\n        iVar17 = (*(code *)(iVar14 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar17 == 0) {\n          iVar19 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar9 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar18 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar17 = iStack_1010;\n          if ((uVar9 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if ((int)auStack_dc8[uVar18 * 6 + 5] < 0) {\n            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);\n          }\n        }\n        else {\n          iVar17 = iVar17 + -1;\n          iVar19 = iVar17 * 2;\n          ppuVar7 = &puStack_58 + iVar17 * 6;\n          uVar9 = auStack_dc8[iVar17 * 6 + 1];\n          uVar18 = auStack_dc8[iVar17 * 6 + 2];\n          if ((uVar9 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if ((uVar9 & 0x10000) != 0) {\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if (auStack_dc8[(iVar19 + iVar17) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))();\n          return iVar2;\n        }\n        format = (char *)*puStack_100c;\n        uVar18 = (uint)*format;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      do {\n        pcStack_fcc = format;\n        iVar17 = (*(code *)maxlength)(uVar18 & 0xff,iVar2);\n        if (iVar17 == -1) goto code_r0x00034d9c;\n        format = pcStack_fcc + 1;\n        uVar18 = (uint)pcStack_fcc[1];\n        iVar3 = iVar3 + 1;\n        pcStack_fcc = format;\n        if (uVar18 == 0) goto code_r0x00034d9c;\n      } while (uVar18 != 0x25);\n    }\n  }\ncode_r0x00034d9c:\n  if (iStack_5c != *piVar4) {\n    (**(code **)(puVar20 + 0x72128))();\n    iVar2 = FUN_00034d9c();\n    return iVar2;\n  }\n  return iVar3;\n}\n\n" comment comment comment (function_definition "int curl_msnprintf(char *buffer,size_t maxlength,char *format,...)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  char *pcVar5;\n  uint *puVar6;\n  undefined **ppuVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  uint in_a3;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  int iVar14;\n  uint *puVar15;\n  undefined4 *puVar16;\n  int iVar17;\n  uint uVar18;\n  int iVar19;\n  undefined *puVar20;\n  uint uStackX_c;\n  int iStack_1010;\n  undefined4 *puStack_100c;\n  char *pcStack_fcc;\n  undefined4 auStack_fc8 [128];\n  uint auStack_dc8 [859];\n  int iStack_5c;\n  undefined *puStack_58;\n  va_list ap_save;\n  \n  puVar1 = PTR___stack_chk_guard_000a6fe0;\n  puVar11 = &uStackX_c;\n  iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;\n  uStackX_c = in_a3;\n  iVar3 = (*(code *)PTR_curl_mvsnprintf_000a6e24)();\n  if (iVar2 == *(int *)puVar1) {\n    return iVar3;\n  }\n  puVar20 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  piVar4 = *(int **)(puVar20 + 0x724b4);\n  iVar14 = *(int *)(puVar20 + 0x71668);\n  uVar18 = 0;\n  puStack_58 = puVar1;\n  iVar17 = *(int *)(puVar20 + 0x71858);\n  iVar3 = (int)*format;\n  iStack_5c = *piVar4;\n  pcStack_fcc = format;\n  puVar16 = auStack_fc8;\n  uVar9 = 0;\n  while (pcVar5 = pcStack_fcc + 1, iVar3 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar3 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar17 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar13 = uVar9 + 1;\n        uVar12 = uVar13;\n        if (uVar8 != 0) {\n          uVar9 = uVar8 - 1;\n          uVar12 = uVar8;\n        }\n        if ((int)uVar18 < (int)uVar12) {\n          uVar18 = uVar12;\n        }\n        iVar3 = (int)*pcStack_fcc;\n        uVar12 = iVar3 - 0x20U & 0xff;\n        if (uVar12 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))();\n          return iVar2;\n        }\n        if (0x7f < uVar9) {\n          iVar2 = FUN_00034d9c();\n          return iVar2;\n        }\n        uVar12 = iVar3 - 0x45U & 0xff;\n        if (uVar12 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ();\n          return iVar2;\n        }\n        auStack_dc8[uVar9 * 6] = 0;\n        auStack_dc8[uVar9 * 6 + 1] = 0;\n        auStack_dc8[uVar9 * 6 + 2] = 0;\n        auStack_dc8[uVar9 * 6 + 3] = 0;\n        *puVar16 = pcStack_fcc + 1;\n        puVar16 = puVar16 + 1;\n        uVar9 = uVar13;\n      }\n    }\n    else {\n      iVar3 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }\n  if (uVar18 != 0) {\n    iVar3 = *(int *)(puVar20 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar10 = puVar6 + uVar18 * 6;\n    do {\n      uVar18 = puVar6[1];\n      puVar15 = puVar11;\n      if ((uVar18 & 0x4000) != 0) {\n        uVar12 = puVar6[2];\n        puVar15 = puVar11 + 1;\n        uVar9 = *puVar11;\n        auStack_dc8[uVar12 * 6 + 5] = uVar9;\n        auStack_dc8[uVar12 * 6 + 4] = (int)uVar9 >> 0x1f;\n      }\n      puVar11 = puVar15;\n      if ((uVar18 & 0x10000) != 0) {\n        uVar9 = puVar6[3];\n        puVar11 = puVar15 + 1;\n        uVar18 = *puVar15;\n        auStack_dc8[uVar9 * 6 + 5] = uVar18;\n        auStack_dc8[uVar9 * 6 + 4] = (int)uVar18 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar2 = (*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return iVar2;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar10);\n  }\n  iVar14 = *(int *)(puVar20 + 0x71858);\n  iVar3 = 0;\n  iStack_1010 = 0;\n  uVar18 = (uint)*format;\n  puStack_100c = auStack_fc8;\n  while (pcStack_fcc = format, uVar18 != 0) {\n    pcStack_fcc = format + 1;\n    if (uVar18 == 0x25) {\n      if (format[1] == '%') {\n        pcStack_fcc = format + 2;\n        iVar17 = (*(code *)maxlength)(0x25,iVar2);\n        if (iVar17 == -1) break;\n        uVar18 = (uint)*pcStack_fcc;\n        iVar3 = iVar3 + 1;\n        format = pcStack_fcc;\n      }\n      else {\n        iVar17 = (*(code *)(iVar14 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar17 == 0) {\n          iVar19 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar9 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar18 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar17 = iStack_1010;\n          if ((uVar9 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if ((int)auStack_dc8[uVar18 * 6 + 5] < 0) {\n            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);\n          }\n        }\n        else {\n          iVar17 = iVar17 + -1;\n          iVar19 = iVar17 * 2;\n          ppuVar7 = &puStack_58 + iVar17 * 6;\n          uVar9 = auStack_dc8[iVar17 * 6 + 1];\n          uVar18 = auStack_dc8[iVar17 * 6 + 2];\n          if ((uVar9 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if ((uVar9 & 0x10000) != 0) {\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if (auStack_dc8[(iVar19 + iVar17) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))();\n          return iVar2;\n        }\n        format = (char *)*puStack_100c;\n        uVar18 = (uint)*format;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      do {\n        pcStack_fcc = format;\n        iVar17 = (*(code *)maxlength)(uVar18 & 0xff,iVar2);\n        if (iVar17 == -1) goto code_r0x00034d9c;\n        format = pcStack_fcc + 1;\n        uVar18 = (uint)pcStack_fcc[1];\n        iVar3 = iVar3 + 1;\n        pcStack_fcc = format;\n        if (uVar18 == 0) goto code_r0x00034d9c;\n      } while (uVar18 != 0x25);\n    }\n  }\ncode_r0x00034d9c:\n  if (iStack_5c != *piVar4) {\n    (**(code **)(puVar20 + 0x72128))();\n    iVar2 = FUN_00034d9c();\n    return iVar2;\n  }\n  return iVar3;\n}" primitive_type (function_declarator "curl_msnprintf(char *buffer,size_t maxlength,char *format,...)" identifier (parameter_list "(char *buffer,size_t maxlength,char *format,...)" ( (parameter_declaration "char *buffer" primitive_type (pointer_declarator "*buffer" * identifier)) , (parameter_declaration "size_t maxlength" primitive_type identifier) , (parameter_declaration "char *format" primitive_type (pointer_declarator "*format" * identifier)) , (variadic_parameter "..." ...) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  char *pcVar5;\n  uint *puVar6;\n  undefined **ppuVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  uint in_a3;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  int iVar14;\n  uint *puVar15;\n  undefined4 *puVar16;\n  int iVar17;\n  uint uVar18;\n  int iVar19;\n  undefined *puVar20;\n  uint uStackX_c;\n  int iStack_1010;\n  undefined4 *puStack_100c;\n  char *pcStack_fcc;\n  undefined4 auStack_fc8 [128];\n  uint auStack_dc8 [859];\n  int iStack_5c;\n  undefined *puStack_58;\n  va_list ap_save;\n  \n  puVar1 = PTR___stack_chk_guard_000a6fe0;\n  puVar11 = &uStackX_c;\n  iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;\n  uStackX_c = in_a3;\n  iVar3 = (*(code *)PTR_curl_mvsnprintf_000a6e24)();\n  if (iVar2 == *(int *)puVar1) {\n    return iVar3;\n  }\n  puVar20 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  piVar4 = *(int **)(puVar20 + 0x724b4);\n  iVar14 = *(int *)(puVar20 + 0x71668);\n  uVar18 = 0;\n  puStack_58 = puVar1;\n  iVar17 = *(int *)(puVar20 + 0x71858);\n  iVar3 = (int)*format;\n  iStack_5c = *piVar4;\n  pcStack_fcc = format;\n  puVar16 = auStack_fc8;\n  uVar9 = 0;\n  while (pcVar5 = pcStack_fcc + 1, iVar3 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar3 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar17 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar13 = uVar9 + 1;\n        uVar12 = uVar13;\n        if (uVar8 != 0) {\n          uVar9 = uVar8 - 1;\n          uVar12 = uVar8;\n        }\n        if ((int)uVar18 < (int)uVar12) {\n          uVar18 = uVar12;\n        }\n        iVar3 = (int)*pcStack_fcc;\n        uVar12 = iVar3 - 0x20U & 0xff;\n        if (uVar12 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))();\n          return iVar2;\n        }\n        if (0x7f < uVar9) {\n          iVar2 = FUN_00034d9c();\n          return iVar2;\n        }\n        uVar12 = iVar3 - 0x45U & 0xff;\n        if (uVar12 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ();\n          return iVar2;\n        }\n        auStack_dc8[uVar9 * 6] = 0;\n        auStack_dc8[uVar9 * 6 + 1] = 0;\n        auStack_dc8[uVar9 * 6 + 2] = 0;\n        auStack_dc8[uVar9 * 6 + 3] = 0;\n        *puVar16 = pcStack_fcc + 1;\n        puVar16 = puVar16 + 1;\n        uVar9 = uVar13;\n      }\n    }\n    else {\n      iVar3 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }\n  if (uVar18 != 0) {\n    iVar3 = *(int *)(puVar20 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar10 = puVar6 + uVar18 * 6;\n    do {\n      uVar18 = puVar6[1];\n      puVar15 = puVar11;\n      if ((uVar18 & 0x4000) != 0) {\n        uVar12 = puVar6[2];\n        puVar15 = puVar11 + 1;\n        uVar9 = *puVar11;\n        auStack_dc8[uVar12 * 6 + 5] = uVar9;\n        auStack_dc8[uVar12 * 6 + 4] = (int)uVar9 >> 0x1f;\n      }\n      puVar11 = puVar15;\n      if ((uVar18 & 0x10000) != 0) {\n        uVar9 = puVar6[3];\n        puVar11 = puVar15 + 1;\n        uVar18 = *puVar15;\n        auStack_dc8[uVar9 * 6 + 5] = uVar18;\n        auStack_dc8[uVar9 * 6 + 4] = (int)uVar18 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar2 = (*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return iVar2;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar10);\n  }\n  iVar14 = *(int *)(puVar20 + 0x71858);\n  iVar3 = 0;\n  iStack_1010 = 0;\n  uVar18 = (uint)*format;\n  puStack_100c = auStack_fc8;\n  while (pcStack_fcc = format, uVar18 != 0) {\n    pcStack_fcc = format + 1;\n    if (uVar18 == 0x25) {\n      if (format[1] == '%') {\n        pcStack_fcc = format + 2;\n        iVar17 = (*(code *)maxlength)(0x25,iVar2);\n        if (iVar17 == -1) break;\n        uVar18 = (uint)*pcStack_fcc;\n        iVar3 = iVar3 + 1;\n        format = pcStack_fcc;\n      }\n      else {\n        iVar17 = (*(code *)(iVar14 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar17 == 0) {\n          iVar19 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar9 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar18 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar17 = iStack_1010;\n          if ((uVar9 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if ((int)auStack_dc8[uVar18 * 6 + 5] < 0) {\n            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);\n          }\n        }\n        else {\n          iVar17 = iVar17 + -1;\n          iVar19 = iVar17 * 2;\n          ppuVar7 = &puStack_58 + iVar17 * 6;\n          uVar9 = auStack_dc8[iVar17 * 6 + 1];\n          uVar18 = auStack_dc8[iVar17 * 6 + 2];\n          if ((uVar9 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if ((uVar9 & 0x10000) != 0) {\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if (auStack_dc8[(iVar19 + iVar17) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))();\n          return iVar2;\n        }\n        format = (char *)*puStack_100c;\n        uVar18 = (uint)*format;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      do {\n        pcStack_fcc = format;\n        iVar17 = (*(code *)maxlength)(uVar18 & 0xff,iVar2);\n        if (iVar17 == -1) goto code_r0x00034d9c;\n        format = pcStack_fcc + 1;\n        uVar18 = (uint)pcStack_fcc[1];\n        iVar3 = iVar3 + 1;\n        pcStack_fcc = format;\n        if (uVar18 == 0) goto code_r0x00034d9c;\n      } while (uVar18 != 0x25);\n    }\n  }\ncode_r0x00034d9c:\n  if (iStack_5c != *piVar4) {\n    (**(code **)(puVar20 + 0x72128))();\n    iVar2 = FUN_00034d9c();\n    return iVar2;\n  }\n  return iVar3;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined **ppuVar7;" type_identifier (pointer_declarator "**ppuVar7" * (pointer_declarator "*ppuVar7" * identifier)) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint in_a3;" type_identifier identifier ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "uint uStackX_c;" type_identifier identifier ;) (declaration "int iStack_1010;" primitive_type identifier ;) (declaration "undefined4 *puStack_100c;" type_identifier (pointer_declarator "*puStack_100c" * identifier) ;) (declaration "char *pcStack_fcc;" primitive_type (pointer_declarator "*pcStack_fcc" * identifier) ;) (declaration "undefined4 auStack_fc8 [128];" type_identifier (array_declarator "auStack_fc8 [128]" identifier [ number_literal ]) ;) (declaration "uint auStack_dc8 [859];" type_identifier (array_declarator "auStack_dc8 [859]" identifier [ number_literal ]) ;) (declaration "int iStack_5c;" primitive_type identifier ;) (declaration "undefined *puStack_58;" type_identifier (pointer_declarator "*puStack_58" * identifier) ;) (declaration "va_list ap_save;" type_identifier identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000a6fe0;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000a6fe0" identifier = identifier) ;) (expression_statement "puVar11 = &uStackX_c;" (assignment_expression "puVar11 = &uStackX_c" identifier = (pointer_expression "&uStackX_c" & identifier)) ;) (expression_statement "iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;" (assignment_expression "iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000a6fe0" * (cast_expression "(int *)PTR___stack_chk_guard_000a6fe0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uStackX_c = in_a3;" (assignment_expression "uStackX_c = in_a3" identifier = identifier) ;) (expression_statement "iVar3 = (*(code *)PTR_curl_mvsnprintf_000a6e24)();" (assignment_expression "iVar3 = (*(code *)PTR_curl_mvsnprintf_000a6e24)()" identifier = (call_expression "(*(code *)PTR_curl_mvsnprintf_000a6e24)()" (parenthesized_expression "(*(code *)PTR_curl_mvsnprintf_000a6e24)" ( (pointer_expression "*(code *)PTR_curl_mvsnprintf_000a6e24" * (cast_expression "(code *)PTR_curl_mvsnprintf_000a6e24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == *(int *)puVar1) {\n    return iVar3;\n  }" if (parenthesized_expression "(iVar2 == *(int *)puVar1)" ( (binary_expression "iVar2 == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) })) (expression_statement "puVar20 = PTR___stack_chk_fail_000a6c54;" (assignment_expression "puVar20 = PTR___stack_chk_fail_000a6c54" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000a6c54)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a6c54)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a6c54)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000a6c54" * (cast_expression "(code *)PTR___stack_chk_fail_000a6c54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar4 = *(int **)(puVar20 + 0x724b4);" (assignment_expression "piVar4 = *(int **)(puVar20 + 0x724b4)" identifier = (pointer_expression "*(int **)(puVar20 + 0x724b4)" * (cast_expression "(int **)(puVar20 + 0x724b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x724b4)" ( (binary_expression "puVar20 + 0x724b4" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(puVar20 + 0x71668);" (assignment_expression "iVar14 = *(int *)(puVar20 + 0x71668)" identifier = (pointer_expression "*(int *)(puVar20 + 0x71668)" * (cast_expression "(int *)(puVar20 + 0x71668)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x71668)" ( (binary_expression "puVar20 + 0x71668" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "puStack_58 = puVar1;" (assignment_expression "puStack_58 = puVar1" identifier = identifier) ;) (expression_statement "iVar17 = *(int *)(puVar20 + 0x71858);" (assignment_expression "iVar17 = *(int *)(puVar20 + 0x71858)" identifier = (pointer_expression "*(int *)(puVar20 + 0x71858)" * (cast_expression "(int *)(puVar20 + 0x71858)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x71858)" ( (binary_expression "puVar20 + 0x71858" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = (int)*format;" (assignment_expression "iVar3 = (int)*format" identifier = (cast_expression "(int)*format" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*format" * identifier))) ;) (expression_statement "iStack_5c = *piVar4;" (assignment_expression "iStack_5c = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "pcStack_fcc = format;" (assignment_expression "pcStack_fcc = format" identifier = identifier) ;) (expression_statement "puVar16 = auStack_fc8;" (assignment_expression "puVar16 = auStack_fc8" identifier = identifier) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (while_statement "while (pcVar5 = pcStack_fcc + 1, iVar3 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar3 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar17 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar13 = uVar9 + 1;\n        uVar12 = uVar13;\n        if (uVar8 != 0) {\n          uVar9 = uVar8 - 1;\n          uVar12 = uVar8;\n        }\n        if ((int)uVar18 < (int)uVar12) {\n          uVar18 = uVar12;\n        }\n        iVar3 = (int)*pcStack_fcc;\n        uVar12 = iVar3 - 0x20U & 0xff;\n        if (uVar12 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))();\n          return iVar2;\n        }\n        if (0x7f < uVar9) {\n          iVar2 = FUN_00034d9c();\n          return iVar2;\n        }\n        uVar12 = iVar3 - 0x45U & 0xff;\n        if (uVar12 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ();\n          return iVar2;\n        }\n        auStack_dc8[uVar9 * 6] = 0;\n        auStack_dc8[uVar9 * 6 + 1] = 0;\n        auStack_dc8[uVar9 * 6 + 2] = 0;\n        auStack_dc8[uVar9 * 6 + 3] = 0;\n        *puVar16 = pcStack_fcc + 1;\n        puVar16 = puVar16 + 1;\n        uVar9 = uVar13;\n      }\n    }\n    else {\n      iVar3 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }" while (parenthesized_expression "(pcVar5 = pcStack_fcc + 1, iVar3 != 0)" ( (comma_expression "pcVar5 = pcStack_fcc + 1, iVar3 != 0" (assignment_expression "pcVar5 = pcStack_fcc + 1" identifier = (binary_expression "pcStack_fcc + 1" identifier + number_literal)) , (binary_expression "iVar3 != 0" identifier != number_literal)) )) (compound_statement "{\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar3 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar17 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar13 = uVar9 + 1;\n        uVar12 = uVar13;\n        if (uVar8 != 0) {\n          uVar9 = uVar8 - 1;\n          uVar12 = uVar8;\n        }\n        if ((int)uVar18 < (int)uVar12) {\n          uVar18 = uVar12;\n        }\n        iVar3 = (int)*pcStack_fcc;\n        uVar12 = iVar3 - 0x20U & 0xff;\n        if (uVar12 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))();\n          return iVar2;\n        }\n        if (0x7f < uVar9) {\n          iVar2 = FUN_00034d9c();\n          return iVar2;\n        }\n        uVar12 = iVar3 - 0x45U & 0xff;\n        if (uVar12 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ();\n          return iVar2;\n        }\n        auStack_dc8[uVar9 * 6] = 0;\n        auStack_dc8[uVar9 * 6 + 1] = 0;\n        auStack_dc8[uVar9 * 6 + 2] = 0;\n        auStack_dc8[uVar9 * 6 + 3] = 0;\n        *puVar16 = pcStack_fcc + 1;\n        puVar16 = puVar16 + 1;\n        uVar9 = uVar13;\n      }\n    }\n    else {\n      iVar3 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }" { (if_statement "if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar3 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar17 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar13 = uVar9 + 1;\n        uVar12 = uVar13;\n        if (uVar8 != 0) {\n          uVar9 = uVar8 - 1;\n          uVar12 = uVar8;\n        }\n        if ((int)uVar18 < (int)uVar12) {\n          uVar18 = uVar12;\n        }\n        iVar3 = (int)*pcStack_fcc;\n        uVar12 = iVar3 - 0x20U & 0xff;\n        if (uVar12 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))();\n          return iVar2;\n        }\n        if (0x7f < uVar9) {\n          iVar2 = FUN_00034d9c();\n          return iVar2;\n        }\n        uVar12 = iVar3 - 0x45U & 0xff;\n        if (uVar12 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ();\n          return iVar2;\n        }\n        auStack_dc8[uVar9 * 6] = 0;\n        auStack_dc8[uVar9 * 6 + 1] = 0;\n        auStack_dc8[uVar9 * 6 + 2] = 0;\n        auStack_dc8[uVar9 * 6 + 3] = 0;\n        *puVar16 = pcStack_fcc + 1;\n        puVar16 = puVar16 + 1;\n        uVar9 = uVar13;\n      }\n    }\n    else {\n      iVar3 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }" if (parenthesized_expression "(*pcStack_fcc == '%')" ( (binary_expression "*pcStack_fcc == '%'" (pointer_expression "*pcStack_fcc" * identifier) == (char_literal "'%'" ' character ')) )) (compound_statement "{\n      if (pcStack_fcc[1] == '%') {\n        iVar3 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar17 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar13 = uVar9 + 1;\n        uVar12 = uVar13;\n        if (uVar8 != 0) {\n          uVar9 = uVar8 - 1;\n          uVar12 = uVar8;\n        }\n        if ((int)uVar18 < (int)uVar12) {\n          uVar18 = uVar12;\n        }\n        iVar3 = (int)*pcStack_fcc;\n        uVar12 = iVar3 - 0x20U & 0xff;\n        if (uVar12 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))();\n          return iVar2;\n        }\n        if (0x7f < uVar9) {\n          iVar2 = FUN_00034d9c();\n          return iVar2;\n        }\n        uVar12 = iVar3 - 0x45U & 0xff;\n        if (uVar12 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ();\n          return iVar2;\n        }\n        auStack_dc8[uVar9 * 6] = 0;\n        auStack_dc8[uVar9 * 6 + 1] = 0;\n        auStack_dc8[uVar9 * 6 + 2] = 0;\n        auStack_dc8[uVar9 * 6 + 3] = 0;\n        *puVar16 = pcStack_fcc + 1;\n        puVar16 = puVar16 + 1;\n        uVar9 = uVar13;\n      }\n    }" { (if_statement "if (pcStack_fcc[1] == '%') {\n        iVar3 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar17 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar13 = uVar9 + 1;\n        uVar12 = uVar13;\n        if (uVar8 != 0) {\n          uVar9 = uVar8 - 1;\n          uVar12 = uVar8;\n        }\n        if ((int)uVar18 < (int)uVar12) {\n          uVar18 = uVar12;\n        }\n        iVar3 = (int)*pcStack_fcc;\n        uVar12 = iVar3 - 0x20U & 0xff;\n        if (uVar12 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))();\n          return iVar2;\n        }\n        if (0x7f < uVar9) {\n          iVar2 = FUN_00034d9c();\n          return iVar2;\n        }\n        uVar12 = iVar3 - 0x45U & 0xff;\n        if (uVar12 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ();\n          return iVar2;\n        }\n        auStack_dc8[uVar9 * 6] = 0;\n        auStack_dc8[uVar9 * 6 + 1] = 0;\n        auStack_dc8[uVar9 * 6 + 2] = 0;\n        auStack_dc8[uVar9 * 6 + 3] = 0;\n        *puVar16 = pcStack_fcc + 1;\n        puVar16 = puVar16 + 1;\n        uVar9 = uVar13;\n      }" if (parenthesized_expression "(pcStack_fcc[1] == '%')" ( (binary_expression "pcStack_fcc[1] == '%'" (subscript_expression "pcStack_fcc[1]" identifier [ number_literal ]) == (char_literal "'%'" ' character ')) )) (compound_statement "{\n        iVar3 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }" { (expression_statement "iVar3 = (int)pcStack_fcc[2];" (assignment_expression "iVar3 = (int)pcStack_fcc[2]" identifier = (cast_expression "(int)pcStack_fcc[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcStack_fcc[2]" identifier [ number_literal ]))) ;) (expression_statement "pcStack_fcc = pcStack_fcc + 2;" (assignment_expression "pcStack_fcc = pcStack_fcc + 2" identifier = (binary_expression "pcStack_fcc + 2" identifier + number_literal)) ;) }) (else_clause "else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar17 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar13 = uVar9 + 1;\n        uVar12 = uVar13;\n        if (uVar8 != 0) {\n          uVar9 = uVar8 - 1;\n          uVar12 = uVar8;\n        }\n        if ((int)uVar18 < (int)uVar12) {\n          uVar18 = uVar12;\n        }\n        iVar3 = (int)*pcStack_fcc;\n        uVar12 = iVar3 - 0x20U & 0xff;\n        if (uVar12 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))();\n          return iVar2;\n        }\n        if (0x7f < uVar9) {\n          iVar2 = FUN_00034d9c();\n          return iVar2;\n        }\n        uVar12 = iVar3 - 0x45U & 0xff;\n        if (uVar12 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ();\n          return iVar2;\n        }\n        auStack_dc8[uVar9 * 6] = 0;\n        auStack_dc8[uVar9 * 6 + 1] = 0;\n        auStack_dc8[uVar9 * 6 + 2] = 0;\n        auStack_dc8[uVar9 * 6 + 3] = 0;\n        *puVar16 = pcStack_fcc + 1;\n        puVar16 = puVar16 + 1;\n        uVar9 = uVar13;\n      }" else (compound_statement "{\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar17 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar13 = uVar9 + 1;\n        uVar12 = uVar13;\n        if (uVar8 != 0) {\n          uVar9 = uVar8 - 1;\n          uVar12 = uVar8;\n        }\n        if ((int)uVar18 < (int)uVar12) {\n          uVar18 = uVar12;\n        }\n        iVar3 = (int)*pcStack_fcc;\n        uVar12 = iVar3 - 0x20U & 0xff;\n        if (uVar12 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))();\n          return iVar2;\n        }\n        if (0x7f < uVar9) {\n          iVar2 = FUN_00034d9c();\n          return iVar2;\n        }\n        uVar12 = iVar3 - 0x45U & 0xff;\n        if (uVar12 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ();\n          return iVar2;\n        }\n        auStack_dc8[uVar9 * 6] = 0;\n        auStack_dc8[uVar9 * 6 + 1] = 0;\n        auStack_dc8[uVar9 * 6 + 2] = 0;\n        auStack_dc8[uVar9 * 6 + 3] = 0;\n        *puVar16 = pcStack_fcc + 1;\n        puVar16 = puVar16 + 1;\n        uVar9 = uVar13;\n      }" { (expression_statement "pcStack_fcc = pcVar5;" (assignment_expression "pcStack_fcc = pcVar5" identifier = identifier) ;) (expression_statement "uVar8 = (*(code *)(iVar17 + 0x4a08))(pcVar5,&pcStack_fcc);" (assignment_expression "uVar8 = (*(code *)(iVar17 + 0x4a08))(pcVar5,&pcStack_fcc)" identifier = (call_expression "(*(code *)(iVar17 + 0x4a08))(pcVar5,&pcStack_fcc)" (parenthesized_expression "(*(code *)(iVar17 + 0x4a08))" ( (pointer_expression "*(code *)(iVar17 + 0x4a08)" * (cast_expression "(code *)(iVar17 + 0x4a08)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x4a08)" ( (binary_expression "iVar17 + 0x4a08" identifier + number_literal) )))) )) (argument_list "(pcVar5,&pcStack_fcc)" ( identifier , (pointer_expression "&pcStack_fcc" & identifier) )))) ;) (expression_statement "uVar13 = uVar9 + 1;" (assignment_expression "uVar13 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (expression_statement "uVar12 = uVar13;" (assignment_expression "uVar12 = uVar13" identifier = identifier) ;) (if_statement "if (uVar8 != 0) {\n          uVar9 = uVar8 - 1;\n          uVar12 = uVar8;\n        }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar9 = uVar8 - 1;\n          uVar12 = uVar8;\n        }" { (expression_statement "uVar9 = uVar8 - 1;" (assignment_expression "uVar9 = uVar8 - 1" identifier = (binary_expression "uVar8 - 1" identifier - number_literal)) ;) (expression_statement "uVar12 = uVar8;" (assignment_expression "uVar12 = uVar8" identifier = identifier) ;) })) (if_statement "if ((int)uVar18 < (int)uVar12) {\n          uVar18 = uVar12;\n        }" if (parenthesized_expression "((int)uVar18 < (int)uVar12)" ( (binary_expression "(int)uVar18 < (int)uVar12" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          uVar18 = uVar12;\n        }" { (expression_statement "uVar18 = uVar12;" (assignment_expression "uVar18 = uVar12" identifier = identifier) ;) })) (expression_statement "iVar3 = (int)*pcStack_fcc;" (assignment_expression "iVar3 = (int)*pcStack_fcc" identifier = (cast_expression "(int)*pcStack_fcc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcStack_fcc" * identifier))) ;) (expression_statement "uVar12 = iVar3 - 0x20U & 0xff;" (assignment_expression "uVar12 = iVar3 - 0x20U & 0xff" identifier = (binary_expression "iVar3 - 0x20U & 0xff" (binary_expression "iVar3 - 0x20U" identifier - number_literal) & number_literal)) ;) (if_statement "if (uVar12 < 0x5b) {\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))();\n          return iVar2;\n        }" if (parenthesized_expression "(uVar12 < 0x5b)" ( (binary_expression "uVar12 < 0x5b" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))();\n          return iVar2;\n        }" { comment comment (expression_statement "iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))();" (assignment_expression "iVar2 = (*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))()" identifier = (call_expression "(*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))()" (parenthesized_expression "(*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4))" ( (pointer_expression "*(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4)" * (cast_expression "(code *)(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4)" ( (binary_expression "puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4) + 0x795e4" (binary_expression "puVar20 + *(int *)(iVar14 + -0x5088 + uVar12 * 4)" identifier + (pointer_expression "*(int *)(iVar14 + -0x5088 + uVar12 * 4)" * (cast_expression "(int *)(iVar14 + -0x5088 + uVar12 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + -0x5088 + uVar12 * 4)" ( (binary_expression "iVar14 + -0x5088 + uVar12 * 4" (binary_expression "iVar14 + -0x5088" identifier + number_literal) + (binary_expression "uVar12 * 4" identifier * number_literal)) ))))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar2;" return identifier ;) })) (if_statement "if (0x7f < uVar9) {\n          iVar2 = FUN_00034d9c();\n          return iVar2;\n        }" if (parenthesized_expression "(0x7f < uVar9)" ( (binary_expression "0x7f < uVar9" number_literal < identifier) )) (compound_statement "{\n          iVar2 = FUN_00034d9c();\n          return iVar2;\n        }" { (expression_statement "iVar2 = FUN_00034d9c();" (assignment_expression "iVar2 = FUN_00034d9c()" identifier = (call_expression "FUN_00034d9c()" identifier (argument_list "()" ( )))) ;) (return_statement "return iVar2;" return identifier ;) })) (expression_statement "uVar12 = iVar3 - 0x45U & 0xff;" (assignment_expression "uVar12 = iVar3 - 0x45U & 0xff" identifier = (binary_expression "iVar3 - 0x45U & 0xff" (binary_expression "iVar3 - 0x45U" identifier - number_literal) & number_literal)) ;) (if_statement "if (uVar12 < 0x34) {\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ();\n          return iVar2;\n        }" if (parenthesized_expression "(uVar12 < 0x34)" ( (binary_expression "uVar12 < 0x34" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ();\n          return iVar2;\n        }" { comment comment (expression_statement "iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ();" (assignment_expression "iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ()" identifier = (call_expression "(*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))\n                            ()" (parenthesized_expression "(*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4))" ( (pointer_expression "*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4)" * (cast_expression "(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4)" ( (binary_expression "puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4) + 0x795e4" (binary_expression "puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4)" identifier + (pointer_expression "*(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4)" * (cast_expression "(int *)(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4)" ( (binary_expression "*(int *)(puVar20 + 0x71668) + -0x4db0 + uVar12 * 4" (binary_expression "*(int *)(puVar20 + 0x71668) + -0x4db0" (pointer_expression "*(int *)(puVar20 + 0x71668)" * (cast_expression "(int *)(puVar20 + 0x71668)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x71668)" ( (binary_expression "puVar20 + 0x71668" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar12 * 4" identifier * number_literal)) ))))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar2;" return identifier ;) })) (expression_statement "auStack_dc8[uVar9 * 6] = 0;" (assignment_expression "auStack_dc8[uVar9 * 6] = 0" (subscript_expression "auStack_dc8[uVar9 * 6]" identifier [ (binary_expression "uVar9 * 6" identifier * number_literal) ]) = number_literal) ;) (expression_statement "auStack_dc8[uVar9 * 6 + 1] = 0;" (assignment_expression "auStack_dc8[uVar9 * 6 + 1] = 0" (subscript_expression "auStack_dc8[uVar9 * 6 + 1]" identifier [ (binary_expression "uVar9 * 6 + 1" (binary_expression "uVar9 * 6" identifier * number_literal) + number_literal) ]) = number_literal) ;) (expression_statement "auStack_dc8[uVar9 * 6 + 2] = 0;" (assignment_expression "auStack_dc8[uVar9 * 6 + 2] = 0" (subscript_expression "auStack_dc8[uVar9 * 6 + 2]" identifier [ (binary_expression "uVar9 * 6 + 2" (binary_expression "uVar9 * 6" identifier * number_literal) + number_literal) ]) = number_literal) ;) (expression_statement "auStack_dc8[uVar9 * 6 + 3] = 0;" (assignment_expression "auStack_dc8[uVar9 * 6 + 3] = 0" (subscript_expression "auStack_dc8[uVar9 * 6 + 3]" identifier [ (binary_expression "uVar9 * 6 + 3" (binary_expression "uVar9 * 6" identifier * number_literal) + number_literal) ]) = number_literal) ;) (expression_statement "*puVar16 = pcStack_fcc + 1;" (assignment_expression "*puVar16 = pcStack_fcc + 1" (pointer_expression "*puVar16" * identifier) = (binary_expression "pcStack_fcc + 1" identifier + number_literal)) ;) (expression_statement "puVar16 = puVar16 + 1;" (assignment_expression "puVar16 = puVar16 + 1" identifier = (binary_expression "puVar16 + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = uVar13;" (assignment_expression "uVar9 = uVar13" identifier = identifier) ;) }))) }) (else_clause "else {\n      iVar3 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }" else (compound_statement "{\n      iVar3 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }" { (expression_statement "iVar3 = (int)pcStack_fcc[1];" (assignment_expression "iVar3 = (int)pcStack_fcc[1]" identifier = (cast_expression "(int)pcStack_fcc[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcStack_fcc[1]" identifier [ number_literal ]))) ;) (expression_statement "pcStack_fcc = pcVar5;" (assignment_expression "pcStack_fcc = pcVar5" identifier = identifier) ;) }))) })) (if_statement "if (uVar18 != 0) {\n    iVar3 = *(int *)(puVar20 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar10 = puVar6 + uVar18 * 6;\n    do {\n      uVar18 = puVar6[1];\n      puVar15 = puVar11;\n      if ((uVar18 & 0x4000) != 0) {\n        uVar12 = puVar6[2];\n        puVar15 = puVar11 + 1;\n        uVar9 = *puVar11;\n        auStack_dc8[uVar12 * 6 + 5] = uVar9;\n        auStack_dc8[uVar12 * 6 + 4] = (int)uVar9 >> 0x1f;\n      }\n      puVar11 = puVar15;\n      if ((uVar18 & 0x10000) != 0) {\n        uVar9 = puVar6[3];\n        puVar11 = puVar15 + 1;\n        uVar18 = *puVar15;\n        auStack_dc8[uVar9 * 6 + 5] = uVar18;\n        auStack_dc8[uVar9 * 6 + 4] = (int)uVar18 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar2 = (*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return iVar2;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar10);\n  }" if (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = *(int *)(puVar20 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar10 = puVar6 + uVar18 * 6;\n    do {\n      uVar18 = puVar6[1];\n      puVar15 = puVar11;\n      if ((uVar18 & 0x4000) != 0) {\n        uVar12 = puVar6[2];\n        puVar15 = puVar11 + 1;\n        uVar9 = *puVar11;\n        auStack_dc8[uVar12 * 6 + 5] = uVar9;\n        auStack_dc8[uVar12 * 6 + 4] = (int)uVar9 >> 0x1f;\n      }\n      puVar11 = puVar15;\n      if ((uVar18 & 0x10000) != 0) {\n        uVar9 = puVar6[3];\n        puVar11 = puVar15 + 1;\n        uVar18 = *puVar15;\n        auStack_dc8[uVar9 * 6 + 5] = uVar18;\n        auStack_dc8[uVar9 * 6 + 4] = (int)uVar18 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar2 = (*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return iVar2;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar10);\n  }" { (expression_statement "iVar3 = *(int *)(puVar20 + 0x71668);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x71668)" identifier = (pointer_expression "*(int *)(puVar20 + 0x71668)" * (cast_expression "(int *)(puVar20 + 0x71668)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x71668)" ( (binary_expression "puVar20 + 0x71668" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = auStack_dc8;" (assignment_expression "puVar6 = auStack_dc8" identifier = identifier) ;) (expression_statement "puVar10 = puVar6 + uVar18 * 6;" (assignment_expression "puVar10 = puVar6 + uVar18 * 6" identifier = (binary_expression "puVar6 + uVar18 * 6" identifier + (binary_expression "uVar18 * 6" identifier * number_literal))) ;) (do_statement "do {\n      uVar18 = puVar6[1];\n      puVar15 = puVar11;\n      if ((uVar18 & 0x4000) != 0) {\n        uVar12 = puVar6[2];\n        puVar15 = puVar11 + 1;\n        uVar9 = *puVar11;\n        auStack_dc8[uVar12 * 6 + 5] = uVar9;\n        auStack_dc8[uVar12 * 6 + 4] = (int)uVar9 >> 0x1f;\n      }\n      puVar11 = puVar15;\n      if ((uVar18 & 0x10000) != 0) {\n        uVar9 = puVar6[3];\n        puVar11 = puVar15 + 1;\n        uVar18 = *puVar15;\n        auStack_dc8[uVar9 * 6 + 5] = uVar18;\n        auStack_dc8[uVar9 * 6 + 4] = (int)uVar18 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar2 = (*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return iVar2;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar10);" do (compound_statement "{\n      uVar18 = puVar6[1];\n      puVar15 = puVar11;\n      if ((uVar18 & 0x4000) != 0) {\n        uVar12 = puVar6[2];\n        puVar15 = puVar11 + 1;\n        uVar9 = *puVar11;\n        auStack_dc8[uVar12 * 6 + 5] = uVar9;\n        auStack_dc8[uVar12 * 6 + 4] = (int)uVar9 >> 0x1f;\n      }\n      puVar11 = puVar15;\n      if ((uVar18 & 0x10000) != 0) {\n        uVar9 = puVar6[3];\n        puVar11 = puVar15 + 1;\n        uVar18 = *puVar15;\n        auStack_dc8[uVar9 * 6 + 5] = uVar18;\n        auStack_dc8[uVar9 * 6 + 4] = (int)uVar18 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar2 = (*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return iVar2;\n      }\n      puVar6 = puVar6 + 6;\n    }" { (expression_statement "uVar18 = puVar6[1];" (assignment_expression "uVar18 = puVar6[1]" identifier = (subscript_expression "puVar6[1]" identifier [ number_literal ])) ;) (expression_statement "puVar15 = puVar11;" (assignment_expression "puVar15 = puVar11" identifier = identifier) ;) (if_statement "if ((uVar18 & 0x4000) != 0) {\n        uVar12 = puVar6[2];\n        puVar15 = puVar11 + 1;\n        uVar9 = *puVar11;\n        auStack_dc8[uVar12 * 6 + 5] = uVar9;\n        auStack_dc8[uVar12 * 6 + 4] = (int)uVar9 >> 0x1f;\n      }" if (parenthesized_expression "((uVar18 & 0x4000) != 0)" ( (binary_expression "(uVar18 & 0x4000) != 0" (parenthesized_expression "(uVar18 & 0x4000)" ( (binary_expression "uVar18 & 0x4000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar12 = puVar6[2];\n        puVar15 = puVar11 + 1;\n        uVar9 = *puVar11;\n        auStack_dc8[uVar12 * 6 + 5] = uVar9;\n        auStack_dc8[uVar12 * 6 + 4] = (int)uVar9 >> 0x1f;\n      }" { (expression_statement "uVar12 = puVar6[2];" (assignment_expression "uVar12 = puVar6[2]" identifier = (subscript_expression "puVar6[2]" identifier [ number_literal ])) ;) (expression_statement "puVar15 = puVar11 + 1;" (assignment_expression "puVar15 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = *puVar11;" (assignment_expression "uVar9 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "auStack_dc8[uVar12 * 6 + 5] = uVar9;" (assignment_expression "auStack_dc8[uVar12 * 6 + 5] = uVar9" (subscript_expression "auStack_dc8[uVar12 * 6 + 5]" identifier [ (binary_expression "uVar12 * 6 + 5" (binary_expression "uVar12 * 6" identifier * number_literal) + number_literal) ]) = identifier) ;) (expression_statement "auStack_dc8[uVar12 * 6 + 4] = (int)uVar9 >> 0x1f;" (assignment_expression "auStack_dc8[uVar12 * 6 + 4] = (int)uVar9 >> 0x1f" (subscript_expression "auStack_dc8[uVar12 * 6 + 4]" identifier [ (binary_expression "uVar12 * 6 + 4" (binary_expression "uVar12 * 6" identifier * number_literal) + number_literal) ]) = (binary_expression "(int)uVar9 >> 0x1f" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) })) (expression_statement "puVar11 = puVar15;" (assignment_expression "puVar11 = puVar15" identifier = identifier) ;) (if_statement "if ((uVar18 & 0x10000) != 0) {\n        uVar9 = puVar6[3];\n        puVar11 = puVar15 + 1;\n        uVar18 = *puVar15;\n        auStack_dc8[uVar9 * 6 + 5] = uVar18;\n        auStack_dc8[uVar9 * 6 + 4] = (int)uVar18 >> 0x1f;\n      }" if (parenthesized_expression "((uVar18 & 0x10000) != 0)" ( (binary_expression "(uVar18 & 0x10000) != 0" (parenthesized_expression "(uVar18 & 0x10000)" ( (binary_expression "uVar18 & 0x10000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar9 = puVar6[3];\n        puVar11 = puVar15 + 1;\n        uVar18 = *puVar15;\n        auStack_dc8[uVar9 * 6 + 5] = uVar18;\n        auStack_dc8[uVar9 * 6 + 4] = (int)uVar18 >> 0x1f;\n      }" { (expression_statement "uVar9 = puVar6[3];" (assignment_expression "uVar9 = puVar6[3]" identifier = (subscript_expression "puVar6[3]" identifier [ number_literal ])) ;) (expression_statement "puVar11 = puVar15 + 1;" (assignment_expression "puVar11 = puVar15 + 1" identifier = (binary_expression "puVar15 + 1" identifier + number_literal)) ;) (expression_statement "uVar18 = *puVar15;" (assignment_expression "uVar18 = *puVar15" identifier = (pointer_expression "*puVar15" * identifier)) ;) (expression_statement "auStack_dc8[uVar9 * 6 + 5] = uVar18;" (assignment_expression "auStack_dc8[uVar9 * 6 + 5] = uVar18" (subscript_expression "auStack_dc8[uVar9 * 6 + 5]" identifier [ (binary_expression "uVar9 * 6 + 5" (binary_expression "uVar9 * 6" identifier * number_literal) + number_literal) ]) = identifier) ;) (expression_statement "auStack_dc8[uVar9 * 6 + 4] = (int)uVar18 >> 0x1f;" (assignment_expression "auStack_dc8[uVar9 * 6 + 4] = (int)uVar18 >> 0x1f" (subscript_expression "auStack_dc8[uVar9 * 6 + 4]" identifier [ (binary_expression "uVar9 * 6 + 4" (binary_expression "uVar9 * 6" identifier * number_literal) + number_literal) ]) = (binary_expression "(int)uVar18 >> 0x1f" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) })) (if_statement "if (*puVar6 < 10) {\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar2 = (*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return iVar2;\n      }" if (parenthesized_expression "(*puVar6 < 10)" ( (binary_expression "*puVar6 < 10" (pointer_expression "*puVar6" * identifier) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar2 = (*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return iVar2;\n      }" { comment comment (expression_statement "iVar2 = (*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4))();" (assignment_expression "iVar2 = (*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4))()" identifier = (call_expression "(*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4))()" (parenthesized_expression "(*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4))" ( (pointer_expression "*(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4)" * (cast_expression "(code *)(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4)" ( (binary_expression "puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4) + 0x795e4" (binary_expression "puVar20 + *(int *)(iVar3 + -0x50d0 + *puVar6 * 4)" identifier + (pointer_expression "*(int *)(iVar3 + -0x50d0 + *puVar6 * 4)" * (cast_expression "(int *)(iVar3 + -0x50d0 + *puVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -0x50d0 + *puVar6 * 4)" ( (binary_expression "iVar3 + -0x50d0 + *puVar6 * 4" (binary_expression "iVar3 + -0x50d0" identifier + number_literal) + (binary_expression "*puVar6 * 4" (pointer_expression "*puVar6" * identifier) * number_literal)) ))))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar2;" return identifier ;) })) (expression_statement "puVar6 = puVar6 + 6;" (assignment_expression "puVar6 = puVar6 + 6" identifier = (binary_expression "puVar6 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar6 != puVar10)" ( (binary_expression "puVar6 != puVar10" identifier != identifier) )) ;) })) (expression_statement "iVar14 = *(int *)(puVar20 + 0x71858);" (assignment_expression "iVar14 = *(int *)(puVar20 + 0x71858)" identifier = (pointer_expression "*(int *)(puVar20 + 0x71858)" * (cast_expression "(int *)(puVar20 + 0x71858)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x71858)" ( (binary_expression "puVar20 + 0x71858" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "iStack_1010 = 0;" (assignment_expression "iStack_1010 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = (uint)*format;" (assignment_expression "uVar18 = (uint)*format" identifier = (binary_expression "(uint)*format" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "puStack_100c = auStack_fc8;" (assignment_expression "puStack_100c = auStack_fc8" identifier = identifier) ;) (while_statement "while (pcStack_fcc = format, uVar18 != 0) {\n    pcStack_fcc = format + 1;\n    if (uVar18 == 0x25) {\n      if (format[1] == '%') {\n        pcStack_fcc = format + 2;\n        iVar17 = (*(code *)maxlength)(0x25,iVar2);\n        if (iVar17 == -1) break;\n        uVar18 = (uint)*pcStack_fcc;\n        iVar3 = iVar3 + 1;\n        format = pcStack_fcc;\n      }\n      else {\n        iVar17 = (*(code *)(iVar14 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar17 == 0) {\n          iVar19 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar9 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar18 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar17 = iStack_1010;\n          if ((uVar9 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if ((int)auStack_dc8[uVar18 * 6 + 5] < 0) {\n            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);\n          }\n        }\n        else {\n          iVar17 = iVar17 + -1;\n          iVar19 = iVar17 * 2;\n          ppuVar7 = &puStack_58 + iVar17 * 6;\n          uVar9 = auStack_dc8[iVar17 * 6 + 1];\n          uVar18 = auStack_dc8[iVar17 * 6 + 2];\n          if ((uVar9 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if ((uVar9 & 0x10000) != 0) {\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if (auStack_dc8[(iVar19 + iVar17) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))();\n          return iVar2;\n        }\n        format = (char *)*puStack_100c;\n        uVar18 = (uint)*format;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      do {\n        pcStack_fcc = format;\n        iVar17 = (*(code *)maxlength)(uVar18 & 0xff,iVar2);\n        if (iVar17 == -1) goto code_r0x00034d9c;\n        format = pcStack_fcc + 1;\n        uVar18 = (uint)pcStack_fcc[1];\n        iVar3 = iVar3 + 1;\n        pcStack_fcc = format;\n        if (uVar18 == 0) goto code_r0x00034d9c;\n      } while (uVar18 != 0x25);\n    }\n  }" while (parenthesized_expression "(pcStack_fcc = format, uVar18 != 0)" ( (comma_expression "pcStack_fcc = format, uVar18 != 0" (assignment_expression "pcStack_fcc = format" identifier = identifier) , (binary_expression "uVar18 != 0" identifier != number_literal)) )) (compound_statement "{\n    pcStack_fcc = format + 1;\n    if (uVar18 == 0x25) {\n      if (format[1] == '%') {\n        pcStack_fcc = format + 2;\n        iVar17 = (*(code *)maxlength)(0x25,iVar2);\n        if (iVar17 == -1) break;\n        uVar18 = (uint)*pcStack_fcc;\n        iVar3 = iVar3 + 1;\n        format = pcStack_fcc;\n      }\n      else {\n        iVar17 = (*(code *)(iVar14 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar17 == 0) {\n          iVar19 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar9 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar18 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar17 = iStack_1010;\n          if ((uVar9 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if ((int)auStack_dc8[uVar18 * 6 + 5] < 0) {\n            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);\n          }\n        }\n        else {\n          iVar17 = iVar17 + -1;\n          iVar19 = iVar17 * 2;\n          ppuVar7 = &puStack_58 + iVar17 * 6;\n          uVar9 = auStack_dc8[iVar17 * 6 + 1];\n          uVar18 = auStack_dc8[iVar17 * 6 + 2];\n          if ((uVar9 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if ((uVar9 & 0x10000) != 0) {\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if (auStack_dc8[(iVar19 + iVar17) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))();\n          return iVar2;\n        }\n        format = (char *)*puStack_100c;\n        uVar18 = (uint)*format;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      do {\n        pcStack_fcc = format;\n        iVar17 = (*(code *)maxlength)(uVar18 & 0xff,iVar2);\n        if (iVar17 == -1) goto code_r0x00034d9c;\n        format = pcStack_fcc + 1;\n        uVar18 = (uint)pcStack_fcc[1];\n        iVar3 = iVar3 + 1;\n        pcStack_fcc = format;\n        if (uVar18 == 0) goto code_r0x00034d9c;\n      } while (uVar18 != 0x25);\n    }\n  }" { (expression_statement "pcStack_fcc = format + 1;" (assignment_expression "pcStack_fcc = format + 1" identifier = (binary_expression "format + 1" identifier + number_literal)) ;) (if_statement "if (uVar18 == 0x25) {\n      if (format[1] == '%') {\n        pcStack_fcc = format + 2;\n        iVar17 = (*(code *)maxlength)(0x25,iVar2);\n        if (iVar17 == -1) break;\n        uVar18 = (uint)*pcStack_fcc;\n        iVar3 = iVar3 + 1;\n        format = pcStack_fcc;\n      }\n      else {\n        iVar17 = (*(code *)(iVar14 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar17 == 0) {\n          iVar19 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar9 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar18 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar17 = iStack_1010;\n          if ((uVar9 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if ((int)auStack_dc8[uVar18 * 6 + 5] < 0) {\n            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);\n          }\n        }\n        else {\n          iVar17 = iVar17 + -1;\n          iVar19 = iVar17 * 2;\n          ppuVar7 = &puStack_58 + iVar17 * 6;\n          uVar9 = auStack_dc8[iVar17 * 6 + 1];\n          uVar18 = auStack_dc8[iVar17 * 6 + 2];\n          if ((uVar9 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if ((uVar9 & 0x10000) != 0) {\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if (auStack_dc8[(iVar19 + iVar17) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))();\n          return iVar2;\n        }\n        format = (char *)*puStack_100c;\n        uVar18 = (uint)*format;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      do {\n        pcStack_fcc = format;\n        iVar17 = (*(code *)maxlength)(uVar18 & 0xff,iVar2);\n        if (iVar17 == -1) goto code_r0x00034d9c;\n        format = pcStack_fcc + 1;\n        uVar18 = (uint)pcStack_fcc[1];\n        iVar3 = iVar3 + 1;\n        pcStack_fcc = format;\n        if (uVar18 == 0) goto code_r0x00034d9c;\n      } while (uVar18 != 0x25);\n    }" if (parenthesized_expression "(uVar18 == 0x25)" ( (binary_expression "uVar18 == 0x25" identifier == number_literal) )) (compound_statement "{\n      if (format[1] == '%') {\n        pcStack_fcc = format + 2;\n        iVar17 = (*(code *)maxlength)(0x25,iVar2);\n        if (iVar17 == -1) break;\n        uVar18 = (uint)*pcStack_fcc;\n        iVar3 = iVar3 + 1;\n        format = pcStack_fcc;\n      }\n      else {\n        iVar17 = (*(code *)(iVar14 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar17 == 0) {\n          iVar19 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar9 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar18 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar17 = iStack_1010;\n          if ((uVar9 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if ((int)auStack_dc8[uVar18 * 6 + 5] < 0) {\n            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);\n          }\n        }\n        else {\n          iVar17 = iVar17 + -1;\n          iVar19 = iVar17 * 2;\n          ppuVar7 = &puStack_58 + iVar17 * 6;\n          uVar9 = auStack_dc8[iVar17 * 6 + 1];\n          uVar18 = auStack_dc8[iVar17 * 6 + 2];\n          if ((uVar9 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if ((uVar9 & 0x10000) != 0) {\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if (auStack_dc8[(iVar19 + iVar17) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))();\n          return iVar2;\n        }\n        format = (char *)*puStack_100c;\n        uVar18 = (uint)*format;\n        puStack_100c = puStack_100c + 1;\n      }\n    }" { (if_statement "if (format[1] == '%') {\n        pcStack_fcc = format + 2;\n        iVar17 = (*(code *)maxlength)(0x25,iVar2);\n        if (iVar17 == -1) break;\n        uVar18 = (uint)*pcStack_fcc;\n        iVar3 = iVar3 + 1;\n        format = pcStack_fcc;\n      }\n      else {\n        iVar17 = (*(code *)(iVar14 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar17 == 0) {\n          iVar19 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar9 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar18 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar17 = iStack_1010;\n          if ((uVar9 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if ((int)auStack_dc8[uVar18 * 6 + 5] < 0) {\n            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);\n          }\n        }\n        else {\n          iVar17 = iVar17 + -1;\n          iVar19 = iVar17 * 2;\n          ppuVar7 = &puStack_58 + iVar17 * 6;\n          uVar9 = auStack_dc8[iVar17 * 6 + 1];\n          uVar18 = auStack_dc8[iVar17 * 6 + 2];\n          if ((uVar9 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if ((uVar9 & 0x10000) != 0) {\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if (auStack_dc8[(iVar19 + iVar17) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))();\n          return iVar2;\n        }\n        format = (char *)*puStack_100c;\n        uVar18 = (uint)*format;\n        puStack_100c = puStack_100c + 1;\n      }" if (parenthesized_expression "(format[1] == '%')" ( (binary_expression "format[1] == '%'" (subscript_expression "format[1]" identifier [ number_literal ]) == (char_literal "'%'" ' character ')) )) (compound_statement "{\n        pcStack_fcc = format + 2;\n        iVar17 = (*(code *)maxlength)(0x25,iVar2);\n        if (iVar17 == -1) break;\n        uVar18 = (uint)*pcStack_fcc;\n        iVar3 = iVar3 + 1;\n        format = pcStack_fcc;\n      }" { (expression_statement "pcStack_fcc = format + 2;" (assignment_expression "pcStack_fcc = format + 2" identifier = (binary_expression "format + 2" identifier + number_literal)) ;) (expression_statement "iVar17 = (*(code *)maxlength)(0x25,iVar2);" (assignment_expression "iVar17 = (*(code *)maxlength)(0x25,iVar2)" identifier = (call_expression "(*(code *)maxlength)(0x25,iVar2)" (parenthesized_expression "(*(code *)maxlength)" ( (pointer_expression "*(code *)maxlength" * (cast_expression "(code *)maxlength" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x25,iVar2)" ( number_literal , identifier )))) ;) (if_statement "if (iVar17 == -1) break;" if (parenthesized_expression "(iVar17 == -1)" ( (binary_expression "iVar17 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar18 = (uint)*pcStack_fcc;" (assignment_expression "uVar18 = (uint)*pcStack_fcc" identifier = (binary_expression "(uint)*pcStack_fcc" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "format = pcStack_fcc;" (assignment_expression "format = pcStack_fcc" identifier = identifier) ;) }) (else_clause "else {\n        iVar17 = (*(code *)(iVar14 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar17 == 0) {\n          iVar19 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar9 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar18 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar17 = iStack_1010;\n          if ((uVar9 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if ((int)auStack_dc8[uVar18 * 6 + 5] < 0) {\n            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);\n          }\n        }\n        else {\n          iVar17 = iVar17 + -1;\n          iVar19 = iVar17 * 2;\n          ppuVar7 = &puStack_58 + iVar17 * 6;\n          uVar9 = auStack_dc8[iVar17 * 6 + 1];\n          uVar18 = auStack_dc8[iVar17 * 6 + 2];\n          if ((uVar9 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if ((uVar9 & 0x10000) != 0) {\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if (auStack_dc8[(iVar19 + iVar17) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))();\n          return iVar2;\n        }\n        format = (char *)*puStack_100c;\n        uVar18 = (uint)*format;\n        puStack_100c = puStack_100c + 1;\n      }" else (compound_statement "{\n        iVar17 = (*(code *)(iVar14 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar17 == 0) {\n          iVar19 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar9 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar18 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar17 = iStack_1010;\n          if ((uVar9 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if ((int)auStack_dc8[uVar18 * 6 + 5] < 0) {\n            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);\n          }\n        }\n        else {\n          iVar17 = iVar17 + -1;\n          iVar19 = iVar17 * 2;\n          ppuVar7 = &puStack_58 + iVar17 * 6;\n          uVar9 = auStack_dc8[iVar17 * 6 + 1];\n          uVar18 = auStack_dc8[iVar17 * 6 + 2];\n          if ((uVar9 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if ((uVar9 & 0x10000) != 0) {\n          iStack_1010 = iStack_1010 + 1;\n        }\n        if (auStack_dc8[(iVar19 + iVar17) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))();\n          return iVar2;\n        }\n        format = (char *)*puStack_100c;\n        uVar18 = (uint)*format;\n        puStack_100c = puStack_100c + 1;\n      }" { (expression_statement "iVar17 = (*(code *)(iVar14 + 0x4a08))(pcStack_fcc,&pcStack_fcc);" (assignment_expression "iVar17 = (*(code *)(iVar14 + 0x4a08))(pcStack_fcc,&pcStack_fcc)" identifier = (call_expression "(*(code *)(iVar14 + 0x4a08))(pcStack_fcc,&pcStack_fcc)" (parenthesized_expression "(*(code *)(iVar14 + 0x4a08))" ( (pointer_expression "*(code *)(iVar14 + 0x4a08)" * (cast_expression "(code *)(iVar14 + 0x4a08)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x4a08)" ( (binary_expression "iVar14 + 0x4a08" identifier + number_literal) )))) )) (argument_list "(pcStack_fcc,&pcStack_fcc)" ( identifier , (pointer_expression "&pcStack_fcc" & identifier) )))) ;) (if_statement "if (iVar17 == 0) {\n          iVar19 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar9 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar18 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar17 = iStack_1010;\n          if ((uVar9 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if ((int)auStack_dc8[uVar18 * 6 + 5] < 0) {\n            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);\n          }\n        }\n        else {\n          iVar17 = iVar17 + -1;\n          iVar19 = iVar17 * 2;\n          ppuVar7 = &puStack_58 + iVar17 * 6;\n          uVar9 = auStack_dc8[iVar17 * 6 + 1];\n          uVar18 = auStack_dc8[iVar17 * 6 + 2];\n          if ((uVar9 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\n        }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar19 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar9 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar18 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar17 = iStack_1010;\n          if ((uVar9 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if ((int)auStack_dc8[uVar18 * 6 + 5] < 0) {\n            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);\n          }\n        }" { (expression_statement "iVar19 = iStack_1010 * 2;" (assignment_expression "iVar19 = iStack_1010 * 2" identifier = (binary_expression "iStack_1010 * 2" identifier * number_literal)) ;) (expression_statement "ppuVar7 = &puStack_58 + iStack_1010 * 6;" (assignment_expression "ppuVar7 = &puStack_58 + iStack_1010 * 6" identifier = (binary_expression "&puStack_58 + iStack_1010 * 6" (pointer_expression "&puStack_58" & identifier) + (binary_expression "iStack_1010 * 6" identifier * number_literal))) ;) (expression_statement "uVar9 = auStack_dc8[iStack_1010 * 6 + 1];" (assignment_expression "uVar9 = auStack_dc8[iStack_1010 * 6 + 1]" identifier = (subscript_expression "auStack_dc8[iStack_1010 * 6 + 1]" identifier [ (binary_expression "iStack_1010 * 6 + 1" (binary_expression "iStack_1010 * 6" identifier * number_literal) + number_literal) ])) ;) (expression_statement "uVar18 = auStack_dc8[iStack_1010 * 6 + 2];" (assignment_expression "uVar18 = auStack_dc8[iStack_1010 * 6 + 2]" identifier = (subscript_expression "auStack_dc8[iStack_1010 * 6 + 2]" identifier [ (binary_expression "iStack_1010 * 6 + 2" (binary_expression "iStack_1010 * 6" identifier * number_literal) + number_literal) ])) ;) (expression_statement "iVar17 = iStack_1010;" (assignment_expression "iVar17 = iStack_1010" identifier = identifier) ;) (if_statement "if ((uVar9 & 0x4000) == 0) goto LAB_00034ee8;" if (parenthesized_expression "((uVar9 & 0x4000) == 0)" ( (binary_expression "(uVar9 & 0x4000) == 0" (parenthesized_expression "(uVar9 & 0x4000)" ( (binary_expression "uVar9 & 0x4000" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00034ee8;" goto statement_identifier ;)) (labeled_statement "LAB_00035014:\n          iStack_1010 = iStack_1010 + 2;" statement_identifier : (expression_statement "iStack_1010 = iStack_1010 + 2;" (assignment_expression "iStack_1010 = iStack_1010 + 2" identifier = (binary_expression "iStack_1010 + 2" identifier + number_literal)) ;)) (if_statement "if ((int)auStack_dc8[uVar18 * 6 + 5] < 0) {\n            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);\n          }" if (parenthesized_expression "((int)auStack_dc8[uVar18 * 6 + 5] < 0)" ( (binary_expression "(int)auStack_dc8[uVar18 * 6 + 5] < 0" (cast_expression "(int)auStack_dc8[uVar18 * 6 + 5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "auStack_dc8[uVar18 * 6 + 5]" identifier [ (binary_expression "uVar18 * 6 + 5" (binary_expression "uVar18 * 6" identifier * number_literal) + number_literal) ])) < number_literal) )) (compound_statement "{\n            ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);\n          }" { (expression_statement "ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4);" (assignment_expression "ppuVar7[-0x35b] = (undefined *)(uVar9 & 0xfffffeff | 4)" (subscript_expression "ppuVar7[-0x35b]" identifier [ number_literal ]) = (cast_expression "(undefined *)(uVar9 & 0xfffffeff | 4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar9 & 0xfffffeff | 4)" ( (binary_expression "uVar9 & 0xfffffeff | 4" (binary_expression "uVar9 & 0xfffffeff" identifier & number_literal) | number_literal) )))) ;) })) }) (else_clause "else {\n          iVar17 = iVar17 + -1;\n          iVar19 = iVar17 * 2;\n          ppuVar7 = &puStack_58 + iVar17 * 6;\n          uVar9 = auStack_dc8[iVar17 * 6 + 1];\n          uVar18 = auStack_dc8[iVar17 * 6 + 2];\n          if ((uVar9 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\n        }" else (compound_statement "{\n          iVar17 = iVar17 + -1;\n          iVar19 = iVar17 * 2;\n          ppuVar7 = &puStack_58 + iVar17 * 6;\n          uVar9 = auStack_dc8[iVar17 * 6 + 1];\n          uVar18 = auStack_dc8[iVar17 * 6 + 2];\n          if ((uVar9 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\n        }" { (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "iVar19 = iVar17 * 2;" (assignment_expression "iVar19 = iVar17 * 2" identifier = (binary_expression "iVar17 * 2" identifier * number_literal)) ;) (expression_statement "ppuVar7 = &puStack_58 + iVar17 * 6;" (assignment_expression "ppuVar7 = &puStack_58 + iVar17 * 6" identifier = (binary_expression "&puStack_58 + iVar17 * 6" (pointer_expression "&puStack_58" & identifier) + (binary_expression "iVar17 * 6" identifier * number_literal))) ;) (expression_statement "uVar9 = auStack_dc8[iVar17 * 6 + 1];" (assignment_expression "uVar9 = auStack_dc8[iVar17 * 6 + 1]" identifier = (subscript_expression "auStack_dc8[iVar17 * 6 + 1]" identifier [ (binary_expression "iVar17 * 6 + 1" (binary_expression "iVar17 * 6" identifier * number_literal) + number_literal) ])) ;) (expression_statement "uVar18 = auStack_dc8[iVar17 * 6 + 2];" (assignment_expression "uVar18 = auStack_dc8[iVar17 * 6 + 2]" identifier = (subscript_expression "auStack_dc8[iVar17 * 6 + 2]" identifier [ (binary_expression "iVar17 * 6 + 2" (binary_expression "iVar17 * 6" identifier * number_literal) + number_literal) ])) ;) (if_statement "if ((uVar9 & 0x4000) != 0) goto LAB_00035014;" if (parenthesized_expression "((uVar9 & 0x4000) != 0)" ( (binary_expression "(uVar9 & 0x4000) != 0" (parenthesized_expression "(uVar9 & 0x4000)" ( (binary_expression "uVar9 & 0x4000" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00035014;" goto statement_identifier ;)) (labeled_statement "LAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;" statement_identifier : (expression_statement "iStack_1010 = iStack_1010 + 1;" (assignment_expression "iStack_1010 = iStack_1010 + 1" identifier = (binary_expression "iStack_1010 + 1" identifier + number_literal)) ;)) }))) (if_statement "if ((uVar9 & 0x10000) != 0) {\n          iStack_1010 = iStack_1010 + 1;\n        }" if (parenthesized_expression "((uVar9 & 0x10000) != 0)" ( (binary_expression "(uVar9 & 0x10000) != 0" (parenthesized_expression "(uVar9 & 0x10000)" ( (binary_expression "uVar9 & 0x10000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          iStack_1010 = iStack_1010 + 1;\n        }" { (expression_statement "iStack_1010 = iStack_1010 + 1;" (assignment_expression "iStack_1010 = iStack_1010 + 1" identifier = (binary_expression "iStack_1010 + 1" identifier + number_literal)) ;) })) (if_statement "if (auStack_dc8[(iVar19 + iVar17) * 2] < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))();\n          return iVar2;\n        }" if (parenthesized_expression "(auStack_dc8[(iVar19 + iVar17) * 2] < 8)" ( (binary_expression "auStack_dc8[(iVar19 + iVar17) * 2] < 8" (subscript_expression "auStack_dc8[(iVar19 + iVar17) * 2]" identifier [ (binary_expression "(iVar19 + iVar17) * 2" (parenthesized_expression "(iVar19 + iVar17)" ( (binary_expression "iVar19 + iVar17" identifier + identifier) )) * number_literal) ]) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))();\n          return iVar2;\n        }" { comment comment (expression_statement "iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))();" (assignment_expression "iVar2 = (*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))()" identifier = (call_expression "(*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))()" (parenthesized_expression "(*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4))" ( (pointer_expression "*(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4)" * (cast_expression "(code *)(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4)" ( (binary_expression "puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4) + 0x795e4" (binary_expression "puVar20 +\n                            *(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4)" identifier + (pointer_expression "*(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4)" * (cast_expression "(int *)(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4)" ( (binary_expression "*(int *)(puVar20 + 0x71668) + -0x50a8 +\n                                    auStack_dc8[(iVar19 + iVar17) * 2] * 4" (binary_expression "*(int *)(puVar20 + 0x71668) + -0x50a8" (pointer_expression "*(int *)(puVar20 + 0x71668)" * (cast_expression "(int *)(puVar20 + 0x71668)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x71668)" ( (binary_expression "puVar20 + 0x71668" identifier + number_literal) )))) + number_literal) + (binary_expression "auStack_dc8[(iVar19 + iVar17) * 2] * 4" (subscript_expression "auStack_dc8[(iVar19 + iVar17) * 2]" identifier [ (binary_expression "(iVar19 + iVar17) * 2" (parenthesized_expression "(iVar19 + iVar17)" ( (binary_expression "iVar19 + iVar17" identifier + identifier) )) * number_literal) ]) * number_literal)) ))))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar2;" return identifier ;) })) (expression_statement "format = (char *)*puStack_100c;" (assignment_expression "format = (char *)*puStack_100c" identifier = (cast_expression "(char *)*puStack_100c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puStack_100c" * identifier))) ;) (expression_statement "uVar18 = (uint)*format;" (assignment_expression "uVar18 = (uint)*format" identifier = (binary_expression "(uint)*format" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "puStack_100c = puStack_100c + 1;" (assignment_expression "puStack_100c = puStack_100c + 1" identifier = (binary_expression "puStack_100c + 1" identifier + number_literal)) ;) }))) }) (else_clause "else {\n      do {\n        pcStack_fcc = format;\n        iVar17 = (*(code *)maxlength)(uVar18 & 0xff,iVar2);\n        if (iVar17 == -1) goto code_r0x00034d9c;\n        format = pcStack_fcc + 1;\n        uVar18 = (uint)pcStack_fcc[1];\n        iVar3 = iVar3 + 1;\n        pcStack_fcc = format;\n        if (uVar18 == 0) goto code_r0x00034d9c;\n      } while (uVar18 != 0x25);\n    }" else (compound_statement "{\n      do {\n        pcStack_fcc = format;\n        iVar17 = (*(code *)maxlength)(uVar18 & 0xff,iVar2);\n        if (iVar17 == -1) goto code_r0x00034d9c;\n        format = pcStack_fcc + 1;\n        uVar18 = (uint)pcStack_fcc[1];\n        iVar3 = iVar3 + 1;\n        pcStack_fcc = format;\n        if (uVar18 == 0) goto code_r0x00034d9c;\n      } while (uVar18 != 0x25);\n    }" { (do_statement "do {\n        pcStack_fcc = format;\n        iVar17 = (*(code *)maxlength)(uVar18 & 0xff,iVar2);\n        if (iVar17 == -1) goto code_r0x00034d9c;\n        format = pcStack_fcc + 1;\n        uVar18 = (uint)pcStack_fcc[1];\n        iVar3 = iVar3 + 1;\n        pcStack_fcc = format;\n        if (uVar18 == 0) goto code_r0x00034d9c;\n      } while (uVar18 != 0x25);" do (compound_statement "{\n        pcStack_fcc = format;\n        iVar17 = (*(code *)maxlength)(uVar18 & 0xff,iVar2);\n        if (iVar17 == -1) goto code_r0x00034d9c;\n        format = pcStack_fcc + 1;\n        uVar18 = (uint)pcStack_fcc[1];\n        iVar3 = iVar3 + 1;\n        pcStack_fcc = format;\n        if (uVar18 == 0) goto code_r0x00034d9c;\n      }" { (expression_statement "pcStack_fcc = format;" (assignment_expression "pcStack_fcc = format" identifier = identifier) ;) (expression_statement "iVar17 = (*(code *)maxlength)(uVar18 & 0xff,iVar2);" (assignment_expression "iVar17 = (*(code *)maxlength)(uVar18 & 0xff,iVar2)" identifier = (call_expression "(*(code *)maxlength)(uVar18 & 0xff,iVar2)" (parenthesized_expression "(*(code *)maxlength)" ( (pointer_expression "*(code *)maxlength" * (cast_expression "(code *)maxlength" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar18 & 0xff,iVar2)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) , identifier )))) ;) (if_statement "if (iVar17 == -1) goto code_r0x00034d9c;" if (parenthesized_expression "(iVar17 == -1)" ( (binary_expression "iVar17 == -1" identifier == number_literal) )) (goto_statement "goto code_r0x00034d9c;" goto statement_identifier ;)) (expression_statement "format = pcStack_fcc + 1;" (assignment_expression "format = pcStack_fcc + 1" identifier = (binary_expression "pcStack_fcc + 1" identifier + number_literal)) ;) (expression_statement "uVar18 = (uint)pcStack_fcc[1];" (assignment_expression "uVar18 = (uint)pcStack_fcc[1]" identifier = (cast_expression "(uint)pcStack_fcc[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pcStack_fcc[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "pcStack_fcc = format;" (assignment_expression "pcStack_fcc = format" identifier = identifier) ;) (if_statement "if (uVar18 == 0) goto code_r0x00034d9c;" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00034d9c;" goto statement_identifier ;)) }) while (parenthesized_expression "(uVar18 != 0x25)" ( (binary_expression "uVar18 != 0x25" identifier != number_literal) )) ;) }))) })) (labeled_statement "code_r0x00034d9c:\n  if (iStack_5c != *piVar4) {\n    (**(code **)(puVar20 + 0x72128))();\n    iVar2 = FUN_00034d9c();\n    return iVar2;\n  }" statement_identifier : (if_statement "if (iStack_5c != *piVar4) {\n    (**(code **)(puVar20 + 0x72128))();\n    iVar2 = FUN_00034d9c();\n    return iVar2;\n  }" if (parenthesized_expression "(iStack_5c != *piVar4)" ( (binary_expression "iStack_5c != *piVar4" identifier != (pointer_expression "*piVar4" * identifier)) )) (compound_statement "{\n    (**(code **)(puVar20 + 0x72128))();\n    iVar2 = FUN_00034d9c();\n    return iVar2;\n  }" { (expression_statement "(**(code **)(puVar20 + 0x72128))();" (call_expression "(**(code **)(puVar20 + 0x72128))()" (parenthesized_expression "(**(code **)(puVar20 + 0x72128))" ( (pointer_expression "**(code **)(puVar20 + 0x72128)" * (pointer_expression "*(code **)(puVar20 + 0x72128)" * (cast_expression "(code **)(puVar20 + 0x72128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x72128)" ( (binary_expression "puVar20 + 0x72128" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar2 = FUN_00034d9c();" (assignment_expression "iVar2 = FUN_00034d9c()" identifier = (call_expression "FUN_00034d9c()" identifier (argument_list "()" ( )))) ;) (return_statement "return iVar2;" return identifier ;) }))) (return_statement "return iVar3;" return identifier ;) })))
(translation_unit "code * curl_msnprintf(undefined4 param_1,code *param_2,char *param_3,uint param_4)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  code *pcVar3;\n  int *piVar4;\n  char *pcVar5;\n  uint *puVar6;\n  undefined **ppuVar7;\n  uint uVar8;\n  int iVar9;\n  uint uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  code *pcVar19;\n  uint uVar20;\n  undefined *puVar21;\n  uint local_resc;\n  int iStack_1010;\n  undefined4 *puStack_100c;\n  char *pcStack_fcc;\n  undefined4 auStack_fc8 [128];\n  uint auStack_dc8 [859];\n  int iStack_5c;\n  undefined *puStack_58;\n  \n  puVar1 = PTR___stack_chk_guard_000a6fe0;\n  puVar12 = &local_resc;\n  iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;\n  local_resc = param_4;\n  pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)();\n  if (iVar2 == *(int *)puVar1) {\n    return pcVar3;\n  }\n  puVar21 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  piVar4 = *(int **)(puVar21 + 0x724b4);\n  iVar15 = *(int *)(puVar21 + 0x71668);\n  uVar20 = 0;\n  puStack_58 = puVar1;\n  iVar18 = *(int *)(puVar21 + 0x71858);\n  iVar9 = (int)*param_3;\n  iStack_5c = *piVar4;\n  pcStack_fcc = param_3;\n  puVar17 = auStack_fc8;\n  uVar10 = 0;\n  while (pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }\n  if (uVar20 != 0) {\n    iVar9 = *(int *)(puVar21 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar11 = puVar6 + uVar20 * 6;\n    do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);\n  }\n  iVar9 = *(int *)(puVar21 + 0x71858);\n  pcVar19 = (code *)0x0;\n  iStack_1010 = 0;\n  uVar20 = (uint)*param_3;\n  puStack_100c = auStack_fc8;\n  while (pcStack_fcc = param_3, uVar20 != 0) {\n    pcStack_fcc = param_3 + 1;\n    if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }\n  }\nLAB_00034d9c:\n  while (iStack_5c != *piVar4) {\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }\n  return pcVar19;\n}\n\n" (function_definition "code * curl_msnprintf(undefined4 param_1,code *param_2,char *param_3,uint param_4)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  code *pcVar3;\n  int *piVar4;\n  char *pcVar5;\n  uint *puVar6;\n  undefined **ppuVar7;\n  uint uVar8;\n  int iVar9;\n  uint uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  code *pcVar19;\n  uint uVar20;\n  undefined *puVar21;\n  uint local_resc;\n  int iStack_1010;\n  undefined4 *puStack_100c;\n  char *pcStack_fcc;\n  undefined4 auStack_fc8 [128];\n  uint auStack_dc8 [859];\n  int iStack_5c;\n  undefined *puStack_58;\n  \n  puVar1 = PTR___stack_chk_guard_000a6fe0;\n  puVar12 = &local_resc;\n  iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;\n  local_resc = param_4;\n  pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)();\n  if (iVar2 == *(int *)puVar1) {\n    return pcVar3;\n  }\n  puVar21 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  piVar4 = *(int **)(puVar21 + 0x724b4);\n  iVar15 = *(int *)(puVar21 + 0x71668);\n  uVar20 = 0;\n  puStack_58 = puVar1;\n  iVar18 = *(int *)(puVar21 + 0x71858);\n  iVar9 = (int)*param_3;\n  iStack_5c = *piVar4;\n  pcStack_fcc = param_3;\n  puVar17 = auStack_fc8;\n  uVar10 = 0;\n  while (pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }\n  if (uVar20 != 0) {\n    iVar9 = *(int *)(puVar21 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar11 = puVar6 + uVar20 * 6;\n    do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);\n  }\n  iVar9 = *(int *)(puVar21 + 0x71858);\n  pcVar19 = (code *)0x0;\n  iStack_1010 = 0;\n  uVar20 = (uint)*param_3;\n  puStack_100c = auStack_fc8;\n  while (pcStack_fcc = param_3, uVar20 != 0) {\n    pcStack_fcc = param_3 + 1;\n    if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }\n  }\nLAB_00034d9c:\n  while (iStack_5c != *piVar4) {\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }\n  return pcVar19;\n}" type_identifier (pointer_declarator "* curl_msnprintf(undefined4 param_1,code *param_2,char *param_3,uint param_4)" * (function_declarator "curl_msnprintf(undefined4 param_1,code *param_2,char *param_3,uint param_4)" identifier (parameter_list "(undefined4 param_1,code *param_2,char *param_3,uint param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "code *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint param_4" type_identifier identifier) )))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  code *pcVar3;\n  int *piVar4;\n  char *pcVar5;\n  uint *puVar6;\n  undefined **ppuVar7;\n  uint uVar8;\n  int iVar9;\n  uint uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  code *pcVar19;\n  uint uVar20;\n  undefined *puVar21;\n  uint local_resc;\n  int iStack_1010;\n  undefined4 *puStack_100c;\n  char *pcStack_fcc;\n  undefined4 auStack_fc8 [128];\n  uint auStack_dc8 [859];\n  int iStack_5c;\n  undefined *puStack_58;\n  \n  puVar1 = PTR___stack_chk_guard_000a6fe0;\n  puVar12 = &local_resc;\n  iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;\n  local_resc = param_4;\n  pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)();\n  if (iVar2 == *(int *)puVar1) {\n    return pcVar3;\n  }\n  puVar21 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  piVar4 = *(int **)(puVar21 + 0x724b4);\n  iVar15 = *(int *)(puVar21 + 0x71668);\n  uVar20 = 0;\n  puStack_58 = puVar1;\n  iVar18 = *(int *)(puVar21 + 0x71858);\n  iVar9 = (int)*param_3;\n  iStack_5c = *piVar4;\n  pcStack_fcc = param_3;\n  puVar17 = auStack_fc8;\n  uVar10 = 0;\n  while (pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }\n  if (uVar20 != 0) {\n    iVar9 = *(int *)(puVar21 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar11 = puVar6 + uVar20 * 6;\n    do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);\n  }\n  iVar9 = *(int *)(puVar21 + 0x71858);\n  pcVar19 = (code *)0x0;\n  iStack_1010 = 0;\n  uVar20 = (uint)*param_3;\n  puStack_100c = auStack_fc8;\n  while (pcStack_fcc = param_3, uVar20 != 0) {\n    pcStack_fcc = param_3 + 1;\n    if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }\n  }\nLAB_00034d9c:\n  while (iStack_5c != *piVar4) {\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }\n  return pcVar19;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined **ppuVar7;" type_identifier (pointer_declarator "**ppuVar7" * (pointer_declarator "*ppuVar7" * identifier)) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "uint local_resc;" type_identifier identifier ;) (declaration "int iStack_1010;" primitive_type identifier ;) (declaration "undefined4 *puStack_100c;" type_identifier (pointer_declarator "*puStack_100c" * identifier) ;) (declaration "char *pcStack_fcc;" primitive_type (pointer_declarator "*pcStack_fcc" * identifier) ;) (declaration "undefined4 auStack_fc8 [128];" type_identifier (array_declarator "auStack_fc8 [128]" identifier [ number_literal ]) ;) (declaration "uint auStack_dc8 [859];" type_identifier (array_declarator "auStack_dc8 [859]" identifier [ number_literal ]) ;) (declaration "int iStack_5c;" primitive_type identifier ;) (declaration "undefined *puStack_58;" type_identifier (pointer_declarator "*puStack_58" * identifier) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000a6fe0;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000a6fe0" identifier = identifier) ;) (expression_statement "puVar12 = &local_resc;" (assignment_expression "puVar12 = &local_resc" identifier = (pointer_expression "&local_resc" & identifier)) ;) (expression_statement "iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;" (assignment_expression "iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000a6fe0" * (cast_expression "(int *)PTR___stack_chk_guard_000a6fe0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (expression_statement "pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)();" (assignment_expression "pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)()" identifier = (cast_expression "(code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_curl_mvsnprintf_000a6e24)()" (parenthesized_expression "(*(code *)PTR_curl_mvsnprintf_000a6e24)" ( (pointer_expression "*(code *)PTR_curl_mvsnprintf_000a6e24" * (cast_expression "(code *)PTR_curl_mvsnprintf_000a6e24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (iVar2 == *(int *)puVar1) {\n    return pcVar3;\n  }" if (parenthesized_expression "(iVar2 == *(int *)puVar1)" ( (binary_expression "iVar2 == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return pcVar3;\n  }" { (return_statement "return pcVar3;" return identifier ;) })) (expression_statement "puVar21 = PTR___stack_chk_fail_000a6c54;" (assignment_expression "puVar21 = PTR___stack_chk_fail_000a6c54" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000a6c54)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a6c54)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a6c54)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000a6c54" * (cast_expression "(code *)PTR___stack_chk_fail_000a6c54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar4 = *(int **)(puVar21 + 0x724b4);" (assignment_expression "piVar4 = *(int **)(puVar21 + 0x724b4)" identifier = (pointer_expression "*(int **)(puVar21 + 0x724b4)" * (cast_expression "(int **)(puVar21 + 0x724b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x724b4)" ( (binary_expression "puVar21 + 0x724b4" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(puVar21 + 0x71668);" (assignment_expression "iVar15 = *(int *)(puVar21 + 0x71668)" identifier = (pointer_expression "*(int *)(puVar21 + 0x71668)" * (cast_expression "(int *)(puVar21 + 0x71668)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x71668)" ( (binary_expression "puVar21 + 0x71668" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "puStack_58 = puVar1;" (assignment_expression "puStack_58 = puVar1" identifier = identifier) ;) (expression_statement "iVar18 = *(int *)(puVar21 + 0x71858);" (assignment_expression "iVar18 = *(int *)(puVar21 + 0x71858)" identifier = (pointer_expression "*(int *)(puVar21 + 0x71858)" * (cast_expression "(int *)(puVar21 + 0x71858)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x71858)" ( (binary_expression "puVar21 + 0x71858" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = (int)*param_3;" (assignment_expression "iVar9 = (int)*param_3" identifier = (cast_expression "(int)*param_3" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*param_3" * identifier))) ;) (expression_statement "iStack_5c = *piVar4;" (assignment_expression "iStack_5c = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "pcStack_fcc = param_3;" (assignment_expression "pcStack_fcc = param_3" identifier = identifier) ;) (expression_statement "puVar17 = auStack_fc8;" (assignment_expression "puVar17 = auStack_fc8" identifier = identifier) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (while_statement "while (pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }" while (parenthesized_expression "(pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0)" ( (comma_expression "pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0" (assignment_expression "pcVar5 = pcStack_fcc + 1" identifier = (binary_expression "pcStack_fcc + 1" identifier + number_literal)) , (comma_expression "pcVar3 = param_2, iVar9 != 0" (assignment_expression "pcVar3 = param_2" identifier = identifier) , (binary_expression "iVar9 != 0" identifier != number_literal))) )) (compound_statement "{\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }" { (if_statement "if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }" if (parenthesized_expression "(*pcStack_fcc == '%')" ( (binary_expression "*pcStack_fcc == '%'" (pointer_expression "*pcStack_fcc" * identifier) == (char_literal "'%'" ' character ')) )) (compound_statement "{\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }" { (if_statement "if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }" if (parenthesized_expression "(pcStack_fcc[1] == '%')" ( (binary_expression "pcStack_fcc[1] == '%'" (subscript_expression "pcStack_fcc[1]" identifier [ number_literal ]) == (char_literal "'%'" ' character ')) )) (compound_statement "{\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }" { (expression_statement "iVar9 = (int)pcStack_fcc[2];" (assignment_expression "iVar9 = (int)pcStack_fcc[2]" identifier = (cast_expression "(int)pcStack_fcc[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcStack_fcc[2]" identifier [ number_literal ]))) ;) (expression_statement "pcStack_fcc = pcStack_fcc + 2;" (assignment_expression "pcStack_fcc = pcStack_fcc + 2" identifier = (binary_expression "pcStack_fcc + 2" identifier + number_literal)) ;) }) (else_clause "else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }" else (compound_statement "{\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }" { (expression_statement "pcStack_fcc = pcVar5;" (assignment_expression "pcStack_fcc = pcVar5" identifier = identifier) ;) (expression_statement "uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);" (assignment_expression "uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc)" identifier = (call_expression "(*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc)" (parenthesized_expression "(*(code *)(iVar18 + 0x4a08))" ( (pointer_expression "*(code *)(iVar18 + 0x4a08)" * (cast_expression "(code *)(iVar18 + 0x4a08)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x4a08)" ( (binary_expression "iVar18 + 0x4a08" identifier + number_literal) )))) )) (argument_list "(pcVar5,&pcStack_fcc)" ( identifier , (pointer_expression "&pcStack_fcc" & identifier) )))) ;) (expression_statement "uVar14 = uVar10 + 1;" (assignment_expression "uVar14 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = uVar14;" (assignment_expression "uVar13 = uVar14" identifier = identifier) ;) (if_statement "if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }" { (expression_statement "uVar10 = uVar8 - 1;" (assignment_expression "uVar10 = uVar8 - 1" identifier = (binary_expression "uVar8 - 1" identifier - number_literal)) ;) (expression_statement "uVar13 = uVar8;" (assignment_expression "uVar13 = uVar8" identifier = identifier) ;) })) (if_statement "if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }" if (parenthesized_expression "((int)uVar20 < (int)uVar13)" ( (binary_expression "(int)uVar20 < (int)uVar13" (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          uVar20 = uVar13;\n        }" { (expression_statement "uVar20 = uVar13;" (assignment_expression "uVar20 = uVar13" identifier = identifier) ;) })) (expression_statement "iVar9 = (int)*pcStack_fcc;" (assignment_expression "iVar9 = (int)*pcStack_fcc" identifier = (cast_expression "(int)*pcStack_fcc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcStack_fcc" * identifier))) ;) (expression_statement "uVar13 = iVar9 - 0x20U & 0xff;" (assignment_expression "uVar13 = iVar9 - 0x20U & 0xff" identifier = (binary_expression "iVar9 - 0x20U & 0xff" (binary_expression "iVar9 - 0x20U" identifier - number_literal) & number_literal)) ;) (if_statement "if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }" if (parenthesized_expression "(uVar13 < 0x5b)" ( (binary_expression "uVar13 < 0x5b" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }" { (expression_statement "pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();" (assignment_expression "pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ()" identifier = (cast_expression "(code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ()" (parenthesized_expression "(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))" ( (pointer_expression "*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4)" * (cast_expression "(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4)" ( (binary_expression "puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4" (binary_expression "puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4)" identifier + (pointer_expression "*(int *)(iVar15 + -0x5088 + uVar13 * 4)" * (cast_expression "(int *)(iVar15 + -0x5088 + uVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x5088 + uVar13 * 4)" ( (binary_expression "iVar15 + -0x5088 + uVar13 * 4" (binary_expression "iVar15 + -0x5088" identifier + number_literal) + (binary_expression "uVar13 * 4" identifier * number_literal)) ))))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar3;" return identifier ;) })) (if_statement "if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }" if (parenthesized_expression "(0x7f < uVar10)" ( (binary_expression "0x7f < uVar10" number_literal < identifier) )) (compound_statement "{\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }" { (expression_statement "pcVar19 = (code *)0xffffffff;" (assignment_expression "pcVar19 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00034d9c;" goto statement_identifier ;) })) (expression_statement "uVar13 = iVar9 - 0x45U & 0xff;" (assignment_expression "uVar13 = iVar9 - 0x45U & 0xff" identifier = (binary_expression "iVar9 - 0x45U & 0xff" (binary_expression "iVar9 - 0x45U" identifier - number_literal) & number_literal)) ;) (if_statement "if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }" if (parenthesized_expression "(uVar13 < 0x34)" ( (binary_expression "uVar13 < 0x34" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }" { (expression_statement "pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();" (assignment_expression "pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))()" identifier = (cast_expression "(code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))()" (parenthesized_expression "(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))" ( (pointer_expression "*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4)" * (cast_expression "(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4)" ( (binary_expression "puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4" (binary_expression "puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4)" identifier + (pointer_expression "*(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4)" * (cast_expression "(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4)" ( (binary_expression "*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4" (binary_expression "*(int *)(puVar21 + 0x71668) + -0x4db0" (pointer_expression "*(int *)(puVar21 + 0x71668)" * (cast_expression "(int *)(puVar21 + 0x71668)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x71668)" ( (binary_expression "puVar21 + 0x71668" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar13 * 4" identifier * number_literal)) ))))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar3;" return identifier ;) })) (expression_statement "auStack_dc8[uVar10 * 6] = 0;" (assignment_expression "auStack_dc8[uVar10 * 6] = 0" (subscript_expression "auStack_dc8[uVar10 * 6]" identifier [ (binary_expression "uVar10 * 6" identifier * number_literal) ]) = number_literal) ;) (expression_statement "auStack_dc8[uVar10 * 6 + 1] = 0;" (assignment_expression "auStack_dc8[uVar10 * 6 + 1] = 0" (subscript_expression "auStack_dc8[uVar10 * 6 + 1]" identifier [ (binary_expression "uVar10 * 6 + 1" (binary_expression "uVar10 * 6" identifier * number_literal) + number_literal) ]) = number_literal) ;) (expression_statement "auStack_dc8[uVar10 * 6 + 2] = 0;" (assignment_expression "auStack_dc8[uVar10 * 6 + 2] = 0" (subscript_expression "auStack_dc8[uVar10 * 6 + 2]" identifier [ (binary_expression "uVar10 * 6 + 2" (binary_expression "uVar10 * 6" identifier * number_literal) + number_literal) ]) = number_literal) ;) (expression_statement "auStack_dc8[uVar10 * 6 + 3] = 0;" (assignment_expression "auStack_dc8[uVar10 * 6 + 3] = 0" (subscript_expression "auStack_dc8[uVar10 * 6 + 3]" identifier [ (binary_expression "uVar10 * 6 + 3" (binary_expression "uVar10 * 6" identifier * number_literal) + number_literal) ]) = number_literal) ;) (expression_statement "*puVar17 = pcStack_fcc + 1;" (assignment_expression "*puVar17 = pcStack_fcc + 1" (pointer_expression "*puVar17" * identifier) = (binary_expression "pcStack_fcc + 1" identifier + number_literal)) ;) (expression_statement "puVar17 = puVar17 + 1;" (assignment_expression "puVar17 = puVar17 + 1" identifier = (binary_expression "puVar17 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = uVar14;" (assignment_expression "uVar10 = uVar14" identifier = identifier) ;) }))) }) (else_clause "else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }" else (compound_statement "{\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }" { (expression_statement "iVar9 = (int)pcStack_fcc[1];" (assignment_expression "iVar9 = (int)pcStack_fcc[1]" identifier = (cast_expression "(int)pcStack_fcc[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcStack_fcc[1]" identifier [ number_literal ]))) ;) (expression_statement "pcStack_fcc = pcVar5;" (assignment_expression "pcStack_fcc = pcVar5" identifier = identifier) ;) }))) })) (if_statement "if (uVar20 != 0) {\n    iVar9 = *(int *)(puVar21 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar11 = puVar6 + uVar20 * 6;\n    do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);\n  }" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar9 = *(int *)(puVar21 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar11 = puVar6 + uVar20 * 6;\n    do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);\n  }" { (expression_statement "iVar9 = *(int *)(puVar21 + 0x71668);" (assignment_expression "iVar9 = *(int *)(puVar21 + 0x71668)" identifier = (pointer_expression "*(int *)(puVar21 + 0x71668)" * (cast_expression "(int *)(puVar21 + 0x71668)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x71668)" ( (binary_expression "puVar21 + 0x71668" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = auStack_dc8;" (assignment_expression "puVar6 = auStack_dc8" identifier = identifier) ;) (expression_statement "puVar11 = puVar6 + uVar20 * 6;" (assignment_expression "puVar11 = puVar6 + uVar20 * 6" identifier = (binary_expression "puVar6 + uVar20 * 6" identifier + (binary_expression "uVar20 * 6" identifier * number_literal))) ;) (do_statement "do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);" do (compound_statement "{\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    }" { (expression_statement "uVar20 = puVar6[1];" (assignment_expression "uVar20 = puVar6[1]" identifier = (subscript_expression "puVar6[1]" identifier [ number_literal ])) ;) (expression_statement "puVar16 = puVar12;" (assignment_expression "puVar16 = puVar12" identifier = identifier) ;) (if_statement "if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }" if (parenthesized_expression "((uVar20 & 0x4000) != 0)" ( (binary_expression "(uVar20 & 0x4000) != 0" (parenthesized_expression "(uVar20 & 0x4000)" ( (binary_expression "uVar20 & 0x4000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }" { (expression_statement "uVar13 = puVar6[2];" (assignment_expression "uVar13 = puVar6[2]" identifier = (subscript_expression "puVar6[2]" identifier [ number_literal ])) ;) (expression_statement "puVar16 = puVar12 + 1;" (assignment_expression "puVar16 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = *puVar12;" (assignment_expression "uVar10 = *puVar12" identifier = (pointer_expression "*puVar12" * identifier)) ;) (expression_statement "auStack_dc8[uVar13 * 6 + 5] = uVar10;" (assignment_expression "auStack_dc8[uVar13 * 6 + 5] = uVar10" (subscript_expression "auStack_dc8[uVar13 * 6 + 5]" identifier [ (binary_expression "uVar13 * 6 + 5" (binary_expression "uVar13 * 6" identifier * number_literal) + number_literal) ]) = identifier) ;) (expression_statement "auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;" (assignment_expression "auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f" (subscript_expression "auStack_dc8[uVar13 * 6 + 4]" identifier [ (binary_expression "uVar13 * 6 + 4" (binary_expression "uVar13 * 6" identifier * number_literal) + number_literal) ]) = (binary_expression "(int)uVar10 >> 0x1f" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) })) (expression_statement "puVar12 = puVar16;" (assignment_expression "puVar12 = puVar16" identifier = identifier) ;) (if_statement "if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }" if (parenthesized_expression "((uVar20 & 0x10000) != 0)" ( (binary_expression "(uVar20 & 0x10000) != 0" (parenthesized_expression "(uVar20 & 0x10000)" ( (binary_expression "uVar20 & 0x10000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }" { (expression_statement "uVar10 = puVar6[3];" (assignment_expression "uVar10 = puVar6[3]" identifier = (subscript_expression "puVar6[3]" identifier [ number_literal ])) ;) (expression_statement "puVar12 = puVar16 + 1;" (assignment_expression "puVar12 = puVar16 + 1" identifier = (binary_expression "puVar16 + 1" identifier + number_literal)) ;) (expression_statement "uVar20 = *puVar16;" (assignment_expression "uVar20 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "auStack_dc8[uVar10 * 6 + 5] = uVar20;" (assignment_expression "auStack_dc8[uVar10 * 6 + 5] = uVar20" (subscript_expression "auStack_dc8[uVar10 * 6 + 5]" identifier [ (binary_expression "uVar10 * 6 + 5" (binary_expression "uVar10 * 6" identifier * number_literal) + number_literal) ]) = identifier) ;) (expression_statement "auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;" (assignment_expression "auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f" (subscript_expression "auStack_dc8[uVar10 * 6 + 4]" identifier [ (binary_expression "uVar10 * 6 + 4" (binary_expression "uVar10 * 6" identifier * number_literal) + number_literal) ]) = (binary_expression "(int)uVar20 >> 0x1f" (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) })) (if_statement "if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }" if (parenthesized_expression "(*puVar6 < 10)" ( (binary_expression "*puVar6 < 10" (pointer_expression "*puVar6" * identifier) < number_literal) )) (compound_statement "{\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }" { (expression_statement "pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();" (assignment_expression "pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))()" identifier = (cast_expression "(code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))()" (parenthesized_expression "(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))" ( (pointer_expression "*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4)" * (cast_expression "(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4)" ( (binary_expression "puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4" (binary_expression "puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4)" identifier + (pointer_expression "*(int *)(iVar9 + -0x50d0 + *puVar6 * 4)" * (cast_expression "(int *)(iVar9 + -0x50d0 + *puVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x50d0 + *puVar6 * 4)" ( (binary_expression "iVar9 + -0x50d0 + *puVar6 * 4" (binary_expression "iVar9 + -0x50d0" identifier + number_literal) + (binary_expression "*puVar6 * 4" (pointer_expression "*puVar6" * identifier) * number_literal)) ))))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar3;" return identifier ;) })) (expression_statement "puVar6 = puVar6 + 6;" (assignment_expression "puVar6 = puVar6 + 6" identifier = (binary_expression "puVar6 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar6 != puVar11)" ( (binary_expression "puVar6 != puVar11" identifier != identifier) )) ;) })) (expression_statement "iVar9 = *(int *)(puVar21 + 0x71858);" (assignment_expression "iVar9 = *(int *)(puVar21 + 0x71858)" identifier = (pointer_expression "*(int *)(puVar21 + 0x71858)" * (cast_expression "(int *)(puVar21 + 0x71858)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x71858)" ( (binary_expression "puVar21 + 0x71858" identifier + number_literal) ))))) ;) (expression_statement "pcVar19 = (code *)0x0;" (assignment_expression "pcVar19 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_1010 = 0;" (assignment_expression "iStack_1010 = 0" identifier = number_literal) ;) (expression_statement "uVar20 = (uint)*param_3;" (assignment_expression "uVar20 = (uint)*param_3" identifier = (binary_expression "(uint)*param_3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "puStack_100c = auStack_fc8;" (assignment_expression "puStack_100c = auStack_fc8" identifier = identifier) ;) (while_statement "while (pcStack_fcc = param_3, uVar20 != 0) {\n    pcStack_fcc = param_3 + 1;\n    if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }\n  }" while (parenthesized_expression "(pcStack_fcc = param_3, uVar20 != 0)" ( (comma_expression "pcStack_fcc = param_3, uVar20 != 0" (assignment_expression "pcStack_fcc = param_3" identifier = identifier) , (binary_expression "uVar20 != 0" identifier != number_literal)) )) (compound_statement "{\n    pcStack_fcc = param_3 + 1;\n    if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }\n  }" { (expression_statement "pcStack_fcc = param_3 + 1;" (assignment_expression "pcStack_fcc = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (if_statement "if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }" if (parenthesized_expression "(uVar20 == 0x25)" ( (binary_expression "uVar20 == 0x25" identifier == number_literal) )) (compound_statement "{\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }" { (if_statement "if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }" if (parenthesized_expression "(param_3[1] == '%')" ( (binary_expression "param_3[1] == '%'" (subscript_expression "param_3[1]" identifier [ number_literal ]) == (char_literal "'%'" ' character ')) )) (compound_statement "{\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }" { (expression_statement "pcStack_fcc = param_3 + 2;" (assignment_expression "pcStack_fcc = param_3 + 2" identifier = (binary_expression "param_3 + 2" identifier + number_literal)) ;) (expression_statement "iVar15 = (*param_2)(0x25,iVar2);" (assignment_expression "iVar15 = (*param_2)(0x25,iVar2)" identifier = (call_expression "(*param_2)(0x25,iVar2)" (parenthesized_expression "(*param_2)" ( (pointer_expression "*param_2" * identifier) )) (argument_list "(0x25,iVar2)" ( number_literal , identifier )))) ;) (if_statement "if (iVar15 == -1) break;" if (parenthesized_expression "(iVar15 == -1)" ( (binary_expression "iVar15 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar20 = (uint)*pcStack_fcc;" (assignment_expression "uVar20 = (uint)*pcStack_fcc" identifier = (binary_expression "(uint)*pcStack_fcc" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pcVar19 = pcVar19 + 1;" (assignment_expression "pcVar19 = pcVar19 + 1" identifier = (binary_expression "pcVar19 + 1" identifier + number_literal)) ;) (expression_statement "param_3 = pcStack_fcc;" (assignment_expression "param_3 = pcStack_fcc" identifier = identifier) ;) }) (else_clause "else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }" else (compound_statement "{\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }" { (expression_statement "iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);" (assignment_expression "iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc)" identifier = (call_expression "(*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc)" (parenthesized_expression "(*(code *)(iVar9 + 0x4a08))" ( (pointer_expression "*(code *)(iVar9 + 0x4a08)" * (cast_expression "(code *)(iVar9 + 0x4a08)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x4a08)" ( (binary_expression "iVar9 + 0x4a08" identifier + number_literal) )))) )) (argument_list "(pcStack_fcc,&pcStack_fcc)" ( identifier , (pointer_expression "&pcStack_fcc" & identifier) )))) ;) (if_statement "if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }" { (expression_statement "iVar18 = iStack_1010 * 2;" (assignment_expression "iVar18 = iStack_1010 * 2" identifier = (binary_expression "iStack_1010 * 2" identifier * number_literal)) ;) (expression_statement "ppuVar7 = &puStack_58 + iStack_1010 * 6;" (assignment_expression "ppuVar7 = &puStack_58 + iStack_1010 * 6" identifier = (binary_expression "&puStack_58 + iStack_1010 * 6" (pointer_expression "&puStack_58" & identifier) + (binary_expression "iStack_1010 * 6" identifier * number_literal))) ;) (expression_statement "uVar10 = auStack_dc8[iStack_1010 * 6 + 1];" (assignment_expression "uVar10 = auStack_dc8[iStack_1010 * 6 + 1]" identifier = (subscript_expression "auStack_dc8[iStack_1010 * 6 + 1]" identifier [ (binary_expression "iStack_1010 * 6 + 1" (binary_expression "iStack_1010 * 6" identifier * number_literal) + number_literal) ])) ;) (expression_statement "uVar20 = auStack_dc8[iStack_1010 * 6 + 2];" (assignment_expression "uVar20 = auStack_dc8[iStack_1010 * 6 + 2]" identifier = (subscript_expression "auStack_dc8[iStack_1010 * 6 + 2]" identifier [ (binary_expression "iStack_1010 * 6 + 2" (binary_expression "iStack_1010 * 6" identifier * number_literal) + number_literal) ])) ;) (expression_statement "iVar15 = iStack_1010;" (assignment_expression "iVar15 = iStack_1010" identifier = identifier) ;) (if_statement "if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;" if (parenthesized_expression "((uVar10 & 0x4000) == 0)" ( (binary_expression "(uVar10 & 0x4000) == 0" (parenthesized_expression "(uVar10 & 0x4000)" ( (binary_expression "uVar10 & 0x4000" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00034ee8;" goto statement_identifier ;)) (labeled_statement "LAB_00035014:\n          iStack_1010 = iStack_1010 + 2;" statement_identifier : (expression_statement "iStack_1010 = iStack_1010 + 2;" (assignment_expression "iStack_1010 = iStack_1010 + 2" identifier = (binary_expression "iStack_1010 + 2" identifier + number_literal)) ;)) (if_statement "if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;" if (parenthesized_expression "(-1 < (int)auStack_dc8[uVar20 * 6 + 5])" ( (binary_expression "-1 < (int)auStack_dc8[uVar20 * 6 + 5]" number_literal < (cast_expression "(int)auStack_dc8[uVar20 * 6 + 5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "auStack_dc8[uVar20 * 6 + 5]" identifier [ (binary_expression "uVar20 * 6 + 5" (binary_expression "uVar20 * 6" identifier * number_literal) + number_literal) ]))) )) (goto_statement "goto LAB_00034efc;" goto statement_identifier ;)) (expression_statement "ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);" (assignment_expression "ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4)" (subscript_expression "ppuVar7[-0x35b]" identifier [ number_literal ]) = (cast_expression "(undefined *)(uVar10 & 0xfffffeff | 4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 & 0xfffffeff | 4)" ( (binary_expression "uVar10 & 0xfffffeff | 4" (binary_expression "uVar10 & 0xfffffeff" identifier & number_literal) | number_literal) )))) ;) (if_statement "if ((uVar10 & 0x10000) == 0) goto LAB_00035060;" if (parenthesized_expression "((uVar10 & 0x10000) == 0)" ( (binary_expression "(uVar10 & 0x10000) == 0" (parenthesized_expression "(uVar10 & 0x10000)" ( (binary_expression "uVar10 & 0x10000" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00035060;" goto statement_identifier ;)) (labeled_statement "LAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;" statement_identifier : (expression_statement "iStack_1010 = iStack_1010 + 1;" (assignment_expression "iStack_1010 = iStack_1010 + 1" identifier = (binary_expression "iStack_1010 + 1" identifier + number_literal)) ;)) (expression_statement "pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];" (assignment_expression "pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5]" identifier = (cast_expression "(code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5]" identifier [ (binary_expression "auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5" (binary_expression "auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6" (subscript_expression "auStack_dc8[(iVar18 + iVar15) * 2 + 3]" identifier [ (binary_expression "(iVar18 + iVar15) * 2 + 3" (binary_expression "(iVar18 + iVar15) * 2" (parenthesized_expression "(iVar18 + iVar15)" ( (binary_expression "iVar18 + iVar15" identifier + identifier) )) * number_literal) + number_literal) ]) * number_literal) + number_literal) ]))) ;) (if_statement "if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }" if (parenthesized_expression "((int)pcVar3 < 0)" ( (binary_expression "(int)pcVar3 < 0" (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            pcVar3 = (code *)0xffffffff;\n          }" { (expression_statement "pcVar3 = (code *)0xffffffff;" (assignment_expression "pcVar3 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) (else_clause "else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }" else (compound_statement "{\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }" { (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "iVar18 = iVar15 * 2;" (assignment_expression "iVar18 = iVar15 * 2" identifier = (binary_expression "iVar15 * 2" identifier * number_literal)) ;) (expression_statement "ppuVar7 = &puStack_58 + iVar15 * 6;" (assignment_expression "ppuVar7 = &puStack_58 + iVar15 * 6" identifier = (binary_expression "&puStack_58 + iVar15 * 6" (pointer_expression "&puStack_58" & identifier) + (binary_expression "iVar15 * 6" identifier * number_literal))) ;) (expression_statement "uVar10 = auStack_dc8[iVar15 * 6 + 1];" (assignment_expression "uVar10 = auStack_dc8[iVar15 * 6 + 1]" identifier = (subscript_expression "auStack_dc8[iVar15 * 6 + 1]" identifier [ (binary_expression "iVar15 * 6 + 1" (binary_expression "iVar15 * 6" identifier * number_literal) + number_literal) ])) ;) (expression_statement "uVar20 = auStack_dc8[iVar15 * 6 + 2];" (assignment_expression "uVar20 = auStack_dc8[iVar15 * 6 + 2]" identifier = (subscript_expression "auStack_dc8[iVar15 * 6 + 2]" identifier [ (binary_expression "iVar15 * 6 + 2" (binary_expression "iVar15 * 6" identifier * number_literal) + number_literal) ])) ;) (if_statement "if ((uVar10 & 0x4000) != 0) goto LAB_00035014;" if (parenthesized_expression "((uVar10 & 0x4000) != 0)" ( (binary_expression "(uVar10 & 0x4000) != 0" (parenthesized_expression "(uVar10 & 0x4000)" ( (binary_expression "uVar10 & 0x4000" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00035014;" goto statement_identifier ;)) (labeled_statement "LAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;" statement_identifier : (expression_statement "iStack_1010 = iStack_1010 + 1;" (assignment_expression "iStack_1010 = iStack_1010 + 1" identifier = (binary_expression "iStack_1010 + 1" identifier + number_literal)) ;)) (labeled_statement "LAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;" statement_identifier : (if_statement "if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;" if (parenthesized_expression "((uVar10 & 0x10000) != 0)" ( (binary_expression "(uVar10 & 0x10000) != 0" (parenthesized_expression "(uVar10 & 0x10000)" ( (binary_expression "uVar10 & 0x10000" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00034f08;" goto statement_identifier ;))) (labeled_statement "LAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }" statement_identifier : (if_statement "if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }" if (parenthesized_expression "((uVar10 & 0x8000) == 0)" ( (binary_expression "(uVar10 & 0x8000) == 0" (parenthesized_expression "(uVar10 & 0x8000)" ( (binary_expression "uVar10 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            pcVar3 = (code *)0xffffffff;\n          }" { (expression_statement "pcVar3 = (code *)0xffffffff;" (assignment_expression "pcVar3 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }" else (compound_statement "{\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }" { (expression_statement "pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];" (assignment_expression "pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3]" identifier = (cast_expression "(code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_dc8[(iVar18 + iVar15) * 2 + 3]" identifier [ (binary_expression "(iVar18 + iVar15) * 2 + 3" (binary_expression "(iVar18 + iVar15) * 2" (parenthesized_expression "(iVar18 + iVar15)" ( (binary_expression "iVar18 + iVar15" identifier + identifier) )) * number_literal) + number_literal) ]))) ;) })))) }))) (if_statement "if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }" if (parenthesized_expression "(auStack_dc8[(iVar18 + iVar15) * 2] < 8)" ( (binary_expression "auStack_dc8[(iVar18 + iVar15) * 2] < 8" (subscript_expression "auStack_dc8[(iVar18 + iVar15) * 2]" identifier [ (binary_expression "(iVar18 + iVar15) * 2" (parenthesized_expression "(iVar18 + iVar15)" ( (binary_expression "iVar18 + iVar15" identifier + identifier) )) * number_literal) ]) < number_literal) )) (compound_statement "{\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }" { (expression_statement "pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();" (assignment_expression "pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))()" identifier = (cast_expression "(code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))()" (parenthesized_expression "(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))" ( (pointer_expression "*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4)" * (cast_expression "(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4)" ( (binary_expression "puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4" (binary_expression "puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4)" identifier + (pointer_expression "*(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4)" * (cast_expression "(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4)" ( (binary_expression "*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4" (binary_expression "*(int *)(puVar21 + 0x71668) + -0x50a8" (pointer_expression "*(int *)(puVar21 + 0x71668)" * (cast_expression "(int *)(puVar21 + 0x71668)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x71668)" ( (binary_expression "puVar21 + 0x71668" identifier + number_literal) )))) + number_literal) + (binary_expression "auStack_dc8[(iVar18 + iVar15) * 2] * 4" (subscript_expression "auStack_dc8[(iVar18 + iVar15) * 2]" identifier [ (binary_expression "(iVar18 + iVar15) * 2" (parenthesized_expression "(iVar18 + iVar15)" ( (binary_expression "iVar18 + iVar15" identifier + identifier) )) * number_literal) ]) * number_literal)) ))))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar3;" return identifier ;) })) (expression_statement "param_3 = (char *)*puStack_100c;" (assignment_expression "param_3 = (char *)*puStack_100c" identifier = (cast_expression "(char *)*puStack_100c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puStack_100c" * identifier))) ;) (expression_statement "uVar20 = (uint)*param_3;" (assignment_expression "uVar20 = (uint)*param_3" identifier = (binary_expression "(uint)*param_3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "puStack_100c = puStack_100c + 1;" (assignment_expression "puStack_100c = puStack_100c + 1" identifier = (binary_expression "puStack_100c + 1" identifier + number_literal)) ;) }))) }) (else_clause "else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }" else (compound_statement "{\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }" { (expression_statement "pcVar3 = (code *)&DAT_00000025;" (assignment_expression "pcVar3 = (code *)&DAT_00000025" identifier = (cast_expression "(code *)&DAT_00000025" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000025" & identifier))) ;) (expression_statement "pcStack_fcc = param_3;" (assignment_expression "pcStack_fcc = param_3" identifier = identifier) ;) (do_statement "do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);" do (compound_statement "{\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      }" { (expression_statement "iVar15 = (*param_2)(uVar20 & 0xff,iVar2);" (assignment_expression "iVar15 = (*param_2)(uVar20 & 0xff,iVar2)" identifier = (call_expression "(*param_2)(uVar20 & 0xff,iVar2)" (parenthesized_expression "(*param_2)" ( (pointer_expression "*param_2" * identifier) )) (argument_list "(uVar20 & 0xff,iVar2)" ( (binary_expression "uVar20 & 0xff" identifier & number_literal) , identifier )))) ;) (if_statement "if (iVar15 == -1) goto LAB_00034d9c;" if (parenthesized_expression "(iVar15 == -1)" ( (binary_expression "iVar15 == -1" identifier == number_literal) )) (goto_statement "goto LAB_00034d9c;" goto statement_identifier ;)) (expression_statement "param_3 = pcStack_fcc + 1;" (assignment_expression "param_3 = pcStack_fcc + 1" identifier = (binary_expression "pcStack_fcc + 1" identifier + number_literal)) ;) (expression_statement "uVar20 = (uint)pcStack_fcc[1];" (assignment_expression "uVar20 = (uint)pcStack_fcc[1]" identifier = (cast_expression "(uint)pcStack_fcc[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pcStack_fcc[1]" identifier [ number_literal ]))) ;) (expression_statement "pcVar19 = pcVar19 + 1;" (assignment_expression "pcVar19 = pcVar19 + 1" identifier = (binary_expression "pcVar19 + 1" identifier + number_literal)) ;) (expression_statement "pcStack_fcc = param_3;" (assignment_expression "pcStack_fcc = param_3" identifier = identifier) ;) (if_statement "if (uVar20 == 0) goto LAB_00034d9c;" if (parenthesized_expression "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00034d9c;" goto statement_identifier ;)) }) while (parenthesized_expression "(uVar20 != 0x25)" ( (binary_expression "uVar20 != 0x25" identifier != number_literal) )) ;) }))) })) (labeled_statement "LAB_00034d9c:\n  while (iStack_5c != *piVar4) {\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }" statement_identifier : (while_statement "while (iStack_5c != *piVar4) {\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }" while (parenthesized_expression "(iStack_5c != *piVar4)" ( (binary_expression "iStack_5c != *piVar4" identifier != (pointer_expression "*piVar4" * identifier)) )) (compound_statement "{\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }" { (expression_statement "(**(code **)(puVar21 + 0x72128))();" (call_expression "(**(code **)(puVar21 + 0x72128))()" (parenthesized_expression "(**(code **)(puVar21 + 0x72128))" ( (pointer_expression "**(code **)(puVar21 + 0x72128)" * (pointer_expression "*(code **)(puVar21 + 0x72128)" * (cast_expression "(code **)(puVar21 + 0x72128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x72128)" ( (binary_expression "puVar21 + 0x72128" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar19 = pcVar3;" (assignment_expression "pcVar19 = pcVar3" identifier = identifier) ;) }))) (return_statement "return pcVar19;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (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 (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) + LIT) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (binary_expression IDENT * LIT)) ))))) + LIT) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT * LIT) ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) (if_statement if (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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) })) (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (pointer_expression * IDENT) * LIT)) ))))) + LIT) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) )) (compound_statement { (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 (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT & LIT) | LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ (binary_expression (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT) + LIT) ]) * LIT) + LIT) ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT) + LIT) ]))) ;) })))) }))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT) ]) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (binary_expression (subscript_expression IDENT [ (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT) ]) * LIT)) ))))) + LIT) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT & LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) }))) })) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (return_statement return IDENT ;) })))
(function_definition "code * curl_msnprintf(undefined4 param_1,code *param_2,char *param_3,uint param_4)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  code *pcVar3;\n  int *piVar4;\n  char *pcVar5;\n  uint *puVar6;\n  undefined **ppuVar7;\n  uint uVar8;\n  int iVar9;\n  uint uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  code *pcVar19;\n  uint uVar20;\n  undefined *puVar21;\n  uint local_resc;\n  int iStack_1010;\n  undefined4 *puStack_100c;\n  char *pcStack_fcc;\n  undefined4 auStack_fc8 [128];\n  uint auStack_dc8 [859];\n  int iStack_5c;\n  undefined *puStack_58;\n  \n  puVar1 = PTR___stack_chk_guard_000a6fe0;\n  puVar12 = &local_resc;\n  iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;\n  local_resc = param_4;\n  pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)();\n  if (iVar2 == *(int *)puVar1) {\n    return pcVar3;\n  }\n  puVar21 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  piVar4 = *(int **)(puVar21 + 0x724b4);\n  iVar15 = *(int *)(puVar21 + 0x71668);\n  uVar20 = 0;\n  puStack_58 = puVar1;\n  iVar18 = *(int *)(puVar21 + 0x71858);\n  iVar9 = (int)*param_3;\n  iStack_5c = *piVar4;\n  pcStack_fcc = param_3;\n  puVar17 = auStack_fc8;\n  uVar10 = 0;\n  while (pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }\n  if (uVar20 != 0) {\n    iVar9 = *(int *)(puVar21 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar11 = puVar6 + uVar20 * 6;\n    do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);\n  }\n  iVar9 = *(int *)(puVar21 + 0x71858);\n  pcVar19 = (code *)0x0;\n  iStack_1010 = 0;\n  uVar20 = (uint)*param_3;\n  puStack_100c = auStack_fc8;\n  while (pcStack_fcc = param_3, uVar20 != 0) {\n    pcStack_fcc = param_3 + 1;\n    if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }\n  }\nLAB_00034d9c:\n  while (iStack_5c != *piVar4) {\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }\n  return pcVar19;\n}" (type_identifier "code") (pointer_declarator "* curl_msnprintf(undefined4 param_1,code *param_2,char *param_3,uint param_4)" (* "*") (function_declarator "curl_msnprintf(undefined4 param_1,code *param_2,char *param_3,uint param_4)" (identifier "curl_msnprintf") (parameter_list "(undefined4 param_1,code *param_2,char *param_3,uint param_4)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "code *param_2" (type_identifier "code") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "char *param_3" (primitive_type "char") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) () ")")))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  code *pcVar3;\n  int *piVar4;\n  char *pcVar5;\n  uint *puVar6;\n  undefined **ppuVar7;\n  uint uVar8;\n  int iVar9;\n  uint uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  code *pcVar19;\n  uint uVar20;\n  undefined *puVar21;\n  uint local_resc;\n  int iStack_1010;\n  undefined4 *puStack_100c;\n  char *pcStack_fcc;\n  undefined4 auStack_fc8 [128];\n  uint auStack_dc8 [859];\n  int iStack_5c;\n  undefined *puStack_58;\n  \n  puVar1 = PTR___stack_chk_guard_000a6fe0;\n  puVar12 = &local_resc;\n  iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;\n  local_resc = param_4;\n  pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)();\n  if (iVar2 == *(int *)puVar1) {\n    return pcVar3;\n  }\n  puVar21 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  piVar4 = *(int **)(puVar21 + 0x724b4);\n  iVar15 = *(int *)(puVar21 + 0x71668);\n  uVar20 = 0;\n  puStack_58 = puVar1;\n  iVar18 = *(int *)(puVar21 + 0x71858);\n  iVar9 = (int)*param_3;\n  iStack_5c = *piVar4;\n  pcStack_fcc = param_3;\n  puVar17 = auStack_fc8;\n  uVar10 = 0;\n  while (pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }\n  if (uVar20 != 0) {\n    iVar9 = *(int *)(puVar21 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar11 = puVar6 + uVar20 * 6;\n    do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);\n  }\n  iVar9 = *(int *)(puVar21 + 0x71858);\n  pcVar19 = (code *)0x0;\n  iStack_1010 = 0;\n  uVar20 = (uint)*param_3;\n  puStack_100c = auStack_fc8;\n  while (pcStack_fcc = param_3, uVar20 != 0) {\n    pcStack_fcc = param_3 + 1;\n    if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }\n  }\nLAB_00034d9c:\n  while (iStack_5c != *piVar4) {\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }\n  return pcVar19;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "code *pcVar3;" (type_identifier "code") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "uint *puVar6;" (type_identifier "uint") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined **ppuVar7;" (type_identifier "undefined") (pointer_declarator "**ppuVar7" (* "*") (pointer_declarator "*ppuVar7" (* "*") (identifier "ppuVar7"))) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint *puVar11;" (type_identifier "uint") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "uint *puVar12;" (type_identifier "uint") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "uint *puVar16;" (type_identifier "uint") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "undefined4 *puVar17;" (type_identifier "undefined4") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "code *pcVar19;" (type_identifier "code") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "undefined *puVar21;" (type_identifier "undefined") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "uint local_resc;" (type_identifier "uint") (identifier "local_resc") (; ";")) (declaration "int iStack_1010;" (primitive_type "int") (identifier "iStack_1010") (; ";")) (declaration "undefined4 *puStack_100c;" (type_identifier "undefined4") (pointer_declarator "*puStack_100c" (* "*") (identifier "puStack_100c")) (; ";")) (declaration "char *pcStack_fcc;" (primitive_type "char") (pointer_declarator "*pcStack_fcc" (* "*") (identifier "pcStack_fcc")) (; ";")) (declaration "undefined4 auStack_fc8 [128];" (type_identifier "undefined4") (array_declarator "auStack_fc8 [128]" (identifier "auStack_fc8") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "uint auStack_dc8 [859];" (type_identifier "uint") (array_declarator "auStack_dc8 [859]" (identifier "auStack_dc8") ([ "[") (number_literal "859") (] "]")) (; ";")) (declaration "int iStack_5c;" (primitive_type "int") (identifier "iStack_5c") (; ";")) (declaration "undefined *puStack_58;" (type_identifier "undefined") (pointer_declarator "*puStack_58" (* "*") (identifier "puStack_58")) (; ";")) (expression_statement "puVar1 = PTR___stack_chk_guard_000a6fe0;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000a6fe0" (identifier "puVar1") (= "=") (identifier "PTR___stack_chk_guard_000a6fe0")) (; ";")) (expression_statement "puVar12 = &local_resc;" (assignment_expression "puVar12 = &local_resc" (identifier "puVar12") (= "=") (pointer_expression "&local_resc" (& "&") (identifier "local_resc"))) (; ";")) (expression_statement "iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;" (assignment_expression "iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0" (identifier "iVar2") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000a6fe0" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000a6fe0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000a6fe0")))) (; ";")) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" (identifier "local_resc") (= "=") (identifier "param_4")) (; ";")) (expression_statement "pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)();" (assignment_expression "pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)()" (identifier "pcVar3") (= "=") (cast_expression "(code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)()" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_curl_mvsnprintf_000a6e24)()" (parenthesized_expression "(*(code *)PTR_curl_mvsnprintf_000a6e24)" (( "(") (pointer_expression "*(code *)PTR_curl_mvsnprintf_000a6e24" (* "*") (cast_expression "(code *)PTR_curl_mvsnprintf_000a6e24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_curl_mvsnprintf_000a6e24"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (iVar2 == *(int *)puVar1) {\n    return pcVar3;\n  }" (if "if") (parenthesized_expression "(iVar2 == *(int *)puVar1)" (( "(") (binary_expression "iVar2 == *(int *)puVar1" (identifier "iVar2") (== "==") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) () ")")) (compound_statement "{\n    return pcVar3;\n  }" ({ "{") (return_statement "return pcVar3;" (return "return") (identifier "pcVar3") (; ";")) (} "}"))) (expression_statement "puVar21 = PTR___stack_chk_fail_000a6c54;" (assignment_expression "puVar21 = PTR___stack_chk_fail_000a6c54" (identifier "puVar21") (= "=") (identifier "PTR___stack_chk_fail_000a6c54")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000a6c54)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a6c54)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a6c54)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000a6c54" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000a6c54" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000a6c54"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar4 = *(int **)(puVar21 + 0x724b4);" (assignment_expression "piVar4 = *(int **)(puVar21 + 0x724b4)" (identifier "piVar4") (= "=") (pointer_expression "*(int **)(puVar21 + 0x724b4)" (* "*") (cast_expression "(int **)(puVar21 + 0x724b4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x724b4)" (( "(") (binary_expression "puVar21 + 0x724b4" (identifier "puVar21") (+ "+") (number_literal "0x724b4")) () ")"))))) (; ";")) (expression_statement "iVar15 = *(int *)(puVar21 + 0x71668);" (assignment_expression "iVar15 = *(int *)(puVar21 + 0x71668)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar21 + 0x71668)" (* "*") (cast_expression "(int *)(puVar21 + 0x71668)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x71668)" (( "(") (binary_expression "puVar21 + 0x71668" (identifier "puVar21") (+ "+") (number_literal "0x71668")) () ")"))))) (; ";")) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" (identifier "uVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_58 = puVar1;" (assignment_expression "puStack_58 = puVar1" (identifier "puStack_58") (= "=") (identifier "puVar1")) (; ";")) (expression_statement "iVar18 = *(int *)(puVar21 + 0x71858);" (assignment_expression "iVar18 = *(int *)(puVar21 + 0x71858)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(puVar21 + 0x71858)" (* "*") (cast_expression "(int *)(puVar21 + 0x71858)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x71858)" (( "(") (binary_expression "puVar21 + 0x71858" (identifier "puVar21") (+ "+") (number_literal "0x71858")) () ")"))))) (; ";")) (expression_statement "iVar9 = (int)*param_3;" (assignment_expression "iVar9 = (int)*param_3" (identifier "iVar9") (= "=") (cast_expression "(int)*param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*param_3" (* "*") (identifier "param_3")))) (; ";")) (expression_statement "iStack_5c = *piVar4;" (assignment_expression "iStack_5c = *piVar4" (identifier "iStack_5c") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (expression_statement "pcStack_fcc = param_3;" (assignment_expression "pcStack_fcc = param_3" (identifier "pcStack_fcc") (= "=") (identifier "param_3")) (; ";")) (expression_statement "puVar17 = auStack_fc8;" (assignment_expression "puVar17 = auStack_fc8" (identifier "puVar17") (= "=") (identifier "auStack_fc8")) (; ";")) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (while_statement "while (pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0) {\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }" (while "while") (parenthesized_expression "(pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0)" (( "(") (comma_expression "pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0" (assignment_expression "pcVar5 = pcStack_fcc + 1" (identifier "pcVar5") (= "=") (binary_expression "pcStack_fcc + 1" (identifier "pcStack_fcc") (+ "+") (number_literal "1"))) (, ",") (comma_expression "pcVar3 = param_2, iVar9 != 0" (assignment_expression "pcVar3 = param_2" (identifier "pcVar3") (= "=") (identifier "param_2")) (, ",") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")))) () ")")) (compound_statement "{\n    if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }\n  }" ({ "{") (if_statement "if (*pcStack_fcc == '%') {\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }\n    else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }" (if "if") (parenthesized_expression "(*pcStack_fcc == '%')" (( "(") (binary_expression "*pcStack_fcc == '%'" (pointer_expression "*pcStack_fcc" (* "*") (identifier "pcStack_fcc")) (== "==") (char_literal "'%'" (' "'") (character "%") (' "'"))) () ")")) (compound_statement "{\n      if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }\n    }" ({ "{") (if_statement "if (pcStack_fcc[1] == '%') {\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }\n      else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }" (if "if") (parenthesized_expression "(pcStack_fcc[1] == '%')" (( "(") (binary_expression "pcStack_fcc[1] == '%'" (subscript_expression "pcStack_fcc[1]" (identifier "pcStack_fcc") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'%'" (' "'") (character "%") (' "'"))) () ")")) (compound_statement "{\n        iVar9 = (int)pcStack_fcc[2];\n        pcStack_fcc = pcStack_fcc + 2;\n      }" ({ "{") (expression_statement "iVar9 = (int)pcStack_fcc[2];" (assignment_expression "iVar9 = (int)pcStack_fcc[2]" (identifier "iVar9") (= "=") (cast_expression "(int)pcStack_fcc[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pcStack_fcc[2]" (identifier "pcStack_fcc") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "pcStack_fcc = pcStack_fcc + 2;" (assignment_expression "pcStack_fcc = pcStack_fcc + 2" (identifier "pcStack_fcc") (= "=") (binary_expression "pcStack_fcc + 2" (identifier "pcStack_fcc") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }" (else "else") (compound_statement "{\n        pcStack_fcc = pcVar5;\n        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);\n        uVar14 = uVar10 + 1;\n        uVar13 = uVar14;\n        if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }\n        if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }\n        iVar9 = (int)*pcStack_fcc;\n        uVar13 = iVar9 - 0x20U & 0xff;\n        if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }\n        if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }\n        uVar13 = iVar9 - 0x45U & 0xff;\n        if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }\n        auStack_dc8[uVar10 * 6] = 0;\n        auStack_dc8[uVar10 * 6 + 1] = 0;\n        auStack_dc8[uVar10 * 6 + 2] = 0;\n        auStack_dc8[uVar10 * 6 + 3] = 0;\n        *puVar17 = pcStack_fcc + 1;\n        puVar17 = puVar17 + 1;\n        uVar10 = uVar14;\n      }" ({ "{") (expression_statement "pcStack_fcc = pcVar5;" (assignment_expression "pcStack_fcc = pcVar5" (identifier "pcStack_fcc") (= "=") (identifier "pcVar5")) (; ";")) (expression_statement "uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);" (assignment_expression "uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc)" (identifier "uVar8") (= "=") (call_expression "(*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc)" (parenthesized_expression "(*(code *)(iVar18 + 0x4a08))" (( "(") (pointer_expression "*(code *)(iVar18 + 0x4a08)" (* "*") (cast_expression "(code *)(iVar18 + 0x4a08)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x4a08)" (( "(") (binary_expression "iVar18 + 0x4a08" (identifier "iVar18") (+ "+") (number_literal "0x4a08")) () ")")))) () ")")) (argument_list "(pcVar5,&pcStack_fcc)" (( "(") (identifier "pcVar5") (, ",") (pointer_expression "&pcStack_fcc" (& "&") (identifier "pcStack_fcc")) () ")")))) (; ";")) (expression_statement "uVar14 = uVar10 + 1;" (assignment_expression "uVar14 = uVar10 + 1" (identifier "uVar14") (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar13 = uVar14;" (assignment_expression "uVar13 = uVar14" (identifier "uVar13") (= "=") (identifier "uVar14")) (; ";")) (if_statement "if (uVar8 != 0) {\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }" (if "if") (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar10 = uVar8 - 1;\n          uVar13 = uVar8;\n        }" ({ "{") (expression_statement "uVar10 = uVar8 - 1;" (assignment_expression "uVar10 = uVar8 - 1" (identifier "uVar10") (= "=") (binary_expression "uVar8 - 1" (identifier "uVar8") (- "-") (number_literal "1"))) (; ";")) (expression_statement "uVar13 = uVar8;" (assignment_expression "uVar13 = uVar8" (identifier "uVar13") (= "=") (identifier "uVar8")) (; ";")) (} "}"))) (if_statement "if ((int)uVar20 < (int)uVar13) {\n          uVar20 = uVar13;\n        }" (if "if") (parenthesized_expression "((int)uVar20 < (int)uVar13)" (( "(") (binary_expression "(int)uVar20 < (int)uVar13" (cast_expression "(int)uVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar20")) (< "<") (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13"))) () ")")) (compound_statement "{\n          uVar20 = uVar13;\n        }" ({ "{") (expression_statement "uVar20 = uVar13;" (assignment_expression "uVar20 = uVar13" (identifier "uVar20") (= "=") (identifier "uVar13")) (; ";")) (} "}"))) (expression_statement "iVar9 = (int)*pcStack_fcc;" (assignment_expression "iVar9 = (int)*pcStack_fcc" (identifier "iVar9") (= "=") (cast_expression "(int)*pcStack_fcc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pcStack_fcc" (* "*") (identifier "pcStack_fcc")))) (; ";")) (expression_statement "uVar13 = iVar9 - 0x20U & 0xff;" (assignment_expression "uVar13 = iVar9 - 0x20U & 0xff" (identifier "uVar13") (= "=") (binary_expression "iVar9 - 0x20U & 0xff" (binary_expression "iVar9 - 0x20U" (identifier "iVar9") (- "-") (number_literal "0x20U")) (& "&") (number_literal "0xff"))) (; ";")) (if_statement "if (uVar13 < 0x5b) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }" (if "if") (parenthesized_expression "(uVar13 < 0x5b)" (( "(") (binary_expression "uVar13 < 0x5b" (identifier "uVar13") (< "<") (number_literal "0x5b")) () ")")) (compound_statement "{\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();\n          return pcVar3;\n        }" ({ "{") (expression_statement "pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ();" (assignment_expression "pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ()" (identifier "pcVar3") (= "=") (cast_expression "(code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ()" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))\n                                     ()" (parenthesized_expression "(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))" (( "(") (pointer_expression "*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4)" (* "*") (cast_expression "(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4)" (( "(") (binary_expression "puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4" (binary_expression "puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4)" (identifier "puVar21") (+ "+") (pointer_expression "*(int *)(iVar15 + -0x5088 + uVar13 * 4)" (* "*") (cast_expression "(int *)(iVar15 + -0x5088 + uVar13 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + -0x5088 + uVar13 * 4)" (( "(") (binary_expression "iVar15 + -0x5088 + uVar13 * 4" (binary_expression "iVar15 + -0x5088" (identifier "iVar15") (+ "+") (number_literal "-0x5088")) (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")"))))) (+ "+") (number_literal "0x795e4")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return pcVar3;" (return "return") (identifier "pcVar3") (; ";")) (} "}"))) (if_statement "if (0x7f < uVar10) {\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }" (if "if") (parenthesized_expression "(0x7f < uVar10)" (( "(") (binary_expression "0x7f < uVar10" (number_literal "0x7f") (< "<") (identifier "uVar10")) () ")")) (compound_statement "{\n          pcVar19 = (code *)0xffffffff;\n          goto LAB_00034d9c;\n        }" ({ "{") (expression_statement "pcVar19 = (code *)0xffffffff;" (assignment_expression "pcVar19 = (code *)0xffffffff" (identifier "pcVar19") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (goto_statement "goto LAB_00034d9c;" (goto "goto") (statement_identifier "LAB_00034d9c") (; ";")) (} "}"))) (expression_statement "uVar13 = iVar9 - 0x45U & 0xff;" (assignment_expression "uVar13 = iVar9 - 0x45U & 0xff" (identifier "uVar13") (= "=") (binary_expression "iVar9 - 0x45U & 0xff" (binary_expression "iVar9 - 0x45U" (identifier "iVar9") (- "-") (number_literal "0x45U")) (& "&") (number_literal "0xff"))) (; ";")) (if_statement "if (uVar13 < 0x34) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }" (if "if") (parenthesized_expression "(uVar13 < 0x34)" (( "(") (binary_expression "uVar13 < 0x34" (identifier "uVar13") (< "<") (number_literal "0x34")) () ")")) (compound_statement "{\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();\n          return pcVar3;\n        }" ({ "{") (expression_statement "pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))();" (assignment_expression "pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))()" (identifier "pcVar3") (= "=") (cast_expression "(code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))()" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))()" (parenthesized_expression "(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4))" (( "(") (pointer_expression "*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4)" (* "*") (cast_expression "(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4)" (( "(") (binary_expression "puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +\n                                     0x795e4" (binary_expression "puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4)" (identifier "puVar21") (+ "+") (pointer_expression "*(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4)" (* "*") (cast_expression "(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4)" (( "(") (binary_expression "*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4" (binary_expression "*(int *)(puVar21 + 0x71668) + -0x4db0" (pointer_expression "*(int *)(puVar21 + 0x71668)" (* "*") (cast_expression "(int *)(puVar21 + 0x71668)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x71668)" (( "(") (binary_expression "puVar21 + 0x71668" (identifier "puVar21") (+ "+") (number_literal "0x71668")) () ")")))) (+ "+") (number_literal "-0x4db0")) (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")"))))) (+ "+") (number_literal "0x795e4")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return pcVar3;" (return "return") (identifier "pcVar3") (; ";")) (} "}"))) (expression_statement "auStack_dc8[uVar10 * 6] = 0;" (assignment_expression "auStack_dc8[uVar10 * 6] = 0" (subscript_expression "auStack_dc8[uVar10 * 6]" (identifier "auStack_dc8") ([ "[") (binary_expression "uVar10 * 6" (identifier "uVar10") (* "*") (number_literal "6")) (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auStack_dc8[uVar10 * 6 + 1] = 0;" (assignment_expression "auStack_dc8[uVar10 * 6 + 1] = 0" (subscript_expression "auStack_dc8[uVar10 * 6 + 1]" (identifier "auStack_dc8") ([ "[") (binary_expression "uVar10 * 6 + 1" (binary_expression "uVar10 * 6" (identifier "uVar10") (* "*") (number_literal "6")) (+ "+") (number_literal "1")) (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auStack_dc8[uVar10 * 6 + 2] = 0;" (assignment_expression "auStack_dc8[uVar10 * 6 + 2] = 0" (subscript_expression "auStack_dc8[uVar10 * 6 + 2]" (identifier "auStack_dc8") ([ "[") (binary_expression "uVar10 * 6 + 2" (binary_expression "uVar10 * 6" (identifier "uVar10") (* "*") (number_literal "6")) (+ "+") (number_literal "2")) (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auStack_dc8[uVar10 * 6 + 3] = 0;" (assignment_expression "auStack_dc8[uVar10 * 6 + 3] = 0" (subscript_expression "auStack_dc8[uVar10 * 6 + 3]" (identifier "auStack_dc8") ([ "[") (binary_expression "uVar10 * 6 + 3" (binary_expression "uVar10 * 6" (identifier "uVar10") (* "*") (number_literal "6")) (+ "+") (number_literal "3")) (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar17 = pcStack_fcc + 1;" (assignment_expression "*puVar17 = pcStack_fcc + 1" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (binary_expression "pcStack_fcc + 1" (identifier "pcStack_fcc") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar17 = puVar17 + 1;" (assignment_expression "puVar17 = puVar17 + 1" (identifier "puVar17") (= "=") (binary_expression "puVar17 + 1" (identifier "puVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar10 = uVar14;" (assignment_expression "uVar10 = uVar14" (identifier "uVar10") (= "=") (identifier "uVar14")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }" (else "else") (compound_statement "{\n      iVar9 = (int)pcStack_fcc[1];\n      pcStack_fcc = pcVar5;\n    }" ({ "{") (expression_statement "iVar9 = (int)pcStack_fcc[1];" (assignment_expression "iVar9 = (int)pcStack_fcc[1]" (identifier "iVar9") (= "=") (cast_expression "(int)pcStack_fcc[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pcStack_fcc[1]" (identifier "pcStack_fcc") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pcStack_fcc = pcVar5;" (assignment_expression "pcStack_fcc = pcVar5" (identifier "pcStack_fcc") (= "=") (identifier "pcVar5")) (; ";")) (} "}")))) (} "}"))) (if_statement "if (uVar20 != 0) {\n    iVar9 = *(int *)(puVar21 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar11 = puVar6 + uVar20 * 6;\n    do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);\n  }" (if "if") (parenthesized_expression "(uVar20 != 0)" (( "(") (binary_expression "uVar20 != 0" (identifier "uVar20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar9 = *(int *)(puVar21 + 0x71668);\n    puVar6 = auStack_dc8;\n    puVar11 = puVar6 + uVar20 * 6;\n    do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);\n  }" ({ "{") (expression_statement "iVar9 = *(int *)(puVar21 + 0x71668);" (assignment_expression "iVar9 = *(int *)(puVar21 + 0x71668)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar21 + 0x71668)" (* "*") (cast_expression "(int *)(puVar21 + 0x71668)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x71668)" (( "(") (binary_expression "puVar21 + 0x71668" (identifier "puVar21") (+ "+") (number_literal "0x71668")) () ")"))))) (; ";")) (expression_statement "puVar6 = auStack_dc8;" (assignment_expression "puVar6 = auStack_dc8" (identifier "puVar6") (= "=") (identifier "auStack_dc8")) (; ";")) (expression_statement "puVar11 = puVar6 + uVar20 * 6;" (assignment_expression "puVar11 = puVar6 + uVar20 * 6" (identifier "puVar11") (= "=") (binary_expression "puVar6 + uVar20 * 6" (identifier "puVar6") (+ "+") (binary_expression "uVar20 * 6" (identifier "uVar20") (* "*") (number_literal "6")))) (; ";")) (do_statement "do {\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    } while (puVar6 != puVar11);" (do "do") (compound_statement "{\n      uVar20 = puVar6[1];\n      puVar16 = puVar12;\n      if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }\n      puVar12 = puVar16;\n      if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }\n      if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }\n      puVar6 = puVar6 + 6;\n    }" ({ "{") (expression_statement "uVar20 = puVar6[1];" (assignment_expression "uVar20 = puVar6[1]" (identifier "uVar20") (= "=") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar16 = puVar12;" (assignment_expression "puVar16 = puVar12" (identifier "puVar16") (= "=") (identifier "puVar12")) (; ";")) (if_statement "if ((uVar20 & 0x4000) != 0) {\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }" (if "if") (parenthesized_expression "((uVar20 & 0x4000) != 0)" (( "(") (binary_expression "(uVar20 & 0x4000) != 0" (parenthesized_expression "(uVar20 & 0x4000)" (( "(") (binary_expression "uVar20 & 0x4000" (identifier "uVar20") (& "&") (number_literal "0x4000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar13 = puVar6[2];\n        puVar16 = puVar12 + 1;\n        uVar10 = *puVar12;\n        auStack_dc8[uVar13 * 6 + 5] = uVar10;\n        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;\n      }" ({ "{") (expression_statement "uVar13 = puVar6[2];" (assignment_expression "uVar13 = puVar6[2]" (identifier "uVar13") (= "=") (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "puVar16 = puVar12 + 1;" (assignment_expression "puVar16 = puVar12 + 1" (identifier "puVar16") (= "=") (binary_expression "puVar12 + 1" (identifier "puVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar10 = *puVar12;" (assignment_expression "uVar10 = *puVar12" (identifier "uVar10") (= "=") (pointer_expression "*puVar12" (* "*") (identifier "puVar12"))) (; ";")) (expression_statement "auStack_dc8[uVar13 * 6 + 5] = uVar10;" (assignment_expression "auStack_dc8[uVar13 * 6 + 5] = uVar10" (subscript_expression "auStack_dc8[uVar13 * 6 + 5]" (identifier "auStack_dc8") ([ "[") (binary_expression "uVar13 * 6 + 5" (binary_expression "uVar13 * 6" (identifier "uVar13") (* "*") (number_literal "6")) (+ "+") (number_literal "5")) (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;" (assignment_expression "auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f" (subscript_expression "auStack_dc8[uVar13 * 6 + 4]" (identifier "auStack_dc8") ([ "[") (binary_expression "uVar13 * 6 + 4" (binary_expression "uVar13 * 6" (identifier "uVar13") (* "*") (number_literal "6")) (+ "+") (number_literal "4")) (] "]")) (= "=") (binary_expression "(int)uVar10 >> 0x1f" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (>> ">>") (number_literal "0x1f"))) (; ";")) (} "}"))) (expression_statement "puVar12 = puVar16;" (assignment_expression "puVar12 = puVar16" (identifier "puVar12") (= "=") (identifier "puVar16")) (; ";")) (if_statement "if ((uVar20 & 0x10000) != 0) {\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }" (if "if") (parenthesized_expression "((uVar20 & 0x10000) != 0)" (( "(") (binary_expression "(uVar20 & 0x10000) != 0" (parenthesized_expression "(uVar20 & 0x10000)" (( "(") (binary_expression "uVar20 & 0x10000" (identifier "uVar20") (& "&") (number_literal "0x10000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar10 = puVar6[3];\n        puVar12 = puVar16 + 1;\n        uVar20 = *puVar16;\n        auStack_dc8[uVar10 * 6 + 5] = uVar20;\n        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;\n      }" ({ "{") (expression_statement "uVar10 = puVar6[3];" (assignment_expression "uVar10 = puVar6[3]" (identifier "uVar10") (= "=") (subscript_expression "puVar6[3]" (identifier "puVar6") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "puVar12 = puVar16 + 1;" (assignment_expression "puVar12 = puVar16 + 1" (identifier "puVar12") (= "=") (binary_expression "puVar16 + 1" (identifier "puVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar20 = *puVar16;" (assignment_expression "uVar20 = *puVar16" (identifier "uVar20") (= "=") (pointer_expression "*puVar16" (* "*") (identifier "puVar16"))) (; ";")) (expression_statement "auStack_dc8[uVar10 * 6 + 5] = uVar20;" (assignment_expression "auStack_dc8[uVar10 * 6 + 5] = uVar20" (subscript_expression "auStack_dc8[uVar10 * 6 + 5]" (identifier "auStack_dc8") ([ "[") (binary_expression "uVar10 * 6 + 5" (binary_expression "uVar10 * 6" (identifier "uVar10") (* "*") (number_literal "6")) (+ "+") (number_literal "5")) (] "]")) (= "=") (identifier "uVar20")) (; ";")) (expression_statement "auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;" (assignment_expression "auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f" (subscript_expression "auStack_dc8[uVar10 * 6 + 4]" (identifier "auStack_dc8") ([ "[") (binary_expression "uVar10 * 6 + 4" (binary_expression "uVar10 * 6" (identifier "uVar10") (* "*") (number_literal "6")) (+ "+") (number_literal "4")) (] "]")) (= "=") (binary_expression "(int)uVar20 >> 0x1f" (cast_expression "(int)uVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar20")) (>> ">>") (number_literal "0x1f"))) (; ";")) (} "}"))) (if_statement "if (*puVar6 < 10) {\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }" (if "if") (parenthesized_expression "(*puVar6 < 10)" (( "(") (binary_expression "*puVar6 < 10" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (< "<") (number_literal "10")) () ")")) (compound_statement "{\n                    \n                    \n        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();\n        return pcVar3;\n      }" ({ "{") (expression_statement "pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();" (assignment_expression "pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))()" (identifier "pcVar3") (= "=") (cast_expression "(code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))()" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))()" (parenthesized_expression "(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))" (( "(") (pointer_expression "*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4)" (* "*") (cast_expression "(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4)" (( "(") (binary_expression "puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4" (binary_expression "puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4)" (identifier "puVar21") (+ "+") (pointer_expression "*(int *)(iVar9 + -0x50d0 + *puVar6 * 4)" (* "*") (cast_expression "(int *)(iVar9 + -0x50d0 + *puVar6 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + -0x50d0 + *puVar6 * 4)" (( "(") (binary_expression "iVar9 + -0x50d0 + *puVar6 * 4" (binary_expression "iVar9 + -0x50d0" (identifier "iVar9") (+ "+") (number_literal "-0x50d0")) (+ "+") (binary_expression "*puVar6 * 4" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (* "*") (number_literal "4"))) () ")"))))) (+ "+") (number_literal "0x795e4")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return pcVar3;" (return "return") (identifier "pcVar3") (; ";")) (} "}"))) (expression_statement "puVar6 = puVar6 + 6;" (assignment_expression "puVar6 = puVar6 + 6" (identifier "puVar6") (= "=") (binary_expression "puVar6 + 6" (identifier "puVar6") (+ "+") (number_literal "6"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar6 != puVar11)" (( "(") (binary_expression "puVar6 != puVar11" (identifier "puVar6") (!= "!=") (identifier "puVar11")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar9 = *(int *)(puVar21 + 0x71858);" (assignment_expression "iVar9 = *(int *)(puVar21 + 0x71858)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar21 + 0x71858)" (* "*") (cast_expression "(int *)(puVar21 + 0x71858)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x71858)" (( "(") (binary_expression "puVar21 + 0x71858" (identifier "puVar21") (+ "+") (number_literal "0x71858")) () ")"))))) (; ";")) (expression_statement "pcVar19 = (code *)0x0;" (assignment_expression "pcVar19 = (code *)0x0" (identifier "pcVar19") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iStack_1010 = 0;" (assignment_expression "iStack_1010 = 0" (identifier "iStack_1010") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar20 = (uint)*param_3;" (assignment_expression "uVar20 = (uint)*param_3" (identifier "uVar20") (= "=") (binary_expression "(uint)*param_3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_3"))) (; ";")) (expression_statement "puStack_100c = auStack_fc8;" (assignment_expression "puStack_100c = auStack_fc8" (identifier "puStack_100c") (= "=") (identifier "auStack_fc8")) (; ";")) (while_statement "while (pcStack_fcc = param_3, uVar20 != 0) {\n    pcStack_fcc = param_3 + 1;\n    if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }\n  }" (while "while") (parenthesized_expression "(pcStack_fcc = param_3, uVar20 != 0)" (( "(") (comma_expression "pcStack_fcc = param_3, uVar20 != 0" (assignment_expression "pcStack_fcc = param_3" (identifier "pcStack_fcc") (= "=") (identifier "param_3")) (, ",") (binary_expression "uVar20 != 0" (identifier "uVar20") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n    pcStack_fcc = param_3 + 1;\n    if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }\n  }" ({ "{") (expression_statement "pcStack_fcc = param_3 + 1;" (assignment_expression "pcStack_fcc = param_3 + 1" (identifier "pcStack_fcc") (= "=") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar20 == 0x25) {\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }\n    else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }" (if "if") (parenthesized_expression "(uVar20 == 0x25)" (( "(") (binary_expression "uVar20 == 0x25" (identifier "uVar20") (== "==") (number_literal "0x25")) () ")")) (compound_statement "{\n      if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }\n    }" ({ "{") (if_statement "if (param_3[1] == '%') {\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }\n      else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }" (if "if") (parenthesized_expression "(param_3[1] == '%')" (( "(") (binary_expression "param_3[1] == '%'" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'%'" (' "'") (character "%") (' "'"))) () ")")) (compound_statement "{\n        pcStack_fcc = param_3 + 2;\n        iVar15 = (*param_2)(0x25,iVar2);\n        if (iVar15 == -1) break;\n        uVar20 = (uint)*pcStack_fcc;\n        pcVar19 = pcVar19 + 1;\n        param_3 = pcStack_fcc;\n      }" ({ "{") (expression_statement "pcStack_fcc = param_3 + 2;" (assignment_expression "pcStack_fcc = param_3 + 2" (identifier "pcStack_fcc") (= "=") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar15 = (*param_2)(0x25,iVar2);" (assignment_expression "iVar15 = (*param_2)(0x25,iVar2)" (identifier "iVar15") (= "=") (call_expression "(*param_2)(0x25,iVar2)" (parenthesized_expression "(*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")) (argument_list "(0x25,iVar2)" (( "(") (number_literal "0x25") (, ",") (identifier "iVar2") () ")")))) (; ";")) (if_statement "if (iVar15 == -1) break;" (if "if") (parenthesized_expression "(iVar15 == -1)" (( "(") (binary_expression "iVar15 == -1" (identifier "iVar15") (== "==") (number_literal "-1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar20 = (uint)*pcStack_fcc;" (assignment_expression "uVar20 = (uint)*pcStack_fcc" (identifier "uVar20") (= "=") (binary_expression "(uint)*pcStack_fcc" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pcStack_fcc"))) (; ";")) (expression_statement "pcVar19 = pcVar19 + 1;" (assignment_expression "pcVar19 = pcVar19 + 1" (identifier "pcVar19") (= "=") (binary_expression "pcVar19 + 1" (identifier "pcVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_3 = pcStack_fcc;" (assignment_expression "param_3 = pcStack_fcc" (identifier "param_3") (= "=") (identifier "pcStack_fcc")) (; ";")) (} "}")) (else_clause "else {\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }" (else "else") (compound_statement "{\n        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);\n        if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }\n        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }\n        param_3 = (char *)*puStack_100c;\n        uVar20 = (uint)*param_3;\n        puStack_100c = puStack_100c + 1;\n      }" ({ "{") (expression_statement "iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);" (assignment_expression "iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc)" (identifier "iVar15") (= "=") (call_expression "(*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc)" (parenthesized_expression "(*(code *)(iVar9 + 0x4a08))" (( "(") (pointer_expression "*(code *)(iVar9 + 0x4a08)" (* "*") (cast_expression "(code *)(iVar9 + 0x4a08)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x4a08)" (( "(") (binary_expression "iVar9 + 0x4a08" (identifier "iVar9") (+ "+") (number_literal "0x4a08")) () ")")))) () ")")) (argument_list "(pcStack_fcc,&pcStack_fcc)" (( "(") (identifier "pcStack_fcc") (, ",") (pointer_expression "&pcStack_fcc" (& "&") (identifier "pcStack_fcc")) () ")")))) (; ";")) (if_statement "if (iVar15 == 0) {\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }\n        else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar18 = iStack_1010 * 2;\n          ppuVar7 = &puStack_58 + iStack_1010 * 6;\n          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];\n          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];\n          iVar15 = iStack_1010;\n          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;\nLAB_00035014:\n          iStack_1010 = iStack_1010 + 2;\n          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;\n          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);\n          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;\nLAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;\n          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];\n          if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n        }" ({ "{") (expression_statement "iVar18 = iStack_1010 * 2;" (assignment_expression "iVar18 = iStack_1010 * 2" (identifier "iVar18") (= "=") (binary_expression "iStack_1010 * 2" (identifier "iStack_1010") (* "*") (number_literal "2"))) (; ";")) (expression_statement "ppuVar7 = &puStack_58 + iStack_1010 * 6;" (assignment_expression "ppuVar7 = &puStack_58 + iStack_1010 * 6" (identifier "ppuVar7") (= "=") (binary_expression "&puStack_58 + iStack_1010 * 6" (pointer_expression "&puStack_58" (& "&") (identifier "puStack_58")) (+ "+") (binary_expression "iStack_1010 * 6" (identifier "iStack_1010") (* "*") (number_literal "6")))) (; ";")) (expression_statement "uVar10 = auStack_dc8[iStack_1010 * 6 + 1];" (assignment_expression "uVar10 = auStack_dc8[iStack_1010 * 6 + 1]" (identifier "uVar10") (= "=") (subscript_expression "auStack_dc8[iStack_1010 * 6 + 1]" (identifier "auStack_dc8") ([ "[") (binary_expression "iStack_1010 * 6 + 1" (binary_expression "iStack_1010 * 6" (identifier "iStack_1010") (* "*") (number_literal "6")) (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "uVar20 = auStack_dc8[iStack_1010 * 6 + 2];" (assignment_expression "uVar20 = auStack_dc8[iStack_1010 * 6 + 2]" (identifier "uVar20") (= "=") (subscript_expression "auStack_dc8[iStack_1010 * 6 + 2]" (identifier "auStack_dc8") ([ "[") (binary_expression "iStack_1010 * 6 + 2" (binary_expression "iStack_1010 * 6" (identifier "iStack_1010") (* "*") (number_literal "6")) (+ "+") (number_literal "2")) (] "]"))) (; ";")) (expression_statement "iVar15 = iStack_1010;" (assignment_expression "iVar15 = iStack_1010" (identifier "iVar15") (= "=") (identifier "iStack_1010")) (; ";")) (if_statement "if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;" (if "if") (parenthesized_expression "((uVar10 & 0x4000) == 0)" (( "(") (binary_expression "(uVar10 & 0x4000) == 0" (parenthesized_expression "(uVar10 & 0x4000)" (( "(") (binary_expression "uVar10 & 0x4000" (identifier "uVar10") (& "&") (number_literal "0x4000")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00034ee8;" (goto "goto") (statement_identifier "LAB_00034ee8") (; ";"))) (labeled_statement "LAB_00035014:\n          iStack_1010 = iStack_1010 + 2;" (statement_identifier "LAB_00035014") (: ":") (expression_statement "iStack_1010 = iStack_1010 + 2;" (assignment_expression "iStack_1010 = iStack_1010 + 2" (identifier "iStack_1010") (= "=") (binary_expression "iStack_1010 + 2" (identifier "iStack_1010") (+ "+") (number_literal "2"))) (; ";"))) (if_statement "if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;" (if "if") (parenthesized_expression "(-1 < (int)auStack_dc8[uVar20 * 6 + 5])" (( "(") (binary_expression "-1 < (int)auStack_dc8[uVar20 * 6 + 5]" (number_literal "-1") (< "<") (cast_expression "(int)auStack_dc8[uVar20 * 6 + 5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "auStack_dc8[uVar20 * 6 + 5]" (identifier "auStack_dc8") ([ "[") (binary_expression "uVar20 * 6 + 5" (binary_expression "uVar20 * 6" (identifier "uVar20") (* "*") (number_literal "6")) (+ "+") (number_literal "5")) (] "]")))) () ")")) (goto_statement "goto LAB_00034efc;" (goto "goto") (statement_identifier "LAB_00034efc") (; ";"))) (expression_statement "ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);" (assignment_expression "ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4)" (subscript_expression "ppuVar7[-0x35b]" (identifier "ppuVar7") ([ "[") (number_literal "-0x35b") (] "]")) (= "=") (cast_expression "(undefined *)(uVar10 & 0xfffffeff | 4)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 & 0xfffffeff | 4)" (( "(") (binary_expression "uVar10 & 0xfffffeff | 4" (binary_expression "uVar10 & 0xfffffeff" (identifier "uVar10") (& "&") (number_literal "0xfffffeff")) (| "|") (number_literal "4")) () ")")))) (; ";")) (if_statement "if ((uVar10 & 0x10000) == 0) goto LAB_00035060;" (if "if") (parenthesized_expression "((uVar10 & 0x10000) == 0)" (( "(") (binary_expression "(uVar10 & 0x10000) == 0" (parenthesized_expression "(uVar10 & 0x10000)" (( "(") (binary_expression "uVar10 & 0x10000" (identifier "uVar10") (& "&") (number_literal "0x10000")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00035060;" (goto "goto") (statement_identifier "LAB_00035060") (; ";"))) (labeled_statement "LAB_00034f08:\n          iStack_1010 = iStack_1010 + 1;" (statement_identifier "LAB_00034f08") (: ":") (expression_statement "iStack_1010 = iStack_1010 + 1;" (assignment_expression "iStack_1010 = iStack_1010 + 1" (identifier "iStack_1010") (= "=") (binary_expression "iStack_1010 + 1" (identifier "iStack_1010") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];" (assignment_expression "pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5]" (identifier "pcVar3") (= "=") (cast_expression "(code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5]" (identifier "auStack_dc8") ([ "[") (binary_expression "auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5" (binary_expression "auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6" (subscript_expression "auStack_dc8[(iVar18 + iVar15) * 2 + 3]" (identifier "auStack_dc8") ([ "[") (binary_expression "(iVar18 + iVar15) * 2 + 3" (binary_expression "(iVar18 + iVar15) * 2" (parenthesized_expression "(iVar18 + iVar15)" (( "(") (binary_expression "iVar18 + iVar15" (identifier "iVar18") (+ "+") (identifier "iVar15")) () ")")) (* "*") (number_literal "2")) (+ "+") (number_literal "3")) (] "]")) (* "*") (number_literal "6")) (+ "+") (number_literal "5")) (] "]")))) (; ";")) (if_statement "if ((int)pcVar3 < 0) {\n            pcVar3 = (code *)0xffffffff;\n          }" (if "if") (parenthesized_expression "((int)pcVar3 < 0)" (( "(") (binary_expression "(int)pcVar3 < 0" (cast_expression "(int)pcVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar3")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar3 = (code *)0xffffffff;\n          }" ({ "{") (expression_statement "pcVar3 = (code *)0xffffffff;" (assignment_expression "pcVar3 = (code *)0xffffffff" (identifier "pcVar3") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }" (else "else") (compound_statement "{\n          iVar15 = iVar15 + -1;\n          iVar18 = iVar15 * 2;\n          ppuVar7 = &puStack_58 + iVar15 * 6;\n          uVar10 = auStack_dc8[iVar15 * 6 + 1];\n          uVar20 = auStack_dc8[iVar15 * 6 + 2];\n          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;\nLAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;\nLAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;\nLAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }\n        }" ({ "{") (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + -1" (identifier "iVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "iVar18 = iVar15 * 2;" (assignment_expression "iVar18 = iVar15 * 2" (identifier "iVar18") (= "=") (binary_expression "iVar15 * 2" (identifier "iVar15") (* "*") (number_literal "2"))) (; ";")) (expression_statement "ppuVar7 = &puStack_58 + iVar15 * 6;" (assignment_expression "ppuVar7 = &puStack_58 + iVar15 * 6" (identifier "ppuVar7") (= "=") (binary_expression "&puStack_58 + iVar15 * 6" (pointer_expression "&puStack_58" (& "&") (identifier "puStack_58")) (+ "+") (binary_expression "iVar15 * 6" (identifier "iVar15") (* "*") (number_literal "6")))) (; ";")) (expression_statement "uVar10 = auStack_dc8[iVar15 * 6 + 1];" (assignment_expression "uVar10 = auStack_dc8[iVar15 * 6 + 1]" (identifier "uVar10") (= "=") (subscript_expression "auStack_dc8[iVar15 * 6 + 1]" (identifier "auStack_dc8") ([ "[") (binary_expression "iVar15 * 6 + 1" (binary_expression "iVar15 * 6" (identifier "iVar15") (* "*") (number_literal "6")) (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "uVar20 = auStack_dc8[iVar15 * 6 + 2];" (assignment_expression "uVar20 = auStack_dc8[iVar15 * 6 + 2]" (identifier "uVar20") (= "=") (subscript_expression "auStack_dc8[iVar15 * 6 + 2]" (identifier "auStack_dc8") ([ "[") (binary_expression "iVar15 * 6 + 2" (binary_expression "iVar15 * 6" (identifier "iVar15") (* "*") (number_literal "6")) (+ "+") (number_literal "2")) (] "]"))) (; ";")) (if_statement "if ((uVar10 & 0x4000) != 0) goto LAB_00035014;" (if "if") (parenthesized_expression "((uVar10 & 0x4000) != 0)" (( "(") (binary_expression "(uVar10 & 0x4000) != 0" (parenthesized_expression "(uVar10 & 0x4000)" (( "(") (binary_expression "uVar10 & 0x4000" (identifier "uVar10") (& "&") (number_literal "0x4000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00035014;" (goto "goto") (statement_identifier "LAB_00035014") (; ";"))) (labeled_statement "LAB_00034ee8:\n          iStack_1010 = iStack_1010 + 1;" (statement_identifier "LAB_00034ee8") (: ":") (expression_statement "iStack_1010 = iStack_1010 + 1;" (assignment_expression "iStack_1010 = iStack_1010 + 1" (identifier "iStack_1010") (= "=") (binary_expression "iStack_1010 + 1" (identifier "iStack_1010") (+ "+") (number_literal "1"))) (; ";"))) (labeled_statement "LAB_00034efc:\n          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;" (statement_identifier "LAB_00034efc") (: ":") (if_statement "if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;" (if "if") (parenthesized_expression "((uVar10 & 0x10000) != 0)" (( "(") (binary_expression "(uVar10 & 0x10000) != 0" (parenthesized_expression "(uVar10 & 0x10000)" (( "(") (binary_expression "uVar10 & 0x10000" (identifier "uVar10") (& "&") (number_literal "0x10000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00034f08;" (goto "goto") (statement_identifier "LAB_00034f08") (; ";")))) (labeled_statement "LAB_00035060:\n          if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }" (statement_identifier "LAB_00035060") (: ":") (if_statement "if ((uVar10 & 0x8000) == 0) {\n            pcVar3 = (code *)0xffffffff;\n          }\n          else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }" (if "if") (parenthesized_expression "((uVar10 & 0x8000) == 0)" (( "(") (binary_expression "(uVar10 & 0x8000) == 0" (parenthesized_expression "(uVar10 & 0x8000)" (( "(") (binary_expression "uVar10 & 0x8000" (identifier "uVar10") (& "&") (number_literal "0x8000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar3 = (code *)0xffffffff;\n          }" ({ "{") (expression_statement "pcVar3 = (code *)0xffffffff;" (assignment_expression "pcVar3 = (code *)0xffffffff" (identifier "pcVar3") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (} "}")) (else_clause "else {\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }" (else "else") (compound_statement "{\n            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];\n          }" ({ "{") (expression_statement "pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];" (assignment_expression "pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3]" (identifier "pcVar3") (= "=") (cast_expression "(code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "auStack_dc8[(iVar18 + iVar15) * 2 + 3]" (identifier "auStack_dc8") ([ "[") (binary_expression "(iVar18 + iVar15) * 2 + 3" (binary_expression "(iVar18 + iVar15) * 2" (parenthesized_expression "(iVar18 + iVar15)" (( "(") (binary_expression "iVar18 + iVar15" (identifier "iVar18") (+ "+") (identifier "iVar15")) () ")")) (* "*") (number_literal "2")) (+ "+") (number_literal "3")) (] "]")))) (; ";")) (} "}"))))) (} "}")))) (if_statement "if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }" (if "if") (parenthesized_expression "(auStack_dc8[(iVar18 + iVar15) * 2] < 8)" (( "(") (binary_expression "auStack_dc8[(iVar18 + iVar15) * 2] < 8" (subscript_expression "auStack_dc8[(iVar18 + iVar15) * 2]" (identifier "auStack_dc8") ([ "[") (binary_expression "(iVar18 + iVar15) * 2" (parenthesized_expression "(iVar18 + iVar15)" (( "(") (binary_expression "iVar18 + iVar15" (identifier "iVar18") (+ "+") (identifier "iVar15")) () ")")) (* "*") (number_literal "2")) (] "]")) (< "<") (number_literal "8")) () ")")) (compound_statement "{\n                    \n                    \n          pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();\n          return pcVar3;\n        }" ({ "{") (expression_statement "pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();" (assignment_expression "pcVar3 = (code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))()" (identifier "pcVar3") (= "=") (cast_expression "(code *)(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))()" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))()" (parenthesized_expression "(*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))" (( "(") (pointer_expression "*(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4)" (* "*") (cast_expression "(code *)(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4)" (( "(") (binary_expression "puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4" (binary_expression "puVar21 +\n                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4)" (identifier "puVar21") (+ "+") (pointer_expression "*(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4)" (* "*") (cast_expression "(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4)" (( "(") (binary_expression "*(int *)(puVar21 + 0x71668) + -0x50a8 +\n                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4" (binary_expression "*(int *)(puVar21 + 0x71668) + -0x50a8" (pointer_expression "*(int *)(puVar21 + 0x71668)" (* "*") (cast_expression "(int *)(puVar21 + 0x71668)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x71668)" (( "(") (binary_expression "puVar21 + 0x71668" (identifier "puVar21") (+ "+") (number_literal "0x71668")) () ")")))) (+ "+") (number_literal "-0x50a8")) (+ "+") (binary_expression "auStack_dc8[(iVar18 + iVar15) * 2] * 4" (subscript_expression "auStack_dc8[(iVar18 + iVar15) * 2]" (identifier "auStack_dc8") ([ "[") (binary_expression "(iVar18 + iVar15) * 2" (parenthesized_expression "(iVar18 + iVar15)" (( "(") (binary_expression "iVar18 + iVar15" (identifier "iVar18") (+ "+") (identifier "iVar15")) () ")")) (* "*") (number_literal "2")) (] "]")) (* "*") (number_literal "4"))) () ")"))))) (+ "+") (number_literal "0x795e4")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return pcVar3;" (return "return") (identifier "pcVar3") (; ";")) (} "}"))) (expression_statement "param_3 = (char *)*puStack_100c;" (assignment_expression "param_3 = (char *)*puStack_100c" (identifier "param_3") (= "=") (cast_expression "(char *)*puStack_100c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puStack_100c" (* "*") (identifier "puStack_100c")))) (; ";")) (expression_statement "uVar20 = (uint)*param_3;" (assignment_expression "uVar20 = (uint)*param_3" (identifier "uVar20") (= "=") (binary_expression "(uint)*param_3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_3"))) (; ";")) (expression_statement "puStack_100c = puStack_100c + 1;" (assignment_expression "puStack_100c = puStack_100c + 1" (identifier "puStack_100c") (= "=") (binary_expression "puStack_100c + 1" (identifier "puStack_100c") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }" (else "else") (compound_statement "{\n      pcVar3 = (code *)&DAT_00000025;\n      pcStack_fcc = param_3;\n      do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);\n    }" ({ "{") (expression_statement "pcVar3 = (code *)&DAT_00000025;" (assignment_expression "pcVar3 = (code *)&DAT_00000025" (identifier "pcVar3") (= "=") (cast_expression "(code *)&DAT_00000025" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000025" (& "&") (identifier "DAT_00000025")))) (; ";")) (expression_statement "pcStack_fcc = param_3;" (assignment_expression "pcStack_fcc = param_3" (identifier "pcStack_fcc") (= "=") (identifier "param_3")) (; ";")) (do_statement "do {\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      } while (uVar20 != 0x25);" (do "do") (compound_statement "{\n        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);\n        if (iVar15 == -1) goto LAB_00034d9c;\n        param_3 = pcStack_fcc + 1;\n        uVar20 = (uint)pcStack_fcc[1];\n        pcVar19 = pcVar19 + 1;\n        pcStack_fcc = param_3;\n        if (uVar20 == 0) goto LAB_00034d9c;\n      }" ({ "{") (expression_statement "iVar15 = (*param_2)(uVar20 & 0xff,iVar2);" (assignment_expression "iVar15 = (*param_2)(uVar20 & 0xff,iVar2)" (identifier "iVar15") (= "=") (call_expression "(*param_2)(uVar20 & 0xff,iVar2)" (parenthesized_expression "(*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")) (argument_list "(uVar20 & 0xff,iVar2)" (( "(") (binary_expression "uVar20 & 0xff" (identifier "uVar20") (& "&") (number_literal "0xff")) (, ",") (identifier "iVar2") () ")")))) (; ";")) (if_statement "if (iVar15 == -1) goto LAB_00034d9c;" (if "if") (parenthesized_expression "(iVar15 == -1)" (( "(") (binary_expression "iVar15 == -1" (identifier "iVar15") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_00034d9c;" (goto "goto") (statement_identifier "LAB_00034d9c") (; ";"))) (expression_statement "param_3 = pcStack_fcc + 1;" (assignment_expression "param_3 = pcStack_fcc + 1" (identifier "param_3") (= "=") (binary_expression "pcStack_fcc + 1" (identifier "pcStack_fcc") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar20 = (uint)pcStack_fcc[1];" (assignment_expression "uVar20 = (uint)pcStack_fcc[1]" (identifier "uVar20") (= "=") (cast_expression "(uint)pcStack_fcc[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pcStack_fcc[1]" (identifier "pcStack_fcc") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pcVar19 = pcVar19 + 1;" (assignment_expression "pcVar19 = pcVar19 + 1" (identifier "pcVar19") (= "=") (binary_expression "pcVar19 + 1" (identifier "pcVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcStack_fcc = param_3;" (assignment_expression "pcStack_fcc = param_3" (identifier "pcStack_fcc") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (uVar20 == 0) goto LAB_00034d9c;" (if "if") (parenthesized_expression "(uVar20 == 0)" (( "(") (binary_expression "uVar20 == 0" (identifier "uVar20") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00034d9c;" (goto "goto") (statement_identifier "LAB_00034d9c") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(uVar20 != 0x25)" (( "(") (binary_expression "uVar20 != 0x25" (identifier "uVar20") (!= "!=") (number_literal "0x25")) () ")")) (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_00034d9c:\n  while (iStack_5c != *piVar4) {\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }" (statement_identifier "LAB_00034d9c") (: ":") (while_statement "while (iStack_5c != *piVar4) {\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }" (while "while") (parenthesized_expression "(iStack_5c != *piVar4)" (( "(") (binary_expression "iStack_5c != *piVar4" (identifier "iStack_5c") (!= "!=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) () ")")) (compound_statement "{\n    (**(code **)(puVar21 + 0x72128))();\n    pcVar19 = pcVar3;\n  }" ({ "{") (expression_statement "(**(code **)(puVar21 + 0x72128))();" (call_expression "(**(code **)(puVar21 + 0x72128))()" (parenthesized_expression "(**(code **)(puVar21 + 0x72128))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x72128)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x72128)" (* "*") (cast_expression "(code **)(puVar21 + 0x72128)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x72128)" (( "(") (binary_expression "puVar21 + 0x72128" (identifier "puVar21") (+ "+") (number_literal "0x72128")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar19 = pcVar3;" (assignment_expression "pcVar19 = pcVar3" (identifier "pcVar19") (= "=") (identifier "pcVar3")) (; ";")) (} "}")))) (return_statement "return pcVar19;" (return "return") (identifier "pcVar19") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) 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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (identifier)) (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: (pointer_declarator 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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (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))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) right: (number_literal)))))) arguments: (argument_list))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) right: (number_literal)))))) arguments: (argument_list))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) 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)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) right: (number_literal)))))) arguments: (argument_list))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (parenthesized_expression (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: (binary_expression left: (identifier) right: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (identifier))))) (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: (parenthesized_expression (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (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: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (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: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)) right: (number_literal))) right: (number_literal)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) 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)) value: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)) right: (number_literal))))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (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)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))) right: (number_literal))))))) right: (number_literal)))))) arguments: (argument_list))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (return_statement (identifier)))))

/* WARNING: Removing unreachable block (ram,0x00035b3c) */
/* WARNING: Removing unreachable block (ram,0x00035b74) */

code * MASKED(undefined4 param_1,code *param_2,char *param_3,uint param_4)

{
  undefined *puVar1;
  int iVar2;
  code *pcVar3;
  int *piVar4;
  char *pcVar5;
  uint *puVar6;
  undefined **ppuVar7;
  uint uVar8;
  int iVar9;
  uint uVar10;
  uint *puVar11;
  uint *puVar12;
  uint uVar13;
  uint uVar14;
  int iVar15;
  uint *puVar16;
  undefined4 *puVar17;
  int iVar18;
  code *pcVar19;
  uint uVar20;
  undefined *puVar21;
  uint local_resc;
  int iStack_1010;
  undefined4 *puStack_100c;
  char *pcStack_fcc;
  undefined4 auStack_fc8 [128];
  uint auStack_dc8 [859];
  int iStack_5c;
  undefined *puStack_58;
  
  puVar1 = PTR___stack_chk_guard_000a6fe0;
  puVar12 = &local_resc;
  iVar2 = *(int *)PTR___stack_chk_guard_000a6fe0;
  local_resc = param_4;
  pcVar3 = (code *)(*(code *)PTR_curl_mvsnprintf_000a6e24)();
  if (iVar2 == *(int *)puVar1) {
    return pcVar3;
  }
  puVar21 = PTR___stack_chk_fail_000a6c54;
  (*(code *)PTR___stack_chk_fail_000a6c54)();
  piVar4 = *(int **)(puVar21 + 0x724b4);
  iVar15 = *(int *)(puVar21 + 0x71668);
  uVar20 = 0;
  puStack_58 = puVar1;
  iVar18 = *(int *)(puVar21 + 0x71858);
  iVar9 = (int)*param_3;
  iStack_5c = *piVar4;
  pcStack_fcc = param_3;
  puVar17 = auStack_fc8;
  uVar10 = 0;
  while (pcVar5 = pcStack_fcc + 1, pcVar3 = param_2, iVar9 != 0) {
    if (*pcStack_fcc == '%') {
      if (pcStack_fcc[1] == '%') {
        iVar9 = (int)pcStack_fcc[2];
        pcStack_fcc = pcStack_fcc + 2;
      }
      else {
        pcStack_fcc = pcVar5;
        uVar8 = (*(code *)(iVar18 + 0x4a08))(pcVar5,&pcStack_fcc);
        uVar14 = uVar10 + 1;
        uVar13 = uVar14;
        if (uVar8 != 0) {
          uVar10 = uVar8 - 1;
          uVar13 = uVar8;
        }
        if ((int)uVar20 < (int)uVar13) {
          uVar20 = uVar13;
        }
        iVar9 = (int)*pcStack_fcc;
        uVar13 = iVar9 - 0x20U & 0xff;
        if (uVar13 < 0x5b) {
                    /* WARNING: Could not recover jumptable at 0x000350e4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar15 + -0x5088 + uVar13 * 4) + 0x795e4))
                                     ();
          return pcVar3;
        }
        if (0x7f < uVar10) {
          pcVar19 = (code *)0xffffffff;
          goto LAB_00034d9c;
        }
        uVar13 = iVar9 - 0x45U & 0xff;
        if (uVar13 < 0x34) {
                    /* WARNING: Could not recover jumptable at 0x00035178. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          pcVar3 = (code *)(*(code *)(puVar21 +
                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x4db0 + uVar13 * 4) +
                                     0x795e4))();
          return pcVar3;
        }
        auStack_dc8[uVar10 * 6] = 0;
        auStack_dc8[uVar10 * 6 + 1] = 0;
        auStack_dc8[uVar10 * 6 + 2] = 0;
        auStack_dc8[uVar10 * 6 + 3] = 0;
        *puVar17 = pcStack_fcc + 1;
        puVar17 = puVar17 + 1;
        uVar10 = uVar14;
      }
    }
    else {
      iVar9 = (int)pcStack_fcc[1];
      pcStack_fcc = pcVar5;
    }
  }
  if (uVar20 != 0) {
    iVar9 = *(int *)(puVar21 + 0x71668);
    puVar6 = auStack_dc8;
    puVar11 = puVar6 + uVar20 * 6;
    do {
      uVar20 = puVar6[1];
      puVar16 = puVar12;
      if ((uVar20 & 0x4000) != 0) {
        uVar13 = puVar6[2];
        puVar16 = puVar12 + 1;
        uVar10 = *puVar12;
        auStack_dc8[uVar13 * 6 + 5] = uVar10;
        auStack_dc8[uVar13 * 6 + 4] = (int)uVar10 >> 0x1f;
      }
      puVar12 = puVar16;
      if ((uVar20 & 0x10000) != 0) {
        uVar10 = puVar6[3];
        puVar12 = puVar16 + 1;
        uVar20 = *puVar16;
        auStack_dc8[uVar10 * 6 + 5] = uVar20;
        auStack_dc8[uVar10 * 6 + 4] = (int)uVar20 >> 0x1f;
      }
      if (*puVar6 < 10) {
                    /* WARNING: Could not recover jumptable at 0x00034cd4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        pcVar3 = (code *)(*(code *)(puVar21 + *(int *)(iVar9 + -0x50d0 + *puVar6 * 4) + 0x795e4))();
        return pcVar3;
      }
      puVar6 = puVar6 + 6;
    } while (puVar6 != puVar11);
  }
  iVar9 = *(int *)(puVar21 + 0x71858);
  pcVar19 = (code *)0x0;
  iStack_1010 = 0;
  uVar20 = (uint)*param_3;
  puStack_100c = auStack_fc8;
  while (pcStack_fcc = param_3, uVar20 != 0) {
    pcStack_fcc = param_3 + 1;
    if (uVar20 == 0x25) {
      if (param_3[1] == '%') {
        pcStack_fcc = param_3 + 2;
        iVar15 = (*param_2)(0x25,iVar2);
        if (iVar15 == -1) break;
        uVar20 = (uint)*pcStack_fcc;
        pcVar19 = pcVar19 + 1;
        param_3 = pcStack_fcc;
      }
      else {
        iVar15 = (*(code *)(iVar9 + 0x4a08))(pcStack_fcc,&pcStack_fcc);
        if (iVar15 == 0) {
          iVar18 = iStack_1010 * 2;
          ppuVar7 = &puStack_58 + iStack_1010 * 6;
          uVar10 = auStack_dc8[iStack_1010 * 6 + 1];
          uVar20 = auStack_dc8[iStack_1010 * 6 + 2];
          iVar15 = iStack_1010;
          if ((uVar10 & 0x4000) == 0) goto LAB_00034ee8;
LAB_00035014:
          iStack_1010 = iStack_1010 + 2;
          if (-1 < (int)auStack_dc8[uVar20 * 6 + 5]) goto LAB_00034efc;
          ppuVar7[-0x35b] = (undefined *)(uVar10 & 0xfffffeff | 4);
          if ((uVar10 & 0x10000) == 0) goto LAB_00035060;
LAB_00034f08:
          iStack_1010 = iStack_1010 + 1;
          pcVar3 = (code *)auStack_dc8[auStack_dc8[(iVar18 + iVar15) * 2 + 3] * 6 + 5];
          if ((int)pcVar3 < 0) {
            pcVar3 = (code *)0xffffffff;
          }
        }
        else {
          iVar15 = iVar15 + -1;
          iVar18 = iVar15 * 2;
          ppuVar7 = &puStack_58 + iVar15 * 6;
          uVar10 = auStack_dc8[iVar15 * 6 + 1];
          uVar20 = auStack_dc8[iVar15 * 6 + 2];
          if ((uVar10 & 0x4000) != 0) goto LAB_00035014;
LAB_00034ee8:
          iStack_1010 = iStack_1010 + 1;
LAB_00034efc:
          if ((uVar10 & 0x10000) != 0) goto LAB_00034f08;
LAB_00035060:
          if ((uVar10 & 0x8000) == 0) {
            pcVar3 = (code *)0xffffffff;
          }
          else {
            pcVar3 = (code *)auStack_dc8[(iVar18 + iVar15) * 2 + 3];
          }
        }
        if (auStack_dc8[(iVar18 + iVar15) * 2] < 8) {
                    /* WARNING: Could not recover jumptable at 0x00034f80. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          pcVar3 = (code *)(*(code *)(puVar21 +
                                     *(int *)(*(int *)(puVar21 + 0x71668) + -0x50a8 +
                                             auStack_dc8[(iVar18 + iVar15) * 2] * 4) + 0x795e4))();
          return pcVar3;
        }
        param_3 = (char *)*puStack_100c;
        uVar20 = (uint)*param_3;
        puStack_100c = puStack_100c + 1;
      }
    }
    else {
      pcVar3 = (code *)&DAT_00000025;
      pcStack_fcc = param_3;
      do {
        iVar15 = (*param_2)(uVar20 & 0xff,iVar2);
        if (iVar15 == -1) goto LAB_00034d9c;
        param_3 = pcStack_fcc + 1;
        uVar20 = (uint)pcStack_fcc[1];
        pcVar19 = pcVar19 + 1;
        pcStack_fcc = param_3;
        if (uVar20 == 0) goto LAB_00034d9c;
      } while (uVar20 != 0x25);
    }
  }
LAB_00034d9c:
  while (iStack_5c != *piVar4) {
    (**(code **)(puVar21 + 0x72128))();
    pcVar19 = pcVar3;
  }
  return pcVar19;
}

