
void print_size(duinfo *pdui,char *string)

{
  int *piVar1;
  undefined4 uVar2;
  int *piVar3;
  int iVar4;
  int iVar5;
  undefined1 *puVar6;
  int *piVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int *piVar11;
  undefined4 uVar12;
  undefined4 *puVar13;
  int *piVar14;
  int iVar15;
  tm *unaff_s4;
  char *pcVar16;
  int in_t9;
  code *pcVar17;
  code *pcVar18;
  code *pcVar19;
  int aiStackY_e4 [14];
  undefined4 uStackY_ac;
  int *piStackY_a8;
  int *piStackY_a4;
  duinfo *pdStackY_a0;
  char *pcStackY_9c;
  tm *ptStackY_98;
  code *pcStackY_94;
  undefined4 in_stack_ffffff80;
  undefined4 in_stack_ffffff84;
  int iStack_70;
  int iStack_6c;
  tm tm;
  char buf [21];
  
  piVar11 = *(int **)(
                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
                     + in_t9 + 0x144);
  iVar5 = *piVar11;
  print_only_size(CONCAT44(in_stack_ffffff80,in_stack_ffffff84));
  piVar14 = *(int **)(
                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
                     + in_t9 + 100);
  if (*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35a8) != '\0') {
    iVar8 = *piVar14;
    puVar6 = *(undefined1 **)(iVar8 + 0x14);
    if (puVar6 < *(undefined1 **)(iVar8 + 0x18)) {
      *(undefined1 **)(iVar8 + 0x14) = puVar6 + 1;
      *puVar6 = 9;
    }
    else {
      (**(code **)(
                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
                  + in_t9 + 0x38))(iVar8,9);
    }
    unaff_s4 = &tm;
    iStack_70 = (pdui->tmax).tv_sec;
    iStack_6c = (pdui->tmax).tv_nsec;
    pdui = *(duinfo **)(*(int *)(readdir64 + in_t9 + 4) + 0x3598);
    pcVar16 = *(char **)(*(int *)(readdir64 + in_t9 + 4) + 0x359c);
    iVar8 = (**(code **)(in_t9 + 0x3e57c))(pdui,&iStack_70,unaff_s4);
    if (iVar8 == 0) {
      pdui = (duinfo *)
             imaxtostr(CONCAT44(in_stack_ffffff80,in_stack_ffffff84),(char *)(iStack_70 >> 0x1f));
      unaff_s4 = (tm *)(**(code **)(
                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
                                   + in_t9 + 300))(0,*(int *)(qsort + in_t9 + 4) + -0x1920,5);
      pcVar16 = quote((char *)pdui);
      (**(code **)(
                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
                  + in_t9 + 0xd4))(0,0,unaff_s4,pcVar16);
      (**(code **)(
                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
                  + in_t9 + 0x188))(pdui,*piVar14);
    }
    else {
      fprintftime((FILE *)*piVar14,pcVar16,unaff_s4,(timezone_t)pdui,iStack_6c);
    }
  }
  uVar2 = 10;
  if (*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35ba) != '\0') {
    uVar2 = 0;
  }
  (**(code **)(
              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
              + in_t9 + 0x60))(1,*(int *)(qsort + in_t9 + 4) + -0x1908,string,uVar2);
  iVar8 = *piVar14;
  (**(code **)(
              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
              + in_t9 + 0x120))();
  if (iVar5 == *piVar11) {
    return;
  }
  pcVar17 = *(code **)(
                      "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
                      + in_t9 + 0x128);
  pcVar19 = usage;
  (*pcVar17)();
  uStackY_ac = **(undefined4 **)(pcVar17 + 0x3e728);
  pcVar18 = *(code **)(pcVar17 + 0x3e710);
  piStackY_a8 = piVar11;
  piStackY_a4 = piVar14;
  pdStackY_a0 = pdui;
  pcStackY_9c = string;
  ptStackY_98 = unaff_s4;
  pcStackY_94 = pcVar19;
  if (iVar8 == 0) goto LAB_00014e58;
  uVar12 = **(undefined4 **)(pcVar17 + 0x3e748);
  uVar2 = (*pcVar18)(0,*(int *)(pcVar17 + 0x3e350) + -0x18fc,5);
  (**(code **)(pcVar17 + 0x3e5dc))(uVar12,1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368));
  do {
    pcVar18 = *(code **)(pcVar17 + 0x3e69c);
    (*pcVar18)(iVar8);
LAB_00014e58:
    puVar13 = *(undefined4 **)(pcVar17 + 0x3e648);
    uVar2 = (*pcVar18)();
    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368));
    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x188c,5);
    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1844,5);
    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x17f8,5);
    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x163c,5);
    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -5000,5);
    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x11e4,5);
    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1114,5);
    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xff4,5);
    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xd90,5);
    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xcc4,5);
    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc94,5);
    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc5c,5);
    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xb7c);
    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xb78,5);
    piVar11 = aiStackY_e4;
    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);
    iVar5 = *(int *)(pcVar17 + 0x3e340);
    piVar14 = (int *)(iVar5 + 0x3010);
    piVar1 = piVar11;
    do {
      piVar7 = piVar1;
      piVar3 = piVar14;
      piVar14 = piVar3 + 4;
      *piVar7 = *piVar3;
      iVar10 = piVar3[2];
      iVar9 = piVar3[3];
      piVar7[1] = piVar3[1];
      piVar7[2] = iVar10;
      piVar7[3] = iVar9;
      piVar1 = piVar7 + 4;
    } while (piVar14 != (int *)(iVar5 + 0x3040));
    iVar5 = piVar3[5];
    iVar9 = *(int *)(pcVar17 + 0x3e350);
    piVar7[4] = *piVar14;
    piVar7[5] = iVar5;
    iVar5 = aiStackY_e4[0];
    while (iVar5 != 0) {
      iVar5 = (**(code **)(pcVar17 + 0x3e758))(iVar9 + -0x1900);
      if (iVar5 == 0) {
        iVar5 = *(int *)(pcVar17 + 0x3e350);
        goto LAB_00015168;
      }
      piVar11 = piVar11 + 2;
      iVar5 = *piVar11;
    }
    iVar5 = *(int *)(pcVar17 + 0x3e350);
LAB_00015168:
    iVar10 = piVar11[1];
    iVar15 = *(int *)(pcVar17 + 0x3e350);
    if (iVar10 == 0) {
      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,iVar5 + -0xadc,5);
      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)
      ;
      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);
      if ((iVar5 != 0) &&
         (iVar5 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3),
         iVar5 != 0)) {
        iVar10 = iVar9 + -0x1900;
        iVar5 = iVar10;
LAB_0001536c:
        uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5);
        (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar9 + -0x1900);
        goto LAB_000151f0;
      }
      iVar10 = iVar9 + -0x1900;
      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);
      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar10);
      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);
      iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;
    }
    else {
      uVar2 = (**(code **)(pcVar17 + 0x3e710))();
      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)
      ;
      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);
      if (iVar5 == 0) {
        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;
      }
      else {
        iVar4 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3);
        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;
        if (iVar4 != 0) goto LAB_0001536c;
      }
LAB_000151f0:
      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);
      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar9 + -0x1900);
      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);
      if (iVar10 == iVar5) {
        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;
      }
      else {
        iVar5 = *(int *)(pcVar17 + 0x3e350) + 0x1f44;
      }
    }
    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar10,iVar5);
  } while( true );
}



void FUN_00014ba4(undefined4 *param_1,undefined4 param_2)

{
  undefined *puVar1;
  int *piVar2;
  int iVar3;
  int *piVar4;
  int *piVar5;
  int iVar6;
  undefined1 *puVar7;
  int *piVar8;
  undefined4 uVar9;
  int iVar10;
  int iVar11;
  undefined4 uVar12;
  int iVar13;
  undefined4 *puVar14;
  int *piVar15;
  undefined *puVar16;
  int iVar17;
  undefined1 *unaff_s4;
  undefined *puVar18;
  code *pcVar19;
  code *pcVar20;
  int aiStack_e4 [14];
  undefined4 uStack_ac;
  undefined *puStack_a8;
  undefined *puStack_a4;
  undefined4 *puStack_a0;
  undefined4 uStack_9c;
  undefined1 *puStack_98;
  code *pcStack_94;
  undefined4 local_80;
  int local_70;
  undefined4 local_6c;
  undefined1 auStack_68 [44];
  undefined1 auStack_3c [24];
  int local_24;
  
  puVar1 = PTR___stack_chk_guard_000534f0;
  local_24 = *(int *)PTR___stack_chk_guard_000534f0;
  if (PTR_DAT_00053108[0x35a9] == '\0') {
    uVar12 = param_1[1];
    uVar9 = *param_1;
  }
  else {
    uVar12 = param_1[3];
    uVar9 = param_1[2];
  }
  FUN_00014ad0(uVar9,uVar12);
  puVar16 = PTR_stdout_00053410;
  if (PTR_DAT_00053108[0x35a8] != '\0') {
    iVar10 = *(int *)PTR_stdout_00053410;
    puVar7 = *(undefined1 **)(iVar10 + 0x14);
    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {
      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;
      *puVar7 = 9;
    }
    else {
      (*(code *)PTR___overflow_000533e4)(iVar10,9);
    }
    unaff_s4 = auStack_68;
    local_70 = param_1[4];
    local_6c = param_1[5];
    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);
    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);
    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);
    if (iVar10 == 0) {
      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);
      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);
      uVar9 = quote(param_1);
      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);
      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);
    }
    else {
      local_80 = local_6c;
      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);
    }
  }
  uVar9 = 10;
  if (PTR_DAT_00053108[0x35ba] != '\0') {
    uVar9 = 0;
  }
  (*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9);
  iVar10 = *(int *)puVar16;
  (*(code *)PTR_fflush_unlocked_000534cc)();
  if (local_24 == *(int *)puVar1) {
    return;
  }
  pcVar20 = usage;
  puVar18 = PTR___stack_chk_fail_000534d4;
  (*(code *)PTR___stack_chk_fail_000534d4)();
  puStack_a8 = puVar1;
  uStack_ac = **(undefined4 **)(puVar18 + 0x3e728);
  pcVar19 = *(code **)(puVar18 + 0x3e710);
  puStack_a4 = puVar16;
  puStack_a0 = param_1;
  uStack_9c = param_2;
  puStack_98 = unaff_s4;
  pcStack_94 = pcVar20;
  if (iVar10 == 0) goto LAB_00014e58;
  uVar12 = **(undefined4 **)(puVar18 + 0x3e748);
  uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5);
  (**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));
  do {
    pcVar19 = *(code **)(puVar18 + 0x3e69c);
    (*pcVar19)(iVar10);
LAB_00014e58:
    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);
    uVar9 = (*pcVar19)();
    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);
    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);
    piVar15 = aiStack_e4;
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    iVar3 = *(int *)(puVar18 + 0x3e340);
    piVar5 = (int *)(iVar3 + 0x3010);
    piVar2 = piVar15;
    do {
      piVar8 = piVar2;
      piVar4 = piVar5;
      piVar5 = piVar4 + 4;
      *piVar8 = *piVar4;
      iVar13 = piVar4[2];
      iVar11 = piVar4[3];
      piVar8[1] = piVar4[1];
      piVar8[2] = iVar13;
      piVar8[3] = iVar11;
      piVar2 = piVar8 + 4;
    } while (piVar5 != (int *)(iVar3 + 0x3040));
    iVar3 = piVar4[5];
    iVar11 = *(int *)(puVar18 + 0x3e350);
    piVar8[4] = *piVar5;
    piVar8[5] = iVar3;
    iVar3 = aiStack_e4[0];
    while (iVar3 != 0) {
      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);
      if (iVar3 == 0) {
        iVar3 = *(int *)(puVar18 + 0x3e350);
        goto LAB_00015168;
      }
      piVar15 = piVar15 + 2;
      iVar3 = *piVar15;
    }
    iVar3 = *(int *)(puVar18 + 0x3e350);
LAB_00015168:
    iVar13 = piVar15[1];
    iVar17 = *(int *)(puVar18 + 0x3e350);
    if (iVar13 == 0) {
      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);
      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)
      ;
      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);
      if ((iVar3 != 0) &&
         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),
         iVar3 != 0)) {
        iVar13 = iVar11 + -0x1900;
        iVar3 = iVar13;
LAB_0001536c:
        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);
        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);
        goto LAB_000151f0;
      }
      iVar13 = iVar11 + -0x1900;
      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);
      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);
      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);
      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;
    }
    else {
      uVar9 = (**(code **)(puVar18 + 0x3e710))();
      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)
      ;
      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);
      if (iVar3 == 0) {
        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;
      }
      else {
        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);
        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;
        if (iVar6 != 0) goto LAB_0001536c;
      }
LAB_000151f0:
      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);
      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);
      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);
      if (iVar13 == iVar3) {
        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;
      }
      else {
        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;
      }
    }
    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);
  } while( true );
}


lui gp,0x4
addiu gp,gp,0x653c
addu gp,gp,t9
addiu sp,sp,-0x90
lw v0,-0x7fd8(gp)
sw s0,0x74(sp)
lw s0,-0x7bf0(gp)
lbu v0,0x35a9(v0)
sw gp,0x18(sp)
sw s3,0x80(sp)
or s3,a1,zero
sw s2,0x7c(sp)
or s2,a0,zero
sw ra,0x8c(sp)
sw s5,0x88(sp)
sw s4,0x84(sp)
sw s1,0x78(sp)
lw v1,0x0(s0)
sw v1,0x6c(sp)
beq v0,zero,0x00014d1c
_nop
lw a1,0xc(a0)
lw a0,0x8(a0)
lw t9,-0x7fcc(gp)
addiu t9,t9,0x4ad0
bal 0x00014ad0
_nop
lw gp,0x18(sp)
lw v0,-0x7fd8(gp)
lbu v0,0x35a8(v0)
beq v0,zero,0x00014cac
_lw s1,-0x7cd0(gp)
lw a0,0x0(s1)
lw v1,0x14(a0)
lw v0,0x18(a0)
sltu v0,v1,v0
beq v0,zero,0x00014d28
_addiu v0,v1,0x1
sw v0,0x14(a0)
li v0,0x9
sb v0,0x0(v1)
lw a0,-0x7fd8(gp)
addiu s4,sp,0x28
lw v1,0x10(s2)
addiu a1,sp,0x20
lw v0,0x14(s2)
or a2,s4,zero
lw t9,-0x7fc0(gp)
lw s2,0x3598(a0)
lw a0,-0x7fd8(gp)
sw v1,0x20(sp)
sw v0,0x24(sp)
lw s5,0x359c(a0)
jalr t9
_or a0,s2,zero
beq v0,zero,0x00014d3c
_lw gp,0x18(sp)
lw v0,0x24(sp)
or a3,s2,zero
lw t9,-0x7fbc(gp)
or a2,s4,zero
lw a0,0x0(s1)
or a1,s5,zero
bal 0x000190e8
_sw v0,0x10(sp)
lw gp,0x18(sp)
lw v0,-0x7fd8(gp)
li a0,0x1
lw a1,-0x7fc8(gp)
or a2,s3,zero
lw t9,-0x7cd4(gp)
lbu a3,0x35ba(v0)
li v0,0xa
addiu a1,a1,-0x1908
movn v0,zero,a3
jalr t9
_or a3,v0,zero
lw gp,0x18(sp)
lw t9,-0x7c14(gp)
jalr t9
_lw a0,0x0(s1)
lw v1,0x6c(sp)
lw v0,0x0(s0)
bne v1,v0,0x00014dbc
_lw gp,0x18(sp)
lw ra,0x8c(sp)
lw s5,0x88(sp)
lw s4,0x84(sp)
lw s3,0x80(sp)
lw s2,0x7c(sp)
lw s1,0x78(sp)
lw s0,0x74(sp)
jr ra
_addiu sp,sp,0x90
lw a1,0x4(a0)
b 0x00014c00
_lw a0,0x0(a0)
lw t9,-0x7cfc(gp)
jalr t9
_li a1,0x9
b 0x00014c48
_lw gp,0x18(sp)
lw a1,0x20(sp)
addiu a2,sp,0x54
lw t9,-0x7fb8(gp)
bal 0x0001bd20
_sra a0,a1,0x1f
li a2,0x5
lw gp,0x18(sp)
or a0,zero,zero
or s2,v0,zero
lw a1,-0x7fc8(gp)
lw t9,-0x7c08(gp)
jalr t9
_addiu a1,a1,-0x1920
or a0,s2,zero
lw gp,0x18(sp)
lw t9,-0x7fb4(gp)
bal 0x0001ec80
_or s4,v0,zero
or a1,zero,zero
lw gp,0x18(sp)
or a0,zero,zero
or a3,v0,zero
lw t9,-0x7c60(gp)
jalr t9
_or a2,s4,zero
or a0,s2,zero
lw gp,0x18(sp)
lw t9,-0x7bac(gp)
jalr t9
_lw a1,0x0(s1)
b 0x00014cac
_lw gp,0x18(sp)
lw t9,-0x7c0c(gp)
jalr t9
_nop
(translation_unit "void FUN_00014ba4(undefined4 *param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  int *piVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int *piVar15;\n  undefined *puVar16;\n  int iVar17;\n  undefined1 *unaff_s4;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  int aiStack_e4 [14];\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined *puStack_a4;\n  undefined4 *puStack_a0;\n  undefined4 uStack_9c;\n  undefined1 *puStack_98;\n  code *pcStack_94;\n  undefined4 local_80;\n  int local_70;\n  undefined4 local_6c;\n  undefined1 auStack_68 [44];\n  undefined1 auStack_3c [24];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000534f0;\n  local_24 = *(int *)PTR___stack_chk_guard_000534f0;\n  if (PTR_DAT_00053108[0x35a9] == '\0') {\n    uVar12 = param_1[1];\n    uVar9 = *param_1;\n  }\n  else {\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }\n  FUN_00014ad0(uVar9,uVar12);\n  puVar16 = PTR_stdout_00053410;\n  if (PTR_DAT_00053108[0x35a8] != '\0') {\n    iVar10 = *(int *)PTR_stdout_00053410;\n    puVar7 = *(undefined1 **)(iVar10 + 0x14);\n    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }\n    unaff_s4 = auStack_68;\n    local_70 = param_1[4];\n    local_6c = param_1[5];\n    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);\n    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);\n    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);\n    if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }\n  }\n  uVar9 = 10;\n  if (PTR_DAT_00053108[0x35ba] != '\0') {\n    uVar9 = 0;\n  }\n  (*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9);\n  iVar10 = *(int *)puVar16;\n  (*(code *)PTR_fflush_unlocked_000534cc)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar20 = usage;\n  puVar18 = PTR___stack_chk_fail_000534d4;\n  (*(code *)PTR___stack_chk_fail_000534d4)();\n  puStack_a8 = puVar1;\n  uStack_ac = **(undefined4 **)(puVar18 + 0x3e728);\n  pcVar19 = *(code **)(puVar18 + 0x3e710);\n  puStack_a4 = puVar16;\n  puStack_a0 = param_1;\n  uStack_9c = param_2;\n  puStack_98 = unaff_s4;\n  pcStack_94 = pcVar20;\n  if (iVar10 == 0) goto LAB_00014e58;\n  uVar12 = **(undefined4 **)(puVar18 + 0x3e748);\n  uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5);\n  (**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n  do {\n    pcVar19 = *(code **)(puVar18 + 0x3e69c);\n    (*pcVar19)(iVar10);\nLAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);\n    uVar9 = (*pcVar19)();\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);\n    piVar15 = aiStack_e4;\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    iVar3 = *(int *)(puVar18 + 0x3e340);\n    piVar5 = (int *)(iVar3 + 0x3010);\n    piVar2 = piVar15;\n    do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));\n    iVar3 = piVar4[5];\n    iVar11 = *(int *)(puVar18 + 0x3e350);\n    piVar8[4] = *piVar5;\n    piVar8[5] = iVar3;\n    iVar3 = aiStack_e4[0];\n    while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }\n    iVar3 = *(int *)(puVar18 + 0x3e350);\nLAB_00015168:\n    iVar13 = piVar15[1];\n    iVar17 = *(int *)(puVar18 + 0x3e350);\n    if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);\n  } while( true );\n}\n\n" (function_definition "void FUN_00014ba4(undefined4 *param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  int *piVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int *piVar15;\n  undefined *puVar16;\n  int iVar17;\n  undefined1 *unaff_s4;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  int aiStack_e4 [14];\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined *puStack_a4;\n  undefined4 *puStack_a0;\n  undefined4 uStack_9c;\n  undefined1 *puStack_98;\n  code *pcStack_94;\n  undefined4 local_80;\n  int local_70;\n  undefined4 local_6c;\n  undefined1 auStack_68 [44];\n  undefined1 auStack_3c [24];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000534f0;\n  local_24 = *(int *)PTR___stack_chk_guard_000534f0;\n  if (PTR_DAT_00053108[0x35a9] == '\0') {\n    uVar12 = param_1[1];\n    uVar9 = *param_1;\n  }\n  else {\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }\n  FUN_00014ad0(uVar9,uVar12);\n  puVar16 = PTR_stdout_00053410;\n  if (PTR_DAT_00053108[0x35a8] != '\0') {\n    iVar10 = *(int *)PTR_stdout_00053410;\n    puVar7 = *(undefined1 **)(iVar10 + 0x14);\n    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }\n    unaff_s4 = auStack_68;\n    local_70 = param_1[4];\n    local_6c = param_1[5];\n    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);\n    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);\n    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);\n    if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }\n  }\n  uVar9 = 10;\n  if (PTR_DAT_00053108[0x35ba] != '\0') {\n    uVar9 = 0;\n  }\n  (*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9);\n  iVar10 = *(int *)puVar16;\n  (*(code *)PTR_fflush_unlocked_000534cc)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar20 = usage;\n  puVar18 = PTR___stack_chk_fail_000534d4;\n  (*(code *)PTR___stack_chk_fail_000534d4)();\n  puStack_a8 = puVar1;\n  uStack_ac = **(undefined4 **)(puVar18 + 0x3e728);\n  pcVar19 = *(code **)(puVar18 + 0x3e710);\n  puStack_a4 = puVar16;\n  puStack_a0 = param_1;\n  uStack_9c = param_2;\n  puStack_98 = unaff_s4;\n  pcStack_94 = pcVar20;\n  if (iVar10 == 0) goto LAB_00014e58;\n  uVar12 = **(undefined4 **)(puVar18 + 0x3e748);\n  uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5);\n  (**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n  do {\n    pcVar19 = *(code **)(puVar18 + 0x3e69c);\n    (*pcVar19)(iVar10);\nLAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);\n    uVar9 = (*pcVar19)();\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);\n    piVar15 = aiStack_e4;\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    iVar3 = *(int *)(puVar18 + 0x3e340);\n    piVar5 = (int *)(iVar3 + 0x3010);\n    piVar2 = piVar15;\n    do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));\n    iVar3 = piVar4[5];\n    iVar11 = *(int *)(puVar18 + 0x3e350);\n    piVar8[4] = *piVar5;\n    piVar8[5] = iVar3;\n    iVar3 = aiStack_e4[0];\n    while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }\n    iVar3 = *(int *)(puVar18 + 0x3e350);\nLAB_00015168:\n    iVar13 = piVar15[1];\n    iVar17 = *(int *)(puVar18 + 0x3e350);\n    if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);\n  } while( true );\n}" primitive_type (function_declarator "FUN_00014ba4(undefined4 *param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  int *piVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int *piVar15;\n  undefined *puVar16;\n  int iVar17;\n  undefined1 *unaff_s4;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  int aiStack_e4 [14];\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined *puStack_a4;\n  undefined4 *puStack_a0;\n  undefined4 uStack_9c;\n  undefined1 *puStack_98;\n  code *pcStack_94;\n  undefined4 local_80;\n  int local_70;\n  undefined4 local_6c;\n  undefined1 auStack_68 [44];\n  undefined1 auStack_3c [24];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000534f0;\n  local_24 = *(int *)PTR___stack_chk_guard_000534f0;\n  if (PTR_DAT_00053108[0x35a9] == '\0') {\n    uVar12 = param_1[1];\n    uVar9 = *param_1;\n  }\n  else {\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }\n  FUN_00014ad0(uVar9,uVar12);\n  puVar16 = PTR_stdout_00053410;\n  if (PTR_DAT_00053108[0x35a8] != '\0') {\n    iVar10 = *(int *)PTR_stdout_00053410;\n    puVar7 = *(undefined1 **)(iVar10 + 0x14);\n    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }\n    unaff_s4 = auStack_68;\n    local_70 = param_1[4];\n    local_6c = param_1[5];\n    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);\n    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);\n    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);\n    if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }\n  }\n  uVar9 = 10;\n  if (PTR_DAT_00053108[0x35ba] != '\0') {\n    uVar9 = 0;\n  }\n  (*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9);\n  iVar10 = *(int *)puVar16;\n  (*(code *)PTR_fflush_unlocked_000534cc)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar20 = usage;\n  puVar18 = PTR___stack_chk_fail_000534d4;\n  (*(code *)PTR___stack_chk_fail_000534d4)();\n  puStack_a8 = puVar1;\n  uStack_ac = **(undefined4 **)(puVar18 + 0x3e728);\n  pcVar19 = *(code **)(puVar18 + 0x3e710);\n  puStack_a4 = puVar16;\n  puStack_a0 = param_1;\n  uStack_9c = param_2;\n  puStack_98 = unaff_s4;\n  pcStack_94 = pcVar20;\n  if (iVar10 == 0) goto LAB_00014e58;\n  uVar12 = **(undefined4 **)(puVar18 + 0x3e748);\n  uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5);\n  (**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n  do {\n    pcVar19 = *(code **)(puVar18 + 0x3e69c);\n    (*pcVar19)(iVar10);\nLAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);\n    uVar9 = (*pcVar19)();\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);\n    piVar15 = aiStack_e4;\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    iVar3 = *(int *)(puVar18 + 0x3e340);\n    piVar5 = (int *)(iVar3 + 0x3010);\n    piVar2 = piVar15;\n    do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));\n    iVar3 = piVar4[5];\n    iVar11 = *(int *)(puVar18 + 0x3e350);\n    piVar8[4] = *piVar5;\n    piVar8[5] = iVar3;\n    iVar3 = aiStack_e4[0];\n    while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }\n    iVar3 = *(int *)(puVar18 + 0x3e350);\nLAB_00015168:\n    iVar13 = piVar15[1];\n    iVar17 = *(int *)(puVar18 + 0x3e350);\n    if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined1 *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "int aiStack_e4 [14];" primitive_type (array_declarator "aiStack_e4 [14]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "undefined *puStack_a8;" type_identifier (pointer_declarator "*puStack_a8" * identifier) ;) (declaration "undefined *puStack_a4;" type_identifier (pointer_declarator "*puStack_a4" * identifier) ;) (declaration "undefined4 *puStack_a0;" type_identifier (pointer_declarator "*puStack_a0" * identifier) ;) (declaration "undefined4 uStack_9c;" type_identifier identifier ;) (declaration "undefined1 *puStack_98;" type_identifier (pointer_declarator "*puStack_98" * identifier) ;) (declaration "code *pcStack_94;" type_identifier (pointer_declarator "*pcStack_94" * identifier) ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "undefined1 auStack_68 [44];" type_identifier (array_declarator "auStack_68 [44]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_3c [24];" type_identifier (array_declarator "auStack_3c [24]" identifier [ number_literal ]) ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000534f0;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000534f0" identifier = identifier) ;) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_000534f0;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_000534f0" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000534f0" * (cast_expression "(int *)PTR___stack_chk_guard_000534f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (PTR_DAT_00053108[0x35a9] == '\0') {\n    uVar12 = param_1[1];\n    uVar9 = *param_1;\n  }\n  else {\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }" if (parenthesized_expression "(PTR_DAT_00053108[0x35a9] == '\0')" ( (binary_expression "PTR_DAT_00053108[0x35a9] == '\0'" (subscript_expression "PTR_DAT_00053108[0x35a9]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar12 = param_1[1];\n    uVar9 = *param_1;\n  }" { (expression_statement "uVar12 = param_1[1];" (assignment_expression "uVar12 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = *param_1;" (assignment_expression "uVar9 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) }) (else_clause "else {\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }" else (compound_statement "{\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }" { (expression_statement "uVar12 = param_1[3];" (assignment_expression "uVar12 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = param_1[2];" (assignment_expression "uVar9 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) }))) (expression_statement "FUN_00014ad0(uVar9,uVar12);" (call_expression "FUN_00014ad0(uVar9,uVar12)" identifier (argument_list "(uVar9,uVar12)" ( identifier , identifier ))) ;) (expression_statement "puVar16 = PTR_stdout_00053410;" (assignment_expression "puVar16 = PTR_stdout_00053410" identifier = identifier) ;) (if_statement "if (PTR_DAT_00053108[0x35a8] != '\0') {\n    iVar10 = *(int *)PTR_stdout_00053410;\n    puVar7 = *(undefined1 **)(iVar10 + 0x14);\n    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }\n    unaff_s4 = auStack_68;\n    local_70 = param_1[4];\n    local_6c = param_1[5];\n    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);\n    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);\n    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);\n    if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }\n  }" if (parenthesized_expression "(PTR_DAT_00053108[0x35a8] != '\0')" ( (binary_expression "PTR_DAT_00053108[0x35a8] != '\0'" (subscript_expression "PTR_DAT_00053108[0x35a8]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar10 = *(int *)PTR_stdout_00053410;\n    puVar7 = *(undefined1 **)(iVar10 + 0x14);\n    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }\n    unaff_s4 = auStack_68;\n    local_70 = param_1[4];\n    local_6c = param_1[5];\n    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);\n    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);\n    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);\n    if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }\n  }" { (expression_statement "iVar10 = *(int *)PTR_stdout_00053410;" (assignment_expression "iVar10 = *(int *)PTR_stdout_00053410" identifier = (pointer_expression "*(int *)PTR_stdout_00053410" * (cast_expression "(int *)PTR_stdout_00053410" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar7 = *(undefined1 **)(iVar10 + 0x14);" (assignment_expression "puVar7 = *(undefined1 **)(iVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar10 + 0x14)" * (cast_expression "(undefined1 **)(iVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }" if (parenthesized_expression "(puVar7 < *(undefined1 **)(iVar10 + 0x18))" ( (binary_expression "puVar7 < *(undefined1 **)(iVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(iVar10 + 0x18)" * (cast_expression "(undefined1 **)(iVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }" { (expression_statement "*(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;" (assignment_expression "*(undefined1 **)(iVar10 + 0x14) = puVar7 + 1" (pointer_expression "*(undefined1 **)(iVar10 + 0x14)" * (cast_expression "(undefined1 **)(iVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar7 + 1" identifier + number_literal)) ;) (expression_statement "*puVar7 = 9;" (assignment_expression "*puVar7 = 9" (pointer_expression "*puVar7" * identifier) = number_literal) ;) }) (else_clause "else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }" else (compound_statement "{\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }" { (expression_statement "(*(code *)PTR___overflow_000533e4)(iVar10,9);" (call_expression "(*(code *)PTR___overflow_000533e4)(iVar10,9)" (parenthesized_expression "(*(code *)PTR___overflow_000533e4)" ( (pointer_expression "*(code *)PTR___overflow_000533e4" * (cast_expression "(code *)PTR___overflow_000533e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10,9)" ( identifier , number_literal ))) ;) }))) (expression_statement "unaff_s4 = auStack_68;" (assignment_expression "unaff_s4 = auStack_68" identifier = identifier) ;) (expression_statement "local_70 = param_1[4];" (assignment_expression "local_70 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "local_6c = param_1[5];" (assignment_expression "local_6c = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);" (assignment_expression "param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598)" identifier = (pointer_expression "*(undefined4 **)(PTR_DAT_00053108 + 0x3598)" * (cast_expression "(undefined4 **)(PTR_DAT_00053108 + 0x3598)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_00053108 + 0x3598)" ( (binary_expression "PTR_DAT_00053108 + 0x3598" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);" (assignment_expression "uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c)" identifier = (pointer_expression "*(undefined4 *)(PTR_DAT_00053108 + 0x359c)" * (cast_expression "(undefined4 *)(PTR_DAT_00053108 + 0x359c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00053108 + 0x359c)" ( (binary_expression "PTR_DAT_00053108 + 0x359c" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);" (assignment_expression "iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4)" identifier = (call_expression "(*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4)" (parenthesized_expression "(*(code *)PTR_localtime_rz_00053120)" ( (pointer_expression "*(code *)PTR_localtime_rz_00053120" * (cast_expression "(code *)PTR_localtime_rz_00053120" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,&local_70,unaff_s4)" ( identifier , (pointer_expression "&local_70" & identifier) , identifier )))) ;) (if_statement "if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }" { (expression_statement "param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);" (assignment_expression "param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c)" identifier = (cast_expression "(undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "imaxtostr(local_70 >> 0x1f,local_70,auStack_3c)" identifier (argument_list "(local_70 >> 0x1f,local_70,auStack_3c)" ( (binary_expression "local_70 >> 0x1f" identifier >> number_literal) , identifier , identifier ))))) ;) (expression_statement "unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);" (assignment_expression "unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000534d8)" ( (pointer_expression "*(code *)PTR_dcgettext_000534d8" * (cast_expression "(code *)PTR_dcgettext_000534d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_UINT_00053118 + -0x1920,5)" ( number_literal , (binary_expression "PTR_UINT_00053118 + -0x1920" identifier + number_literal) , number_literal ))))) ;) (expression_statement "uVar9 = quote(param_1);" (assignment_expression "uVar9 = quote(param_1)" identifier = (call_expression "quote(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);" (call_expression "(*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9)" (parenthesized_expression "(*(code *)PTR_error_00053480)" ( (pointer_expression "*(code *)PTR_error_00053480" * (cast_expression "(code *)PTR_error_00053480" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,unaff_s4,uVar9)" ( number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);" (call_expression "(*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_00053534)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_00053534" * (cast_expression "(code *)PTR_fputs_unlocked_00053534" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,*(undefined4 *)puVar16)" ( identifier , (pointer_expression "*(undefined4 *)puVar16" * (cast_expression "(undefined4 *)puVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) }) (else_clause "else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }" else (compound_statement "{\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }" { (expression_statement "local_80 = local_6c;" (assignment_expression "local_80 = local_6c" identifier = identifier) ;) (expression_statement "fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);" (call_expression "fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1)" identifier (argument_list "(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1)" ( (pointer_expression "*(undefined4 *)puVar16" * (cast_expression "(undefined4 *)puVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier , identifier , identifier ))) ;) }))) })) (expression_statement "uVar9 = 10;" (assignment_expression "uVar9 = 10" identifier = number_literal) ;) (if_statement "if (PTR_DAT_00053108[0x35ba] != '\0') {\n    uVar9 = 0;\n  }" if (parenthesized_expression "(PTR_DAT_00053108[0x35ba] != '\0')" ( (binary_expression "PTR_DAT_00053108[0x35ba] != '\0'" (subscript_expression "PTR_DAT_00053108[0x35ba]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar9 = 0;\n  }" { (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) })) (expression_statement "(*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9);" (call_expression "(*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9)" (parenthesized_expression "(*(code *)PTR___printf_chk_0005340c)" ( (pointer_expression "*(code *)PTR___printf_chk_0005340c" * (cast_expression "(code *)PTR___printf_chk_0005340c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9)" ( number_literal , (binary_expression "PTR_UINT_00053118 + -0x1908" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar10 = *(int *)puVar16;" (assignment_expression "iVar10 = *(int *)puVar16" identifier = (pointer_expression "*(int *)puVar16" * (cast_expression "(int *)puVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(*(code *)PTR_fflush_unlocked_000534cc)();" (call_expression "(*(code *)PTR_fflush_unlocked_000534cc)()" (parenthesized_expression "(*(code *)PTR_fflush_unlocked_000534cc)" ( (pointer_expression "*(code *)PTR_fflush_unlocked_000534cc" * (cast_expression "(code *)PTR_fflush_unlocked_000534cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (local_24 == *(int *)puVar1) {\n    return;\n  }" if (parenthesized_expression "(local_24 == *(int *)puVar1)" ( (binary_expression "local_24 == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar20 = usage;" (assignment_expression "pcVar20 = usage" identifier = identifier) ;) (expression_statement "puVar18 = PTR___stack_chk_fail_000534d4;" (assignment_expression "puVar18 = PTR___stack_chk_fail_000534d4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000534d4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000534d4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000534d4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000534d4" * (cast_expression "(code *)PTR___stack_chk_fail_000534d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_a8 = puVar1;" (assignment_expression "puStack_a8 = puVar1" identifier = identifier) ;) (expression_statement "uStack_ac = **(undefined4 **)(puVar18 + 0x3e728);" (assignment_expression "uStack_ac = **(undefined4 **)(puVar18 + 0x3e728)" identifier = (pointer_expression "**(undefined4 **)(puVar18 + 0x3e728)" * (pointer_expression "*(undefined4 **)(puVar18 + 0x3e728)" * (cast_expression "(undefined4 **)(puVar18 + 0x3e728)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e728)" ( (binary_expression "puVar18 + 0x3e728" identifier + number_literal) )))))) ;) (expression_statement "pcVar19 = *(code **)(puVar18 + 0x3e710);" (assignment_expression "pcVar19 = *(code **)(puVar18 + 0x3e710)" identifier = (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) ;) (expression_statement "puStack_a4 = puVar16;" (assignment_expression "puStack_a4 = puVar16" identifier = identifier) ;) (expression_statement "puStack_a0 = param_1;" (assignment_expression "puStack_a0 = param_1" identifier = identifier) ;) (expression_statement "uStack_9c = param_2;" (assignment_expression "uStack_9c = param_2" identifier = identifier) ;) (expression_statement "puStack_98 = unaff_s4;" (assignment_expression "puStack_98 = unaff_s4" identifier = identifier) ;) (expression_statement "pcStack_94 = pcVar20;" (assignment_expression "pcStack_94 = pcVar20" identifier = identifier) ;) (if_statement "if (iVar10 == 0) goto LAB_00014e58;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00014e58;" goto statement_identifier ;)) (expression_statement "uVar12 = **(undefined4 **)(puVar18 + 0x3e748);" (assignment_expression "uVar12 = **(undefined4 **)(puVar18 + 0x3e748)" identifier = (pointer_expression "**(undefined4 **)(puVar18 + 0x3e748)" * (pointer_expression "*(undefined4 **)(puVar18 + 0x3e748)" * (cast_expression "(undefined4 **)(puVar18 + 0x3e748)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e748)" ( (binary_expression "puVar18 + 0x3e748" identifier + number_literal) )))))) ;) (expression_statement "uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5);" (assignment_expression "uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5)" identifier = (call_expression "(*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x18fc" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));" (call_expression "(**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368))" (parenthesized_expression "(**(code **)(puVar18 + 0x3e5dc))" ( (pointer_expression "**(code **)(puVar18 + 0x3e5dc)" * (pointer_expression "*(code **)(puVar18 + 0x3e5dc)" * (cast_expression "(code **)(puVar18 + 0x3e5dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e5dc)" ( (binary_expression "puVar18 + 0x3e5dc" identifier + number_literal) ))))) )) (argument_list "(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368))" ( identifier , number_literal , identifier , (pointer_expression "**(undefined4 **)(puVar18 + 0x3e368)" * (pointer_expression "*(undefined4 **)(puVar18 + 0x3e368)" * (cast_expression "(undefined4 **)(puVar18 + 0x3e368)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e368)" ( (binary_expression "puVar18 + 0x3e368" identifier + number_literal) ))))) ))) ;) (do_statement "do {\n    pcVar19 = *(code **)(puVar18 + 0x3e69c);\n    (*pcVar19)(iVar10);\nLAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);\n    uVar9 = (*pcVar19)();\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);\n    piVar15 = aiStack_e4;\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    iVar3 = *(int *)(puVar18 + 0x3e340);\n    piVar5 = (int *)(iVar3 + 0x3010);\n    piVar2 = piVar15;\n    do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));\n    iVar3 = piVar4[5];\n    iVar11 = *(int *)(puVar18 + 0x3e350);\n    piVar8[4] = *piVar5;\n    piVar8[5] = iVar3;\n    iVar3 = aiStack_e4[0];\n    while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }\n    iVar3 = *(int *)(puVar18 + 0x3e350);\nLAB_00015168:\n    iVar13 = piVar15[1];\n    iVar17 = *(int *)(puVar18 + 0x3e350);\n    if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);\n  } while( true );" do (compound_statement "{\n    pcVar19 = *(code **)(puVar18 + 0x3e69c);\n    (*pcVar19)(iVar10);\nLAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);\n    uVar9 = (*pcVar19)();\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);\n    piVar15 = aiStack_e4;\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    iVar3 = *(int *)(puVar18 + 0x3e340);\n    piVar5 = (int *)(iVar3 + 0x3010);\n    piVar2 = piVar15;\n    do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));\n    iVar3 = piVar4[5];\n    iVar11 = *(int *)(puVar18 + 0x3e350);\n    piVar8[4] = *piVar5;\n    piVar8[5] = iVar3;\n    iVar3 = aiStack_e4[0];\n    while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }\n    iVar3 = *(int *)(puVar18 + 0x3e350);\nLAB_00015168:\n    iVar13 = piVar15[1];\n    iVar17 = *(int *)(puVar18 + 0x3e350);\n    if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);\n  }" { (expression_statement "pcVar19 = *(code **)(puVar18 + 0x3e69c);" (assignment_expression "pcVar19 = *(code **)(puVar18 + 0x3e69c)" identifier = (pointer_expression "*(code **)(puVar18 + 0x3e69c)" * (cast_expression "(code **)(puVar18 + 0x3e69c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e69c)" ( (binary_expression "puVar18 + 0x3e69c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar19)(iVar10);" (call_expression "(*pcVar19)(iVar10)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar10)" ( identifier ))) ;) (labeled_statement "LAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);" statement_identifier : (expression_statement "puVar14 = *(undefined4 **)(puVar18 + 0x3e648);" (assignment_expression "puVar14 = *(undefined4 **)(puVar18 + 0x3e648)" identifier = (pointer_expression "*(undefined4 **)(puVar18 + 0x3e648)" * (cast_expression "(undefined4 **)(puVar18 + 0x3e648)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e648)" ( (binary_expression "puVar18 + 0x3e648" identifier + number_literal) ))))) ;)) (expression_statement "uVar9 = (*pcVar19)();" (assignment_expression "uVar9 = (*pcVar19)()" identifier = (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368))" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368))" ( number_literal , identifier , (pointer_expression "**(undefined4 **)(puVar18 + 0x3e368)" * (pointer_expression "*(undefined4 **)(puVar18 + 0x3e368)" * (cast_expression "(undefined4 **)(puVar18 + 0x3e368)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e368)" ( (binary_expression "puVar18 + 0x3e368" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x188c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x1844" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x17f8" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x163c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -5000,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -5000" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x11e4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x1114" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xff4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xd90" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xcc4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xc94" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xc5c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c)" ( number_literal , identifier , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xb7c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xb78" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "piVar15 = aiStack_e4;" (assignment_expression "piVar15 = aiStack_e4" identifier = identifier) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e340);" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e340)" identifier = (pointer_expression "*(int *)(puVar18 + 0x3e340)" * (cast_expression "(int *)(puVar18 + 0x3e340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e340)" ( (binary_expression "puVar18 + 0x3e340" identifier + number_literal) ))))) ;) (expression_statement "piVar5 = (int *)(iVar3 + 0x3010);" (assignment_expression "piVar5 = (int *)(iVar3 + 0x3010)" identifier = (cast_expression "(int *)(iVar3 + 0x3010)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x3010)" ( (binary_expression "iVar3 + 0x3010" identifier + number_literal) )))) ;) (expression_statement "piVar2 = piVar15;" (assignment_expression "piVar2 = piVar15" identifier = identifier) ;) (do_statement "do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));" do (compound_statement "{\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    }" { (expression_statement "piVar8 = piVar2;" (assignment_expression "piVar8 = piVar2" identifier = identifier) ;) (expression_statement "piVar4 = piVar5;" (assignment_expression "piVar4 = piVar5" identifier = identifier) ;) (expression_statement "piVar5 = piVar4 + 4;" (assignment_expression "piVar5 = piVar4 + 4" identifier = (binary_expression "piVar4 + 4" identifier + number_literal)) ;) (expression_statement "*piVar8 = *piVar4;" (assignment_expression "*piVar8 = *piVar4" (pointer_expression "*piVar8" * identifier) = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "iVar13 = piVar4[2];" (assignment_expression "iVar13 = piVar4[2]" identifier = (subscript_expression "piVar4[2]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = piVar4[3];" (assignment_expression "iVar11 = piVar4[3]" identifier = (subscript_expression "piVar4[3]" identifier [ number_literal ])) ;) (expression_statement "piVar8[1] = piVar4[1];" (assignment_expression "piVar8[1] = piVar4[1]" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = (subscript_expression "piVar4[1]" identifier [ number_literal ])) ;) (expression_statement "piVar8[2] = iVar13;" (assignment_expression "piVar8[2] = iVar13" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[3] = iVar11;" (assignment_expression "piVar8[3] = iVar11" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2 = piVar8 + 4;" (assignment_expression "piVar2 = piVar8 + 4" identifier = (binary_expression "piVar8 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar5 != (int *)(iVar3 + 0x3040))" ( (binary_expression "piVar5 != (int *)(iVar3 + 0x3040)" identifier != (cast_expression "(int *)(iVar3 + 0x3040)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x3040)" ( (binary_expression "iVar3 + 0x3040" identifier + number_literal) )))) )) ;) (expression_statement "iVar3 = piVar4[5];" (assignment_expression "iVar3 = piVar4[5]" identifier = (subscript_expression "piVar4[5]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = *(int *)(puVar18 + 0x3e350);" (assignment_expression "iVar11 = *(int *)(puVar18 + 0x3e350)" identifier = (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) ))))) ;) (expression_statement "piVar8[4] = *piVar5;" (assignment_expression "piVar8[4] = *piVar5" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "piVar8[5] = iVar3;" (assignment_expression "piVar8[5] = iVar3" (subscript_expression "piVar8[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = aiStack_e4[0];" (assignment_expression "iVar3 = aiStack_e4[0]" identifier = (subscript_expression "aiStack_e4[0]" identifier [ number_literal ])) ;) (while_statement "while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }" while (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }" { (expression_statement "iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);" (assignment_expression "iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e758))" ( (pointer_expression "**(code **)(puVar18 + 0x3e758)" * (pointer_expression "*(code **)(puVar18 + 0x3e758)" * (cast_expression "(code **)(puVar18 + 0x3e758)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e758)" ( (binary_expression "puVar18 + 0x3e758" identifier + number_literal) ))))) )) (argument_list "(iVar11 + -0x1900)" ( (binary_expression "iVar11 + -0x1900" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }" { (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350);" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350)" identifier = (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00015168;" goto statement_identifier ;) })) (expression_statement "piVar15 = piVar15 + 2;" (assignment_expression "piVar15 = piVar15 + 2" identifier = (binary_expression "piVar15 + 2" identifier + number_literal)) ;) (expression_statement "iVar3 = *piVar15;" (assignment_expression "iVar3 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) })) (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350);" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350)" identifier = (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00015168:\n    iVar13 = piVar15[1];" statement_identifier : (expression_statement "iVar13 = piVar15[1];" (assignment_expression "iVar13 = piVar15[1]" identifier = (subscript_expression "piVar15[1]" identifier [ number_literal ])) ;)) (expression_statement "iVar17 = *(int *)(puVar18 + 0x3e350);" (assignment_expression "iVar17 = *(int *)(puVar18 + 0x3e350)" identifier = (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) ))))) ;) (if_statement "if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }" { (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,iVar3 + -0xadc,5)" ( number_literal , (binary_expression "iVar3 + -0xadc" identifier + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)" ( number_literal , identifier , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa9c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar17 + -0xac4" identifier + number_literal) ))) ;) (expression_statement "iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);" (assignment_expression "iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e624))(5,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e624))" ( (pointer_expression "**(code **)(puVar18 + 0x3e624)" * (pointer_expression "*(code **)(puVar18 + 0x3e624)" * (cast_expression "(code **)(puVar18 + 0x3e624)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e624)" ( (binary_expression "puVar18 + 0x3e624" identifier + number_literal) ))))) )) (argument_list "(5,0)" ( number_literal , number_literal )))) ;) (if_statement "if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }" if (parenthesized_expression "((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0))" ( (binary_expression "(iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)" ( (comma_expression "iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0" (assignment_expression "iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e5d0))" ( (pointer_expression "**(code **)(puVar18 + 0x3e5d0)" * (pointer_expression "*(code **)(puVar18 + 0x3e5d0)" * (cast_expression "(code **)(puVar18 + 0x3e5d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e5d0)" ( (binary_expression "puVar18 + 0x3e5d0" identifier + number_literal) ))))) )) (argument_list "(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" ( identifier , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa8c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }" { (expression_statement "iVar13 = iVar11 + -0x1900;" (assignment_expression "iVar13 = iVar11 + -0x1900" identifier = (binary_expression "iVar11 + -0x1900" identifier + number_literal)) ;) (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" identifier = identifier) ;) (labeled_statement "LAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);" statement_identifier : (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa88" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;)) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,iVar11 + -0x1900)" ( number_literal , identifier , (binary_expression "iVar11 + -0x1900" identifier + number_literal) ))) ;) (goto_statement "goto LAB_000151f0;" goto statement_identifier ;) })) (expression_statement "iVar13 = iVar11 + -0x1900;" (assignment_expression "iVar13 = iVar11 + -0x1900" identifier = (binary_expression "iVar11 + -0x1900" identifier + number_literal)) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa40" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,iVar17 + -0xac4,iVar13)" ( number_literal , identifier , (binary_expression "iVar17 + -0xac4" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa20" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4" identifier = (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x9e4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }" else (compound_statement "{\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }" { (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))();" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))()" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))()" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)" ( number_literal , identifier , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa9c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar17 + -0xac4" identifier + number_literal) ))) ;) (expression_statement "iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);" (assignment_expression "iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e624))(5,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e624))" ( (pointer_expression "**(code **)(puVar18 + 0x3e624)" * (pointer_expression "*(code **)(puVar18 + 0x3e624)" * (cast_expression "(code **)(puVar18 + 0x3e624)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e624)" ( (binary_expression "puVar18 + 0x3e624" identifier + number_literal) ))))) )) (argument_list "(5,0)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }" { (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900" identifier = (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x1900" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }" else (compound_statement "{\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }" { (expression_statement "iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);" (assignment_expression "iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e5d0))" ( (pointer_expression "**(code **)(puVar18 + 0x3e5d0)" * (pointer_expression "*(code **)(puVar18 + 0x3e5d0)" * (cast_expression "(code **)(puVar18 + 0x3e5d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e5d0)" ( (binary_expression "puVar18 + 0x3e5d0" identifier + number_literal) ))))) )) (argument_list "(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" ( identifier , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa8c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900" identifier = (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x1900" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (iVar6 != 0) goto LAB_0001536c;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001536c;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);" statement_identifier : (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa40" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;)) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900)" ( number_literal , identifier , (binary_expression "iVar17 + -0xac4" identifier + number_literal) , (binary_expression "iVar11 + -0x1900" identifier + number_literal) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa20" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }" if (parenthesized_expression "(iVar13 == iVar3)" ( (binary_expression "iVar13 == iVar3" identifier == identifier) )) (compound_statement "{\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }" { (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4" identifier = (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x9e4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }" else (compound_statement "{\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }" { (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44" identifier = (binary_expression "*(int *)(puVar18 + 0x3e350) + 0x1f44" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) }))) }))) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,iVar13,iVar3)" ( number_literal , identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void print_size(duinfo *pdui,char *string)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  undefined1 *puVar6;\n  int *piVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int *piVar14;\n  int iVar15;\n  tm *unaff_s4;\n  char *pcVar16;\n  int in_t9;\n  code *pcVar17;\n  code *pcVar18;\n  code *pcVar19;\n  int aiStackY_e4 [14];\n  undefined4 uStackY_ac;\n  int *piStackY_a8;\n  int *piStackY_a4;\n  duinfo *pdStackY_a0;\n  char *pcStackY_9c;\n  tm *ptStackY_98;\n  code *pcStackY_94;\n  undefined4 in_stack_ffffff80;\n  undefined4 in_stack_ffffff84;\n  int iStack_70;\n  int iStack_6c;\n  tm tm;\n  char buf [21];\n  \n  piVar11 = *(int **)(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 0x144);\n  iVar5 = *piVar11;\n  print_only_size(CONCAT44(in_stack_ffffff80,in_stack_ffffff84));\n  piVar14 = *(int **)(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 100);\n  if (*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35a8) != '\0') {\n    iVar8 = *piVar14;\n    puVar6 = *(undefined1 **)(iVar8 + 0x14);\n    if (puVar6 < *(undefined1 **)(iVar8 + 0x18)) {\n      *(undefined1 **)(iVar8 + 0x14) = puVar6 + 1;\n      *puVar6 = 9;\n    }\n    else {\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38))(iVar8,9);\n    }\n    unaff_s4 = &tm;\n    iStack_70 = (pdui->tmax).tv_sec;\n    iStack_6c = (pdui->tmax).tv_nsec;\n    pdui = *(duinfo **)(*(int *)(readdir64 + in_t9 + 4) + 0x3598);\n    pcVar16 = *(char **)(*(int *)(readdir64 + in_t9 + 4) + 0x359c);\n    iVar8 = (**(code **)(in_t9 + 0x3e57c))(pdui,&iStack_70,unaff_s4);\n    if (iVar8 == 0) {\n      pdui = (duinfo *)\n             imaxtostr(CONCAT44(in_stack_ffffff80,in_stack_ffffff84),(char *)(iStack_70 >> 0x1f));\n      unaff_s4 = (tm *)(**(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300))(0,*(int *)(qsort + in_t9 + 4) + -0x1920,5);\n      pcVar16 = quote((char *)pdui);\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4))(0,0,unaff_s4,pcVar16);\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188))(pdui,*piVar14);\n    }\n    else {\n      fprintftime((FILE *)*piVar14,pcVar16,unaff_s4,(timezone_t)pdui,iStack_6c);\n    }\n  }\n  uVar2 = 10;\n  if (*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35ba) != '\0') {\n    uVar2 = 0;\n  }\n  (**(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x60))(1,*(int *)(qsort + in_t9 + 4) + -0x1908,string,uVar2);\n  iVar8 = *piVar14;\n  (**(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x120))();\n  if (iVar5 == *piVar11) {\n    return;\n  }\n  pcVar17 = *(code **)(\n                      "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                      + in_t9 + 0x128);\n  pcVar19 = usage;\n  (*pcVar17)();\n  uStackY_ac = **(undefined4 **)(pcVar17 + 0x3e728);\n  pcVar18 = *(code **)(pcVar17 + 0x3e710);\n  piStackY_a8 = piVar11;\n  piStackY_a4 = piVar14;\n  pdStackY_a0 = pdui;\n  pcStackY_9c = string;\n  ptStackY_98 = unaff_s4;\n  pcStackY_94 = pcVar19;\n  if (iVar8 == 0) goto LAB_00014e58;\n  uVar12 = **(undefined4 **)(pcVar17 + 0x3e748);\n  uVar2 = (*pcVar18)(0,*(int *)(pcVar17 + 0x3e350) + -0x18fc,5);\n  (**(code **)(pcVar17 + 0x3e5dc))(uVar12,1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368));\n  do {\n    pcVar18 = *(code **)(pcVar17 + 0x3e69c);\n    (*pcVar18)(iVar8);\nLAB_00014e58:\n    puVar13 = *(undefined4 **)(pcVar17 + 0x3e648);\n    uVar2 = (*pcVar18)();\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368));\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x188c,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1844,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x17f8,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x163c,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -5000,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x11e4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1114,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xff4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xd90,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xcc4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc94,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc5c,5);\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xb7c);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xb78,5);\n    piVar11 = aiStackY_e4;\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    iVar5 = *(int *)(pcVar17 + 0x3e340);\n    piVar14 = (int *)(iVar5 + 0x3010);\n    piVar1 = piVar11;\n    do {\n      piVar7 = piVar1;\n      piVar3 = piVar14;\n      piVar14 = piVar3 + 4;\n      *piVar7 = *piVar3;\n      iVar10 = piVar3[2];\n      iVar9 = piVar3[3];\n      piVar7[1] = piVar3[1];\n      piVar7[2] = iVar10;\n      piVar7[3] = iVar9;\n      piVar1 = piVar7 + 4;\n    } while (piVar14 != (int *)(iVar5 + 0x3040));\n    iVar5 = piVar3[5];\n    iVar9 = *(int *)(pcVar17 + 0x3e350);\n    piVar7[4] = *piVar14;\n    piVar7[5] = iVar5;\n    iVar5 = aiStackY_e4[0];\n    while (iVar5 != 0) {\n      iVar5 = (**(code **)(pcVar17 + 0x3e758))(iVar9 + -0x1900);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar11 = piVar11 + 2;\n      iVar5 = *piVar11;\n    }\n    iVar5 = *(int *)(pcVar17 + 0x3e350);\nLAB_00015168:\n    iVar10 = piVar11[1];\n    iVar15 = *(int *)(pcVar17 + 0x3e350);\n    if (iVar10 == 0) {\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,iVar5 + -0xadc,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if ((iVar5 != 0) &&\n         (iVar5 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3),\n         iVar5 != 0)) {\n        iVar10 = iVar9 + -0x1900;\n        iVar5 = iVar10;\nLAB_0001536c:\n        uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5);\n        (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar9 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar10 = iVar9 + -0x1900;\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar10);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))();\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar4 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3);\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n        if (iVar4 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar9 + -0x1900);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      if (iVar10 == iVar5) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar10,iVar5);\n  } while( true );\n}\n\n" (function_definition "void print_size(duinfo *pdui,char *string)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  undefined1 *puVar6;\n  int *piVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int *piVar14;\n  int iVar15;\n  tm *unaff_s4;\n  char *pcVar16;\n  int in_t9;\n  code *pcVar17;\n  code *pcVar18;\n  code *pcVar19;\n  int aiStackY_e4 [14];\n  undefined4 uStackY_ac;\n  int *piStackY_a8;\n  int *piStackY_a4;\n  duinfo *pdStackY_a0;\n  char *pcStackY_9c;\n  tm *ptStackY_98;\n  code *pcStackY_94;\n  undefined4 in_stack_ffffff80;\n  undefined4 in_stack_ffffff84;\n  int iStack_70;\n  int iStack_6c;\n  tm tm;\n  char buf [21];\n  \n  piVar11 = *(int **)(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 0x144);\n  iVar5 = *piVar11;\n  print_only_size(CONCAT44(in_stack_ffffff80,in_stack_ffffff84));\n  piVar14 = *(int **)(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 100);\n  if (*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35a8) != '\0') {\n    iVar8 = *piVar14;\n    puVar6 = *(undefined1 **)(iVar8 + 0x14);\n    if (puVar6 < *(undefined1 **)(iVar8 + 0x18)) {\n      *(undefined1 **)(iVar8 + 0x14) = puVar6 + 1;\n      *puVar6 = 9;\n    }\n    else {\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38))(iVar8,9);\n    }\n    unaff_s4 = &tm;\n    iStack_70 = (pdui->tmax).tv_sec;\n    iStack_6c = (pdui->tmax).tv_nsec;\n    pdui = *(duinfo **)(*(int *)(readdir64 + in_t9 + 4) + 0x3598);\n    pcVar16 = *(char **)(*(int *)(readdir64 + in_t9 + 4) + 0x359c);\n    iVar8 = (**(code **)(in_t9 + 0x3e57c))(pdui,&iStack_70,unaff_s4);\n    if (iVar8 == 0) {\n      pdui = (duinfo *)\n             imaxtostr(CONCAT44(in_stack_ffffff80,in_stack_ffffff84),(char *)(iStack_70 >> 0x1f));\n      unaff_s4 = (tm *)(**(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300))(0,*(int *)(qsort + in_t9 + 4) + -0x1920,5);\n      pcVar16 = quote((char *)pdui);\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4))(0,0,unaff_s4,pcVar16);\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188))(pdui,*piVar14);\n    }\n    else {\n      fprintftime((FILE *)*piVar14,pcVar16,unaff_s4,(timezone_t)pdui,iStack_6c);\n    }\n  }\n  uVar2 = 10;\n  if (*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35ba) != '\0') {\n    uVar2 = 0;\n  }\n  (**(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x60))(1,*(int *)(qsort + in_t9 + 4) + -0x1908,string,uVar2);\n  iVar8 = *piVar14;\n  (**(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x120))();\n  if (iVar5 == *piVar11) {\n    return;\n  }\n  pcVar17 = *(code **)(\n                      "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                      + in_t9 + 0x128);\n  pcVar19 = usage;\n  (*pcVar17)();\n  uStackY_ac = **(undefined4 **)(pcVar17 + 0x3e728);\n  pcVar18 = *(code **)(pcVar17 + 0x3e710);\n  piStackY_a8 = piVar11;\n  piStackY_a4 = piVar14;\n  pdStackY_a0 = pdui;\n  pcStackY_9c = string;\n  ptStackY_98 = unaff_s4;\n  pcStackY_94 = pcVar19;\n  if (iVar8 == 0) goto LAB_00014e58;\n  uVar12 = **(undefined4 **)(pcVar17 + 0x3e748);\n  uVar2 = (*pcVar18)(0,*(int *)(pcVar17 + 0x3e350) + -0x18fc,5);\n  (**(code **)(pcVar17 + 0x3e5dc))(uVar12,1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368));\n  do {\n    pcVar18 = *(code **)(pcVar17 + 0x3e69c);\n    (*pcVar18)(iVar8);\nLAB_00014e58:\n    puVar13 = *(undefined4 **)(pcVar17 + 0x3e648);\n    uVar2 = (*pcVar18)();\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368));\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x188c,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1844,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x17f8,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x163c,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -5000,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x11e4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1114,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xff4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xd90,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xcc4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc94,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc5c,5);\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xb7c);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xb78,5);\n    piVar11 = aiStackY_e4;\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    iVar5 = *(int *)(pcVar17 + 0x3e340);\n    piVar14 = (int *)(iVar5 + 0x3010);\n    piVar1 = piVar11;\n    do {\n      piVar7 = piVar1;\n      piVar3 = piVar14;\n      piVar14 = piVar3 + 4;\n      *piVar7 = *piVar3;\n      iVar10 = piVar3[2];\n      iVar9 = piVar3[3];\n      piVar7[1] = piVar3[1];\n      piVar7[2] = iVar10;\n      piVar7[3] = iVar9;\n      piVar1 = piVar7 + 4;\n    } while (piVar14 != (int *)(iVar5 + 0x3040));\n    iVar5 = piVar3[5];\n    iVar9 = *(int *)(pcVar17 + 0x3e350);\n    piVar7[4] = *piVar14;\n    piVar7[5] = iVar5;\n    iVar5 = aiStackY_e4[0];\n    while (iVar5 != 0) {\n      iVar5 = (**(code **)(pcVar17 + 0x3e758))(iVar9 + -0x1900);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar11 = piVar11 + 2;\n      iVar5 = *piVar11;\n    }\n    iVar5 = *(int *)(pcVar17 + 0x3e350);\nLAB_00015168:\n    iVar10 = piVar11[1];\n    iVar15 = *(int *)(pcVar17 + 0x3e350);\n    if (iVar10 == 0) {\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,iVar5 + -0xadc,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if ((iVar5 != 0) &&\n         (iVar5 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3),\n         iVar5 != 0)) {\n        iVar10 = iVar9 + -0x1900;\n        iVar5 = iVar10;\nLAB_0001536c:\n        uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5);\n        (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar9 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar10 = iVar9 + -0x1900;\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar10);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))();\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar4 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3);\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n        if (iVar4 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar9 + -0x1900);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      if (iVar10 == iVar5) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar10,iVar5);\n  } while( true );\n}" primitive_type (function_declarator "print_size(duinfo *pdui,char *string)" identifier (parameter_list "(duinfo *pdui,char *string)" ( (parameter_declaration "duinfo *pdui" type_identifier (pointer_declarator "*pdui" * identifier)) , (parameter_declaration "char *string" primitive_type (pointer_declarator "*string" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  undefined1 *puVar6;\n  int *piVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int *piVar14;\n  int iVar15;\n  tm *unaff_s4;\n  char *pcVar16;\n  int in_t9;\n  code *pcVar17;\n  code *pcVar18;\n  code *pcVar19;\n  int aiStackY_e4 [14];\n  undefined4 uStackY_ac;\n  int *piStackY_a8;\n  int *piStackY_a4;\n  duinfo *pdStackY_a0;\n  char *pcStackY_9c;\n  tm *ptStackY_98;\n  code *pcStackY_94;\n  undefined4 in_stack_ffffff80;\n  undefined4 in_stack_ffffff84;\n  int iStack_70;\n  int iStack_6c;\n  tm tm;\n  char buf [21];\n  \n  piVar11 = *(int **)(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 0x144);\n  iVar5 = *piVar11;\n  print_only_size(CONCAT44(in_stack_ffffff80,in_stack_ffffff84));\n  piVar14 = *(int **)(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 100);\n  if (*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35a8) != '\0') {\n    iVar8 = *piVar14;\n    puVar6 = *(undefined1 **)(iVar8 + 0x14);\n    if (puVar6 < *(undefined1 **)(iVar8 + 0x18)) {\n      *(undefined1 **)(iVar8 + 0x14) = puVar6 + 1;\n      *puVar6 = 9;\n    }\n    else {\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38))(iVar8,9);\n    }\n    unaff_s4 = &tm;\n    iStack_70 = (pdui->tmax).tv_sec;\n    iStack_6c = (pdui->tmax).tv_nsec;\n    pdui = *(duinfo **)(*(int *)(readdir64 + in_t9 + 4) + 0x3598);\n    pcVar16 = *(char **)(*(int *)(readdir64 + in_t9 + 4) + 0x359c);\n    iVar8 = (**(code **)(in_t9 + 0x3e57c))(pdui,&iStack_70,unaff_s4);\n    if (iVar8 == 0) {\n      pdui = (duinfo *)\n             imaxtostr(CONCAT44(in_stack_ffffff80,in_stack_ffffff84),(char *)(iStack_70 >> 0x1f));\n      unaff_s4 = (tm *)(**(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300))(0,*(int *)(qsort + in_t9 + 4) + -0x1920,5);\n      pcVar16 = quote((char *)pdui);\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4))(0,0,unaff_s4,pcVar16);\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188))(pdui,*piVar14);\n    }\n    else {\n      fprintftime((FILE *)*piVar14,pcVar16,unaff_s4,(timezone_t)pdui,iStack_6c);\n    }\n  }\n  uVar2 = 10;\n  if (*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35ba) != '\0') {\n    uVar2 = 0;\n  }\n  (**(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x60))(1,*(int *)(qsort + in_t9 + 4) + -0x1908,string,uVar2);\n  iVar8 = *piVar14;\n  (**(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x120))();\n  if (iVar5 == *piVar11) {\n    return;\n  }\n  pcVar17 = *(code **)(\n                      "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                      + in_t9 + 0x128);\n  pcVar19 = usage;\n  (*pcVar17)();\n  uStackY_ac = **(undefined4 **)(pcVar17 + 0x3e728);\n  pcVar18 = *(code **)(pcVar17 + 0x3e710);\n  piStackY_a8 = piVar11;\n  piStackY_a4 = piVar14;\n  pdStackY_a0 = pdui;\n  pcStackY_9c = string;\n  ptStackY_98 = unaff_s4;\n  pcStackY_94 = pcVar19;\n  if (iVar8 == 0) goto LAB_00014e58;\n  uVar12 = **(undefined4 **)(pcVar17 + 0x3e748);\n  uVar2 = (*pcVar18)(0,*(int *)(pcVar17 + 0x3e350) + -0x18fc,5);\n  (**(code **)(pcVar17 + 0x3e5dc))(uVar12,1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368));\n  do {\n    pcVar18 = *(code **)(pcVar17 + 0x3e69c);\n    (*pcVar18)(iVar8);\nLAB_00014e58:\n    puVar13 = *(undefined4 **)(pcVar17 + 0x3e648);\n    uVar2 = (*pcVar18)();\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368));\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x188c,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1844,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x17f8,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x163c,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -5000,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x11e4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1114,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xff4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xd90,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xcc4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc94,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc5c,5);\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xb7c);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xb78,5);\n    piVar11 = aiStackY_e4;\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    iVar5 = *(int *)(pcVar17 + 0x3e340);\n    piVar14 = (int *)(iVar5 + 0x3010);\n    piVar1 = piVar11;\n    do {\n      piVar7 = piVar1;\n      piVar3 = piVar14;\n      piVar14 = piVar3 + 4;\n      *piVar7 = *piVar3;\n      iVar10 = piVar3[2];\n      iVar9 = piVar3[3];\n      piVar7[1] = piVar3[1];\n      piVar7[2] = iVar10;\n      piVar7[3] = iVar9;\n      piVar1 = piVar7 + 4;\n    } while (piVar14 != (int *)(iVar5 + 0x3040));\n    iVar5 = piVar3[5];\n    iVar9 = *(int *)(pcVar17 + 0x3e350);\n    piVar7[4] = *piVar14;\n    piVar7[5] = iVar5;\n    iVar5 = aiStackY_e4[0];\n    while (iVar5 != 0) {\n      iVar5 = (**(code **)(pcVar17 + 0x3e758))(iVar9 + -0x1900);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar11 = piVar11 + 2;\n      iVar5 = *piVar11;\n    }\n    iVar5 = *(int *)(pcVar17 + 0x3e350);\nLAB_00015168:\n    iVar10 = piVar11[1];\n    iVar15 = *(int *)(pcVar17 + 0x3e350);\n    if (iVar10 == 0) {\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,iVar5 + -0xadc,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if ((iVar5 != 0) &&\n         (iVar5 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3),\n         iVar5 != 0)) {\n        iVar10 = iVar9 + -0x1900;\n        iVar5 = iVar10;\nLAB_0001536c:\n        uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5);\n        (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar9 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar10 = iVar9 + -0x1900;\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar10);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))();\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar4 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3);\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n        if (iVar4 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar9 + -0x1900);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      if (iVar10 == iVar5) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar10,iVar5);\n  } while( true );\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "tm *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "int aiStackY_e4 [14];" primitive_type (array_declarator "aiStackY_e4 [14]" identifier [ number_literal ]) ;) (declaration "undefined4 uStackY_ac;" type_identifier identifier ;) (declaration "int *piStackY_a8;" primitive_type (pointer_declarator "*piStackY_a8" * identifier) ;) (declaration "int *piStackY_a4;" primitive_type (pointer_declarator "*piStackY_a4" * identifier) ;) (declaration "duinfo *pdStackY_a0;" type_identifier (pointer_declarator "*pdStackY_a0" * identifier) ;) (declaration "char *pcStackY_9c;" primitive_type (pointer_declarator "*pcStackY_9c" * identifier) ;) (declaration "tm *ptStackY_98;" type_identifier (pointer_declarator "*ptStackY_98" * identifier) ;) (declaration "code *pcStackY_94;" type_identifier (pointer_declarator "*pcStackY_94" * identifier) ;) (declaration "undefined4 in_stack_ffffff80;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffff84;" type_identifier identifier ;) (declaration "int iStack_70;" primitive_type identifier ;) (declaration "int iStack_6c;" primitive_type identifier ;) (declaration "tm tm;" type_identifier identifier ;) (declaration "char buf [21];" primitive_type (array_declarator "buf [21]" identifier [ number_literal ]) ;) (expression_statement "piVar11 = *(int **)(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 0x144);" (assignment_expression "piVar11 = *(int **)(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 0x144)" identifier = (pointer_expression "*(int **)(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 0x144)" * (cast_expression "(int **)(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 0x144)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 0x144)" ( (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 0x144" (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9" (string_literal ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") + identifier) + number_literal) ))))) ;) (expression_statement "iVar5 = *piVar11;" (assignment_expression "iVar5 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "print_only_size(CONCAT44(in_stack_ffffff80,in_stack_ffffff84));" (call_expression "print_only_size(CONCAT44(in_stack_ffffff80,in_stack_ffffff84))" identifier (argument_list "(CONCAT44(in_stack_ffffff80,in_stack_ffffff84))" ( (call_expression "CONCAT44(in_stack_ffffff80,in_stack_ffffff84)" identifier (argument_list "(in_stack_ffffff80,in_stack_ffffff84)" ( identifier , identifier ))) ))) ;) (expression_statement "piVar14 = *(int **)(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 100);" (assignment_expression "piVar14 = *(int **)(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 100)" identifier = (pointer_expression "*(int **)(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 100)" * (cast_expression "(int **)(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 100)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(\n                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 100)" ( (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9 + 100" (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                     + in_t9" (string_literal ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") + identifier) + number_literal) ))))) ;) (if_statement "if (*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35a8) != '\0') {\n    iVar8 = *piVar14;\n    puVar6 = *(undefined1 **)(iVar8 + 0x14);\n    if (puVar6 < *(undefined1 **)(iVar8 + 0x18)) {\n      *(undefined1 **)(iVar8 + 0x14) = puVar6 + 1;\n      *puVar6 = 9;\n    }\n    else {\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38))(iVar8,9);\n    }\n    unaff_s4 = &tm;\n    iStack_70 = (pdui->tmax).tv_sec;\n    iStack_6c = (pdui->tmax).tv_nsec;\n    pdui = *(duinfo **)(*(int *)(readdir64 + in_t9 + 4) + 0x3598);\n    pcVar16 = *(char **)(*(int *)(readdir64 + in_t9 + 4) + 0x359c);\n    iVar8 = (**(code **)(in_t9 + 0x3e57c))(pdui,&iStack_70,unaff_s4);\n    if (iVar8 == 0) {\n      pdui = (duinfo *)\n             imaxtostr(CONCAT44(in_stack_ffffff80,in_stack_ffffff84),(char *)(iStack_70 >> 0x1f));\n      unaff_s4 = (tm *)(**(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300))(0,*(int *)(qsort + in_t9 + 4) + -0x1920,5);\n      pcVar16 = quote((char *)pdui);\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4))(0,0,unaff_s4,pcVar16);\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188))(pdui,*piVar14);\n    }\n    else {\n      fprintftime((FILE *)*piVar14,pcVar16,unaff_s4,(timezone_t)pdui,iStack_6c);\n    }\n  }" if (parenthesized_expression "(*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35a8) != '\0')" ( (binary_expression "*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35a8) != '\0'" (pointer_expression "*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35a8)" * (cast_expression "(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35a8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(readdir64 + in_t9 + 4) + 0x35a8)" ( (binary_expression "*(int *)(readdir64 + in_t9 + 4) + 0x35a8" (pointer_expression "*(int *)(readdir64 + in_t9 + 4)" * (cast_expression "(int *)(readdir64 + in_t9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(readdir64 + in_t9 + 4)" ( (binary_expression "readdir64 + in_t9 + 4" (binary_expression "readdir64 + in_t9" identifier + identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar8 = *piVar14;\n    puVar6 = *(undefined1 **)(iVar8 + 0x14);\n    if (puVar6 < *(undefined1 **)(iVar8 + 0x18)) {\n      *(undefined1 **)(iVar8 + 0x14) = puVar6 + 1;\n      *puVar6 = 9;\n    }\n    else {\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38))(iVar8,9);\n    }\n    unaff_s4 = &tm;\n    iStack_70 = (pdui->tmax).tv_sec;\n    iStack_6c = (pdui->tmax).tv_nsec;\n    pdui = *(duinfo **)(*(int *)(readdir64 + in_t9 + 4) + 0x3598);\n    pcVar16 = *(char **)(*(int *)(readdir64 + in_t9 + 4) + 0x359c);\n    iVar8 = (**(code **)(in_t9 + 0x3e57c))(pdui,&iStack_70,unaff_s4);\n    if (iVar8 == 0) {\n      pdui = (duinfo *)\n             imaxtostr(CONCAT44(in_stack_ffffff80,in_stack_ffffff84),(char *)(iStack_70 >> 0x1f));\n      unaff_s4 = (tm *)(**(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300))(0,*(int *)(qsort + in_t9 + 4) + -0x1920,5);\n      pcVar16 = quote((char *)pdui);\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4))(0,0,unaff_s4,pcVar16);\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188))(pdui,*piVar14);\n    }\n    else {\n      fprintftime((FILE *)*piVar14,pcVar16,unaff_s4,(timezone_t)pdui,iStack_6c);\n    }\n  }" { (expression_statement "iVar8 = *piVar14;" (assignment_expression "iVar8 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "puVar6 = *(undefined1 **)(iVar8 + 0x14);" (assignment_expression "puVar6 = *(undefined1 **)(iVar8 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar8 + 0x14)" * (cast_expression "(undefined1 **)(iVar8 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14)" ( (binary_expression "iVar8 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar6 < *(undefined1 **)(iVar8 + 0x18)) {\n      *(undefined1 **)(iVar8 + 0x14) = puVar6 + 1;\n      *puVar6 = 9;\n    }\n    else {\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38))(iVar8,9);\n    }" if (parenthesized_expression "(puVar6 < *(undefined1 **)(iVar8 + 0x18))" ( (binary_expression "puVar6 < *(undefined1 **)(iVar8 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(iVar8 + 0x18)" * (cast_expression "(undefined1 **)(iVar8 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n      *(undefined1 **)(iVar8 + 0x14) = puVar6 + 1;\n      *puVar6 = 9;\n    }" { (expression_statement "*(undefined1 **)(iVar8 + 0x14) = puVar6 + 1;" (assignment_expression "*(undefined1 **)(iVar8 + 0x14) = puVar6 + 1" (pointer_expression "*(undefined1 **)(iVar8 + 0x14)" * (cast_expression "(undefined1 **)(iVar8 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14)" ( (binary_expression "iVar8 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar6 + 1" identifier + number_literal)) ;) (expression_statement "*puVar6 = 9;" (assignment_expression "*puVar6 = 9" (pointer_expression "*puVar6" * identifier) = number_literal) ;) }) (else_clause "else {\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38))(iVar8,9);\n    }" else (compound_statement "{\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38))(iVar8,9);\n    }" { (expression_statement "(**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38))(iVar8,9);" (call_expression "(**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38))(iVar8,9)" (parenthesized_expression "(**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38))" ( (pointer_expression "**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38)" * (pointer_expression "*(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38)" * (cast_expression "(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38)" ( (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x38" (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9" (string_literal ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") + identifier) + number_literal) ))))) )) (argument_list "(iVar8,9)" ( identifier , number_literal ))) ;) }))) (expression_statement "unaff_s4 = &tm;" (assignment_expression "unaff_s4 = &tm" identifier = (pointer_expression "&tm" & identifier)) ;) (expression_statement "iStack_70 = (pdui->tmax).tv_sec;" (assignment_expression "iStack_70 = (pdui->tmax).tv_sec" identifier = (field_expression "(pdui->tmax).tv_sec" (parenthesized_expression "(pdui->tmax)" ( (field_expression "pdui->tmax" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "iStack_6c = (pdui->tmax).tv_nsec;" (assignment_expression "iStack_6c = (pdui->tmax).tv_nsec" identifier = (field_expression "(pdui->tmax).tv_nsec" (parenthesized_expression "(pdui->tmax)" ( (field_expression "pdui->tmax" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pdui = *(duinfo **)(*(int *)(readdir64 + in_t9 + 4) + 0x3598);" (assignment_expression "pdui = *(duinfo **)(*(int *)(readdir64 + in_t9 + 4) + 0x3598)" identifier = (pointer_expression "*(duinfo **)(*(int *)(readdir64 + in_t9 + 4) + 0x3598)" * (cast_expression "(duinfo **)(*(int *)(readdir64 + in_t9 + 4) + 0x3598)" ( (type_descriptor "duinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(readdir64 + in_t9 + 4) + 0x3598)" ( (binary_expression "*(int *)(readdir64 + in_t9 + 4) + 0x3598" (pointer_expression "*(int *)(readdir64 + in_t9 + 4)" * (cast_expression "(int *)(readdir64 + in_t9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(readdir64 + in_t9 + 4)" ( (binary_expression "readdir64 + in_t9 + 4" (binary_expression "readdir64 + in_t9" identifier + identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pcVar16 = *(char **)(*(int *)(readdir64 + in_t9 + 4) + 0x359c);" (assignment_expression "pcVar16 = *(char **)(*(int *)(readdir64 + in_t9 + 4) + 0x359c)" identifier = (pointer_expression "*(char **)(*(int *)(readdir64 + in_t9 + 4) + 0x359c)" * (cast_expression "(char **)(*(int *)(readdir64 + in_t9 + 4) + 0x359c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(readdir64 + in_t9 + 4) + 0x359c)" ( (binary_expression "*(int *)(readdir64 + in_t9 + 4) + 0x359c" (pointer_expression "*(int *)(readdir64 + in_t9 + 4)" * (cast_expression "(int *)(readdir64 + in_t9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(readdir64 + in_t9 + 4)" ( (binary_expression "readdir64 + in_t9 + 4" (binary_expression "readdir64 + in_t9" identifier + identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar8 = (**(code **)(in_t9 + 0x3e57c))(pdui,&iStack_70,unaff_s4);" (assignment_expression "iVar8 = (**(code **)(in_t9 + 0x3e57c))(pdui,&iStack_70,unaff_s4)" identifier = (call_expression "(**(code **)(in_t9 + 0x3e57c))(pdui,&iStack_70,unaff_s4)" (parenthesized_expression "(**(code **)(in_t9 + 0x3e57c))" ( (pointer_expression "**(code **)(in_t9 + 0x3e57c)" * (pointer_expression "*(code **)(in_t9 + 0x3e57c)" * (cast_expression "(code **)(in_t9 + 0x3e57c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x3e57c)" ( (binary_expression "in_t9 + 0x3e57c" identifier + number_literal) ))))) )) (argument_list "(pdui,&iStack_70,unaff_s4)" ( identifier , (pointer_expression "&iStack_70" & identifier) , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n      pdui = (duinfo *)\n             imaxtostr(CONCAT44(in_stack_ffffff80,in_stack_ffffff84),(char *)(iStack_70 >> 0x1f));\n      unaff_s4 = (tm *)(**(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300))(0,*(int *)(qsort + in_t9 + 4) + -0x1920,5);\n      pcVar16 = quote((char *)pdui);\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4))(0,0,unaff_s4,pcVar16);\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188))(pdui,*piVar14);\n    }\n    else {\n      fprintftime((FILE *)*piVar14,pcVar16,unaff_s4,(timezone_t)pdui,iStack_6c);\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      pdui = (duinfo *)\n             imaxtostr(CONCAT44(in_stack_ffffff80,in_stack_ffffff84),(char *)(iStack_70 >> 0x1f));\n      unaff_s4 = (tm *)(**(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300))(0,*(int *)(qsort + in_t9 + 4) + -0x1920,5);\n      pcVar16 = quote((char *)pdui);\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4))(0,0,unaff_s4,pcVar16);\n      (**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188))(pdui,*piVar14);\n    }" { (expression_statement "pdui = (duinfo *)\n             imaxtostr(CONCAT44(in_stack_ffffff80,in_stack_ffffff84),(char *)(iStack_70 >> 0x1f));" (assignment_expression "pdui = (duinfo *)\n             imaxtostr(CONCAT44(in_stack_ffffff80,in_stack_ffffff84),(char *)(iStack_70 >> 0x1f))" identifier = (cast_expression "(duinfo *)\n             imaxtostr(CONCAT44(in_stack_ffffff80,in_stack_ffffff84),(char *)(iStack_70 >> 0x1f))" ( (type_descriptor "duinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "imaxtostr(CONCAT44(in_stack_ffffff80,in_stack_ffffff84),(char *)(iStack_70 >> 0x1f))" identifier (argument_list "(CONCAT44(in_stack_ffffff80,in_stack_ffffff84),(char *)(iStack_70 >> 0x1f))" ( (call_expression "CONCAT44(in_stack_ffffff80,in_stack_ffffff84)" identifier (argument_list "(in_stack_ffffff80,in_stack_ffffff84)" ( identifier , identifier ))) , (cast_expression "(char *)(iStack_70 >> 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_70 >> 0x1f)" ( (binary_expression "iStack_70 >> 0x1f" identifier >> number_literal) ))) ))))) ;) (expression_statement "unaff_s4 = (tm *)(**(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300))(0,*(int *)(qsort + in_t9 + 4) + -0x1920,5);" (assignment_expression "unaff_s4 = (tm *)(**(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300))(0,*(int *)(qsort + in_t9 + 4) + -0x1920,5)" identifier = (cast_expression "(tm *)(**(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300))(0,*(int *)(qsort + in_t9 + 4) + -0x1920,5)" ( (type_descriptor "tm *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300))(0,*(int *)(qsort + in_t9 + 4) + -0x1920,5)" (parenthesized_expression "(**(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300))" ( (pointer_expression "**(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300)" * (pointer_expression "*(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300)" * (cast_expression "(code **)(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(\n                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300)" ( (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9 + 300" (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                                   + in_t9" (string_literal ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") + identifier) + number_literal) ))))) )) (argument_list "(0,*(int *)(qsort + in_t9 + 4) + -0x1920,5)" ( number_literal , (binary_expression "*(int *)(qsort + in_t9 + 4) + -0x1920" (pointer_expression "*(int *)(qsort + in_t9 + 4)" * (cast_expression "(int *)(qsort + in_t9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(qsort + in_t9 + 4)" ( (binary_expression "qsort + in_t9 + 4" (binary_expression "qsort + in_t9" identifier + identifier) + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "pcVar16 = quote((char *)pdui);" (assignment_expression "pcVar16 = quote((char *)pdui)" identifier = (call_expression "quote((char *)pdui)" identifier (argument_list "((char *)pdui)" ( (cast_expression "(char *)pdui" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "(**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4))(0,0,unaff_s4,pcVar16);" (call_expression "(**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4))(0,0,unaff_s4,pcVar16)" (parenthesized_expression "(**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4))" ( (pointer_expression "**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4)" * (pointer_expression "*(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4)" * (cast_expression "(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4)" ( (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0xd4" (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9" (string_literal ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") + identifier) + number_literal) ))))) )) (argument_list "(0,0,unaff_s4,pcVar16)" ( number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "(**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188))(pdui,*piVar14);" (call_expression "(**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188))(pdui,*piVar14)" (parenthesized_expression "(**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188))" ( (pointer_expression "**(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188)" * (pointer_expression "*(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188)" * (cast_expression "(code **)(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(\n                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188)" ( (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9 + 0x188" (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                  + in_t9" (string_literal ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") + identifier) + number_literal) ))))) )) (argument_list "(pdui,*piVar14)" ( identifier , (pointer_expression "*piVar14" * identifier) ))) ;) }) (else_clause "else {\n      fprintftime((FILE *)*piVar14,pcVar16,unaff_s4,(timezone_t)pdui,iStack_6c);\n    }" else (compound_statement "{\n      fprintftime((FILE *)*piVar14,pcVar16,unaff_s4,(timezone_t)pdui,iStack_6c);\n    }" { (expression_statement "fprintftime((FILE *)*piVar14,pcVar16,unaff_s4,(timezone_t)pdui,iStack_6c);" (call_expression "fprintftime((FILE *)*piVar14,pcVar16,unaff_s4,(timezone_t)pdui,iStack_6c)" identifier (argument_list "((FILE *)*piVar14,pcVar16,unaff_s4,(timezone_t)pdui,iStack_6c)" ( (cast_expression "(FILE *)*piVar14" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar14" * identifier)) , identifier , identifier , (cast_expression "(timezone_t)pdui" ( (type_descriptor "timezone_t" type_identifier) ) identifier) , identifier ))) ;) }))) })) (expression_statement "uVar2 = 10;" (assignment_expression "uVar2 = 10" identifier = number_literal) ;) (if_statement "if (*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35ba) != '\0') {\n    uVar2 = 0;\n  }" if (parenthesized_expression "(*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35ba) != '\0')" ( (binary_expression "*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35ba) != '\0'" (pointer_expression "*(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35ba)" * (cast_expression "(char *)(*(int *)(readdir64 + in_t9 + 4) + 0x35ba)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(readdir64 + in_t9 + 4) + 0x35ba)" ( (binary_expression "*(int *)(readdir64 + in_t9 + 4) + 0x35ba" (pointer_expression "*(int *)(readdir64 + in_t9 + 4)" * (cast_expression "(int *)(readdir64 + in_t9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(readdir64 + in_t9 + 4)" ( (binary_expression "readdir64 + in_t9 + 4" (binary_expression "readdir64 + in_t9" identifier + identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar2 = 0;\n  }" { (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) })) (expression_statement "(**(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x60))(1,*(int *)(qsort + in_t9 + 4) + -0x1908,string,uVar2);" (call_expression "(**(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x60))(1,*(int *)(qsort + in_t9 + 4) + -0x1908,string,uVar2)" (parenthesized_expression "(**(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x60))" ( (pointer_expression "**(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x60)" * (pointer_expression "*(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x60)" * (cast_expression "(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x60)" ( (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x60" (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9" (string_literal ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") + identifier) + number_literal) ))))) )) (argument_list "(1,*(int *)(qsort + in_t9 + 4) + -0x1908,string,uVar2)" ( number_literal , (binary_expression "*(int *)(qsort + in_t9 + 4) + -0x1908" (pointer_expression "*(int *)(qsort + in_t9 + 4)" * (cast_expression "(int *)(qsort + in_t9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(qsort + in_t9 + 4)" ( (binary_expression "qsort + in_t9 + 4" (binary_expression "qsort + in_t9" identifier + identifier) + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar8 = *piVar14;" (assignment_expression "iVar8 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "(**(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x120))();" (call_expression "(**(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x120))()" (parenthesized_expression "(**(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x120))" ( (pointer_expression "**(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x120)" * (pointer_expression "*(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x120)" * (cast_expression "(code **)(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x120)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(\n              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x120)" ( (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9 + 0x120" (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n              + in_t9" (string_literal ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") + identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar5 == *piVar11) {\n    return;\n  }" if (parenthesized_expression "(iVar5 == *piVar11)" ( (binary_expression "iVar5 == *piVar11" identifier == (pointer_expression "*piVar11" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar17 = *(code **)(\n                      "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                      + in_t9 + 0x128);" (assignment_expression "pcVar17 = *(code **)(\n                      "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                      + in_t9 + 0x128)" identifier = (pointer_expression "*(code **)(\n                      "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                      + in_t9 + 0x128)" * (cast_expression "(code **)(\n                      "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                      + in_t9 + 0x128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(\n                      "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                      + in_t9 + 0x128)" ( (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                      + in_t9 + 0x128" (binary_expression ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"\n                      + in_t9" (string_literal ""  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") + identifier) + number_literal) ))))) ;) (expression_statement "pcVar19 = usage;" (assignment_expression "pcVar19 = usage" identifier = identifier) ;) (expression_statement "(*pcVar17)();" (call_expression "(*pcVar17)()" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uStackY_ac = **(undefined4 **)(pcVar17 + 0x3e728);" (assignment_expression "uStackY_ac = **(undefined4 **)(pcVar17 + 0x3e728)" identifier = (pointer_expression "**(undefined4 **)(pcVar17 + 0x3e728)" * (pointer_expression "*(undefined4 **)(pcVar17 + 0x3e728)" * (cast_expression "(undefined4 **)(pcVar17 + 0x3e728)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e728)" ( (binary_expression "pcVar17 + 0x3e728" identifier + number_literal) )))))) ;) (expression_statement "pcVar18 = *(code **)(pcVar17 + 0x3e710);" (assignment_expression "pcVar18 = *(code **)(pcVar17 + 0x3e710)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) ;) (expression_statement "piStackY_a8 = piVar11;" (assignment_expression "piStackY_a8 = piVar11" identifier = identifier) ;) (expression_statement "piStackY_a4 = piVar14;" (assignment_expression "piStackY_a4 = piVar14" identifier = identifier) ;) (expression_statement "pdStackY_a0 = pdui;" (assignment_expression "pdStackY_a0 = pdui" identifier = identifier) ;) (expression_statement "pcStackY_9c = string;" (assignment_expression "pcStackY_9c = string" identifier = identifier) ;) (expression_statement "ptStackY_98 = unaff_s4;" (assignment_expression "ptStackY_98 = unaff_s4" identifier = identifier) ;) (expression_statement "pcStackY_94 = pcVar19;" (assignment_expression "pcStackY_94 = pcVar19" identifier = identifier) ;) (if_statement "if (iVar8 == 0) goto LAB_00014e58;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00014e58;" goto statement_identifier ;)) (expression_statement "uVar12 = **(undefined4 **)(pcVar17 + 0x3e748);" (assignment_expression "uVar12 = **(undefined4 **)(pcVar17 + 0x3e748)" identifier = (pointer_expression "**(undefined4 **)(pcVar17 + 0x3e748)" * (pointer_expression "*(undefined4 **)(pcVar17 + 0x3e748)" * (cast_expression "(undefined4 **)(pcVar17 + 0x3e748)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e748)" ( (binary_expression "pcVar17 + 0x3e748" identifier + number_literal) )))))) ;) (expression_statement "uVar2 = (*pcVar18)(0,*(int *)(pcVar17 + 0x3e350) + -0x18fc,5);" (assignment_expression "uVar2 = (*pcVar18)(0,*(int *)(pcVar17 + 0x3e350) + -0x18fc,5)" identifier = (call_expression "(*pcVar18)(0,*(int *)(pcVar17 + 0x3e350) + -0x18fc,5)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0x18fc,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0x18fc" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e5dc))(uVar12,1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368));" (call_expression "(**(code **)(pcVar17 + 0x3e5dc))(uVar12,1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368))" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e5dc))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e5dc)" * (pointer_expression "*(code **)(pcVar17 + 0x3e5dc)" * (cast_expression "(code **)(pcVar17 + 0x3e5dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e5dc)" ( (binary_expression "pcVar17 + 0x3e5dc" identifier + number_literal) ))))) )) (argument_list "(uVar12,1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368))" ( identifier , number_literal , identifier , (pointer_expression "**(undefined4 **)(pcVar17 + 0x3e368)" * (pointer_expression "*(undefined4 **)(pcVar17 + 0x3e368)" * (cast_expression "(undefined4 **)(pcVar17 + 0x3e368)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e368)" ( (binary_expression "pcVar17 + 0x3e368" identifier + number_literal) ))))) ))) ;) (do_statement "do {\n    pcVar18 = *(code **)(pcVar17 + 0x3e69c);\n    (*pcVar18)(iVar8);\nLAB_00014e58:\n    puVar13 = *(undefined4 **)(pcVar17 + 0x3e648);\n    uVar2 = (*pcVar18)();\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368));\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x188c,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1844,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x17f8,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x163c,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -5000,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x11e4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1114,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xff4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xd90,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xcc4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc94,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc5c,5);\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xb7c);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xb78,5);\n    piVar11 = aiStackY_e4;\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    iVar5 = *(int *)(pcVar17 + 0x3e340);\n    piVar14 = (int *)(iVar5 + 0x3010);\n    piVar1 = piVar11;\n    do {\n      piVar7 = piVar1;\n      piVar3 = piVar14;\n      piVar14 = piVar3 + 4;\n      *piVar7 = *piVar3;\n      iVar10 = piVar3[2];\n      iVar9 = piVar3[3];\n      piVar7[1] = piVar3[1];\n      piVar7[2] = iVar10;\n      piVar7[3] = iVar9;\n      piVar1 = piVar7 + 4;\n    } while (piVar14 != (int *)(iVar5 + 0x3040));\n    iVar5 = piVar3[5];\n    iVar9 = *(int *)(pcVar17 + 0x3e350);\n    piVar7[4] = *piVar14;\n    piVar7[5] = iVar5;\n    iVar5 = aiStackY_e4[0];\n    while (iVar5 != 0) {\n      iVar5 = (**(code **)(pcVar17 + 0x3e758))(iVar9 + -0x1900);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar11 = piVar11 + 2;\n      iVar5 = *piVar11;\n    }\n    iVar5 = *(int *)(pcVar17 + 0x3e350);\nLAB_00015168:\n    iVar10 = piVar11[1];\n    iVar15 = *(int *)(pcVar17 + 0x3e350);\n    if (iVar10 == 0) {\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,iVar5 + -0xadc,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if ((iVar5 != 0) &&\n         (iVar5 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3),\n         iVar5 != 0)) {\n        iVar10 = iVar9 + -0x1900;\n        iVar5 = iVar10;\nLAB_0001536c:\n        uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5);\n        (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar9 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar10 = iVar9 + -0x1900;\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar10);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))();\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar4 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3);\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n        if (iVar4 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar9 + -0x1900);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      if (iVar10 == iVar5) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar10,iVar5);\n  } while( true );" do (compound_statement "{\n    pcVar18 = *(code **)(pcVar17 + 0x3e69c);\n    (*pcVar18)(iVar8);\nLAB_00014e58:\n    puVar13 = *(undefined4 **)(pcVar17 + 0x3e648);\n    uVar2 = (*pcVar18)();\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368));\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x188c,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1844,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x17f8,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x163c,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -5000,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x11e4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1114,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xff4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xd90,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xcc4,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc94,5);\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc5c,5);\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xb7c);\n    uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xb78,5);\n    piVar11 = aiStackY_e4;\n    (**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);\n    iVar5 = *(int *)(pcVar17 + 0x3e340);\n    piVar14 = (int *)(iVar5 + 0x3010);\n    piVar1 = piVar11;\n    do {\n      piVar7 = piVar1;\n      piVar3 = piVar14;\n      piVar14 = piVar3 + 4;\n      *piVar7 = *piVar3;\n      iVar10 = piVar3[2];\n      iVar9 = piVar3[3];\n      piVar7[1] = piVar3[1];\n      piVar7[2] = iVar10;\n      piVar7[3] = iVar9;\n      piVar1 = piVar7 + 4;\n    } while (piVar14 != (int *)(iVar5 + 0x3040));\n    iVar5 = piVar3[5];\n    iVar9 = *(int *)(pcVar17 + 0x3e350);\n    piVar7[4] = *piVar14;\n    piVar7[5] = iVar5;\n    iVar5 = aiStackY_e4[0];\n    while (iVar5 != 0) {\n      iVar5 = (**(code **)(pcVar17 + 0x3e758))(iVar9 + -0x1900);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar11 = piVar11 + 2;\n      iVar5 = *piVar11;\n    }\n    iVar5 = *(int *)(pcVar17 + 0x3e350);\nLAB_00015168:\n    iVar10 = piVar11[1];\n    iVar15 = *(int *)(pcVar17 + 0x3e350);\n    if (iVar10 == 0) {\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,iVar5 + -0xadc,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if ((iVar5 != 0) &&\n         (iVar5 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3),\n         iVar5 != 0)) {\n        iVar10 = iVar9 + -0x1900;\n        iVar5 = iVar10;\nLAB_0001536c:\n        uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5);\n        (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar9 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar10 = iVar9 + -0x1900;\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar10);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))();\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar4 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3);\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n        if (iVar4 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar9 + -0x1900);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      if (iVar10 == iVar5) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar10,iVar5);\n  }" { (expression_statement "pcVar18 = *(code **)(pcVar17 + 0x3e69c);" (assignment_expression "pcVar18 = *(code **)(pcVar17 + 0x3e69c)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x3e69c)" * (cast_expression "(code **)(pcVar17 + 0x3e69c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e69c)" ( (binary_expression "pcVar17 + 0x3e69c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar18)(iVar8);" (call_expression "(*pcVar18)(iVar8)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(iVar8)" ( identifier ))) ;) (labeled_statement "LAB_00014e58:\n    puVar13 = *(undefined4 **)(pcVar17 + 0x3e648);" statement_identifier : (expression_statement "puVar13 = *(undefined4 **)(pcVar17 + 0x3e648);" (assignment_expression "puVar13 = *(undefined4 **)(pcVar17 + 0x3e648)" identifier = (pointer_expression "*(undefined4 **)(pcVar17 + 0x3e648)" * (cast_expression "(undefined4 **)(pcVar17 + 0x3e648)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e648)" ( (binary_expression "pcVar17 + 0x3e648" identifier + number_literal) ))))) ;)) (expression_statement "uVar2 = (*pcVar18)();" (assignment_expression "uVar2 = (*pcVar18)()" identifier = (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368));" (call_expression "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368))" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e644))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e644)" * (pointer_expression "*(code **)(pcVar17 + 0x3e644)" * (cast_expression "(code **)(pcVar17 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e644)" ( (binary_expression "pcVar17 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar2,**(undefined4 **)(pcVar17 + 0x3e368))" ( number_literal , identifier , (pointer_expression "**(undefined4 **)(pcVar17 + 0x3e368)" * (pointer_expression "*(undefined4 **)(pcVar17 + 0x3e368)" * (cast_expression "(undefined4 **)(pcVar17 + 0x3e368)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e368)" ( (binary_expression "pcVar17 + 0x3e368" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x188c,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x188c,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x188c,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0x188c,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0x188c" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);" (call_expression "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e76c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e76c)" * (pointer_expression "*(code **)(pcVar17 + 0x3e76c)" * (cast_expression "(code **)(pcVar17 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e76c)" ( (binary_expression "pcVar17 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar2,*puVar13)" ( identifier , (pointer_expression "*puVar13" * identifier) ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1844,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1844,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1844,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0x1844,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0x1844" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);" (call_expression "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e76c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e76c)" * (pointer_expression "*(code **)(pcVar17 + 0x3e76c)" * (cast_expression "(code **)(pcVar17 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e76c)" ( (binary_expression "pcVar17 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar2,*puVar13)" ( identifier , (pointer_expression "*puVar13" * identifier) ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x17f8,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x17f8,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x17f8,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0x17f8,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0x17f8" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);" (call_expression "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e76c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e76c)" * (pointer_expression "*(code **)(pcVar17 + 0x3e76c)" * (cast_expression "(code **)(pcVar17 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e76c)" ( (binary_expression "pcVar17 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar2,*puVar13)" ( identifier , (pointer_expression "*puVar13" * identifier) ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x163c,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x163c,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x163c,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0x163c,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0x163c" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);" (call_expression "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e76c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e76c)" * (pointer_expression "*(code **)(pcVar17 + 0x3e76c)" * (cast_expression "(code **)(pcVar17 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e76c)" ( (binary_expression "pcVar17 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar2,*puVar13)" ( identifier , (pointer_expression "*puVar13" * identifier) ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -5000,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -5000,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -5000,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -5000,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -5000" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);" (call_expression "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e76c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e76c)" * (pointer_expression "*(code **)(pcVar17 + 0x3e76c)" * (cast_expression "(code **)(pcVar17 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e76c)" ( (binary_expression "pcVar17 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar2,*puVar13)" ( identifier , (pointer_expression "*puVar13" * identifier) ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x11e4,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x11e4,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x11e4,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0x11e4,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0x11e4" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);" (call_expression "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e76c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e76c)" * (pointer_expression "*(code **)(pcVar17 + 0x3e76c)" * (cast_expression "(code **)(pcVar17 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e76c)" ( (binary_expression "pcVar17 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar2,*puVar13)" ( identifier , (pointer_expression "*puVar13" * identifier) ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1114,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1114,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0x1114,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0x1114,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0x1114" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);" (call_expression "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e76c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e76c)" * (pointer_expression "*(code **)(pcVar17 + 0x3e76c)" * (cast_expression "(code **)(pcVar17 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e76c)" ( (binary_expression "pcVar17 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar2,*puVar13)" ( identifier , (pointer_expression "*puVar13" * identifier) ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xff4,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xff4,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xff4,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0xff4,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xff4" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);" (call_expression "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e76c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e76c)" * (pointer_expression "*(code **)(pcVar17 + 0x3e76c)" * (cast_expression "(code **)(pcVar17 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e76c)" ( (binary_expression "pcVar17 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar2,*puVar13)" ( identifier , (pointer_expression "*puVar13" * identifier) ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xd90,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xd90,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xd90,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0xd90,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xd90" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);" (call_expression "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e76c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e76c)" * (pointer_expression "*(code **)(pcVar17 + 0x3e76c)" * (cast_expression "(code **)(pcVar17 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e76c)" ( (binary_expression "pcVar17 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar2,*puVar13)" ( identifier , (pointer_expression "*puVar13" * identifier) ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xcc4,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xcc4,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xcc4,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0xcc4,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xcc4" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);" (call_expression "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e76c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e76c)" * (pointer_expression "*(code **)(pcVar17 + 0x3e76c)" * (cast_expression "(code **)(pcVar17 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e76c)" ( (binary_expression "pcVar17 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar2,*puVar13)" ( identifier , (pointer_expression "*puVar13" * identifier) ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc94,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc94,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc94,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0xc94,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xc94" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);" (call_expression "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e76c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e76c)" * (pointer_expression "*(code **)(pcVar17 + 0x3e76c)" * (cast_expression "(code **)(pcVar17 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e76c)" ( (binary_expression "pcVar17 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar2,*puVar13)" ( identifier , (pointer_expression "*puVar13" * identifier) ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc5c,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc5c,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xc5c,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0xc5c,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xc5c" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xb7c);" (call_expression "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xb7c)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e644))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e644)" * (pointer_expression "*(code **)(pcVar17 + 0x3e644)" * (cast_expression "(code **)(pcVar17 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e644)" ( (binary_expression "pcVar17 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xb7c)" ( number_literal , identifier , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xb7c" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xb78,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xb78,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xb78,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0xb78,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xb78" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "piVar11 = aiStackY_e4;" (assignment_expression "piVar11 = aiStackY_e4" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13);" (call_expression "(**(code **)(pcVar17 + 0x3e76c))(uVar2,*puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e76c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e76c)" * (pointer_expression "*(code **)(pcVar17 + 0x3e76c)" * (cast_expression "(code **)(pcVar17 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e76c)" ( (binary_expression "pcVar17 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar2,*puVar13)" ( identifier , (pointer_expression "*puVar13" * identifier) ))) ;) (expression_statement "iVar5 = *(int *)(pcVar17 + 0x3e340);" (assignment_expression "iVar5 = *(int *)(pcVar17 + 0x3e340)" identifier = (pointer_expression "*(int *)(pcVar17 + 0x3e340)" * (cast_expression "(int *)(pcVar17 + 0x3e340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e340)" ( (binary_expression "pcVar17 + 0x3e340" identifier + number_literal) ))))) ;) (expression_statement "piVar14 = (int *)(iVar5 + 0x3010);" (assignment_expression "piVar14 = (int *)(iVar5 + 0x3010)" identifier = (cast_expression "(int *)(iVar5 + 0x3010)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3010)" ( (binary_expression "iVar5 + 0x3010" identifier + number_literal) )))) ;) (expression_statement "piVar1 = piVar11;" (assignment_expression "piVar1 = piVar11" identifier = identifier) ;) (do_statement "do {\n      piVar7 = piVar1;\n      piVar3 = piVar14;\n      piVar14 = piVar3 + 4;\n      *piVar7 = *piVar3;\n      iVar10 = piVar3[2];\n      iVar9 = piVar3[3];\n      piVar7[1] = piVar3[1];\n      piVar7[2] = iVar10;\n      piVar7[3] = iVar9;\n      piVar1 = piVar7 + 4;\n    } while (piVar14 != (int *)(iVar5 + 0x3040));" do (compound_statement "{\n      piVar7 = piVar1;\n      piVar3 = piVar14;\n      piVar14 = piVar3 + 4;\n      *piVar7 = *piVar3;\n      iVar10 = piVar3[2];\n      iVar9 = piVar3[3];\n      piVar7[1] = piVar3[1];\n      piVar7[2] = iVar10;\n      piVar7[3] = iVar9;\n      piVar1 = piVar7 + 4;\n    }" { (expression_statement "piVar7 = piVar1;" (assignment_expression "piVar7 = piVar1" identifier = identifier) ;) (expression_statement "piVar3 = piVar14;" (assignment_expression "piVar3 = piVar14" identifier = identifier) ;) (expression_statement "piVar14 = piVar3 + 4;" (assignment_expression "piVar14 = piVar3 + 4" identifier = (binary_expression "piVar3 + 4" identifier + number_literal)) ;) (expression_statement "*piVar7 = *piVar3;" (assignment_expression "*piVar7 = *piVar3" (pointer_expression "*piVar7" * identifier) = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "iVar10 = piVar3[2];" (assignment_expression "iVar10 = piVar3[2]" identifier = (subscript_expression "piVar3[2]" identifier [ number_literal ])) ;) (expression_statement "iVar9 = piVar3[3];" (assignment_expression "iVar9 = piVar3[3]" identifier = (subscript_expression "piVar3[3]" identifier [ number_literal ])) ;) (expression_statement "piVar7[1] = piVar3[1];" (assignment_expression "piVar7[1] = piVar3[1]" (subscript_expression "piVar7[1]" identifier [ number_literal ]) = (subscript_expression "piVar3[1]" identifier [ number_literal ])) ;) (expression_statement "piVar7[2] = iVar10;" (assignment_expression "piVar7[2] = iVar10" (subscript_expression "piVar7[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar7[3] = iVar9;" (assignment_expression "piVar7[3] = iVar9" (subscript_expression "piVar7[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar1 = piVar7 + 4;" (assignment_expression "piVar1 = piVar7 + 4" identifier = (binary_expression "piVar7 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar14 != (int *)(iVar5 + 0x3040))" ( (binary_expression "piVar14 != (int *)(iVar5 + 0x3040)" identifier != (cast_expression "(int *)(iVar5 + 0x3040)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3040)" ( (binary_expression "iVar5 + 0x3040" identifier + number_literal) )))) )) ;) (expression_statement "iVar5 = piVar3[5];" (assignment_expression "iVar5 = piVar3[5]" identifier = (subscript_expression "piVar3[5]" identifier [ number_literal ])) ;) (expression_statement "iVar9 = *(int *)(pcVar17 + 0x3e350);" (assignment_expression "iVar9 = *(int *)(pcVar17 + 0x3e350)" identifier = (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) ))))) ;) (expression_statement "piVar7[4] = *piVar14;" (assignment_expression "piVar7[4] = *piVar14" (subscript_expression "piVar7[4]" identifier [ number_literal ]) = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "piVar7[5] = iVar5;" (assignment_expression "piVar7[5] = iVar5" (subscript_expression "piVar7[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar5 = aiStackY_e4[0];" (assignment_expression "iVar5 = aiStackY_e4[0]" identifier = (subscript_expression "aiStackY_e4[0]" identifier [ number_literal ])) ;) (while_statement "while (iVar5 != 0) {\n      iVar5 = (**(code **)(pcVar17 + 0x3e758))(iVar9 + -0x1900);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar11 = piVar11 + 2;\n      iVar5 = *piVar11;\n    }" while (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar5 = (**(code **)(pcVar17 + 0x3e758))(iVar9 + -0x1900);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar11 = piVar11 + 2;\n      iVar5 = *piVar11;\n    }" { (expression_statement "iVar5 = (**(code **)(pcVar17 + 0x3e758))(iVar9 + -0x1900);" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x3e758))(iVar9 + -0x1900)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e758))(iVar9 + -0x1900)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e758))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e758)" * (pointer_expression "*(code **)(pcVar17 + 0x3e758)" * (cast_expression "(code **)(pcVar17 + 0x3e758)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e758)" ( (binary_expression "pcVar17 + 0x3e758" identifier + number_literal) ))))) )) (argument_list "(iVar9 + -0x1900)" ( (binary_expression "iVar9 + -0x1900" identifier + number_literal) )))) ;) (if_statement "if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350);\n        goto LAB_00015168;\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar5 = *(int *)(pcVar17 + 0x3e350);\n        goto LAB_00015168;\n      }" { (expression_statement "iVar5 = *(int *)(pcVar17 + 0x3e350);" (assignment_expression "iVar5 = *(int *)(pcVar17 + 0x3e350)" identifier = (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00015168;" goto statement_identifier ;) })) (expression_statement "piVar11 = piVar11 + 2;" (assignment_expression "piVar11 = piVar11 + 2" identifier = (binary_expression "piVar11 + 2" identifier + number_literal)) ;) (expression_statement "iVar5 = *piVar11;" (assignment_expression "iVar5 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) })) (expression_statement "iVar5 = *(int *)(pcVar17 + 0x3e350);" (assignment_expression "iVar5 = *(int *)(pcVar17 + 0x3e350)" identifier = (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00015168:\n    iVar10 = piVar11[1];" statement_identifier : (expression_statement "iVar10 = piVar11[1];" (assignment_expression "iVar10 = piVar11[1]" identifier = (subscript_expression "piVar11[1]" identifier [ number_literal ])) ;)) (expression_statement "iVar15 = *(int *)(pcVar17 + 0x3e350);" (assignment_expression "iVar15 = *(int *)(pcVar17 + 0x3e350)" identifier = (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) ))))) ;) (if_statement "if (iVar10 == 0) {\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,iVar5 + -0xadc,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if ((iVar5 != 0) &&\n         (iVar5 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3),\n         iVar5 != 0)) {\n        iVar10 = iVar9 + -0x1900;\n        iVar5 = iVar10;\nLAB_0001536c:\n        uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5);\n        (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar9 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar10 = iVar9 + -0x1900;\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar10);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))();\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar4 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3);\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n        if (iVar4 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar9 + -0x1900);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      if (iVar10 == iVar5) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + 0x1f44;\n      }\n    }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,iVar5 + -0xadc,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if ((iVar5 != 0) &&\n         (iVar5 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3),\n         iVar5 != 0)) {\n        iVar10 = iVar9 + -0x1900;\n        iVar5 = iVar10;\nLAB_0001536c:\n        uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5);\n        (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar9 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar10 = iVar9 + -0x1900;\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar10);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n    }" { (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,iVar5 + -0xadc,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,iVar5 + -0xadc,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,iVar5 + -0xadc,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,iVar5 + -0xadc,5)" ( number_literal , (binary_expression "iVar5 + -0xadc" identifier + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;" (call_expression "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e644))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e644)" * (pointer_expression "*(code **)(pcVar17 + 0x3e644)" * (cast_expression "(code **)(pcVar17 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e644)" ( (binary_expression "pcVar17 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)" ( number_literal , identifier , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xa9c" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar15 + -0xac4" identifier + number_literal) ))) ;) (expression_statement "iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e624))(5,0)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e624))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e624)" * (pointer_expression "*(code **)(pcVar17 + 0x3e624)" * (cast_expression "(code **)(pcVar17 + 0x3e624)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e624)" ( (binary_expression "pcVar17 + 0x3e624" identifier + number_literal) ))))) )) (argument_list "(5,0)" ( number_literal , number_literal )))) ;) (if_statement "if ((iVar5 != 0) &&\n         (iVar5 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3),\n         iVar5 != 0)) {\n        iVar10 = iVar9 + -0x1900;\n        iVar5 = iVar10;\nLAB_0001536c:\n        uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5);\n        (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar9 + -0x1900);\n        goto LAB_000151f0;\n      }" if (parenthesized_expression "((iVar5 != 0) &&\n         (iVar5 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3),\n         iVar5 != 0))" ( (binary_expression "(iVar5 != 0) &&\n         (iVar5 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3),\n         iVar5 != 0)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar5 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3),\n         iVar5 != 0)" ( (comma_expression "iVar5 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3),\n         iVar5 != 0" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e5d0))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e5d0)" * (pointer_expression "*(code **)(pcVar17 + 0x3e5d0)" * (cast_expression "(code **)(pcVar17 + 0x3e5d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e5d0)" ( (binary_expression "pcVar17 + 0x3e5d0" identifier + number_literal) ))))) )) (argument_list "(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3)" ( identifier , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xa8c" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        iVar10 = iVar9 + -0x1900;\n        iVar5 = iVar10;\nLAB_0001536c:\n        uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5);\n        (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar9 + -0x1900);\n        goto LAB_000151f0;\n      }" { (expression_statement "iVar10 = iVar9 + -0x1900;" (assignment_expression "iVar10 = iVar9 + -0x1900" identifier = (binary_expression "iVar9 + -0x1900" identifier + number_literal)) ;) (expression_statement "iVar5 = iVar10;" (assignment_expression "iVar5 = iVar10" identifier = identifier) ;) (labeled_statement "LAB_0001536c:\n        uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5);" statement_identifier : (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0xa88,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xa88" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;)) (expression_statement "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar9 + -0x1900);" (call_expression "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar9 + -0x1900)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e644))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e644)" * (pointer_expression "*(code **)(pcVar17 + 0x3e644)" * (cast_expression "(code **)(pcVar17 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e644)" ( (binary_expression "pcVar17 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar2,iVar9 + -0x1900)" ( number_literal , identifier , (binary_expression "iVar9 + -0x1900" identifier + number_literal) ))) ;) (goto_statement "goto LAB_000151f0;" goto statement_identifier ;) })) (expression_statement "iVar10 = iVar9 + -0x1900;" (assignment_expression "iVar10 = iVar9 + -0x1900" identifier = (binary_expression "iVar9 + -0x1900" identifier + number_literal)) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xa40" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar10);" (call_expression "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar10)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e644))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e644)" * (pointer_expression "*(code **)(pcVar17 + 0x3e644)" * (cast_expression "(code **)(pcVar17 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e644)" ( (binary_expression "pcVar17 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar2,iVar15 + -0xac4,iVar10)" ( number_literal , identifier , (binary_expression "iVar15 + -0xac4" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xa20" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;" (assignment_expression "iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4" identifier = (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0x9e4" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))();\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar4 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3);\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n        if (iVar4 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar9 + -0x1900);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      if (iVar10 == iVar5) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + 0x1f44;\n      }\n    }" else (compound_statement "{\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))();\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;\n      iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);\n      if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar4 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3);\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n        if (iVar4 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);\n      (**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar9 + -0x1900);\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);\n      if (iVar10 == iVar5) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + 0x1f44;\n      }\n    }" { (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))();" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))()" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))()" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)\n      ;" (call_expression "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e644))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e644)" * (pointer_expression "*(code **)(pcVar17 + 0x3e644)" * (cast_expression "(code **)(pcVar17 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e644)" ( (binary_expression "pcVar17 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar2,*(int *)(pcVar17 + 0x3e350) + -0xa9c,iVar15 + -0xac4)" ( number_literal , identifier , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xa9c" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar15 + -0xac4" identifier + number_literal) ))) ;) (expression_statement "iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0);" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x3e624))(5,0)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e624))(5,0)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e624))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e624)" * (pointer_expression "*(code **)(pcVar17 + 0x3e624)" * (cast_expression "(code **)(pcVar17 + 0x3e624)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e624)" ( (binary_expression "pcVar17 + 0x3e624" identifier + number_literal) ))))) )) (argument_list "(5,0)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar5 == 0) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar4 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3);\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n        if (iVar4 != 0) goto LAB_0001536c;\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n      }" { (expression_statement "iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;" (assignment_expression "iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900" identifier = (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0x1900" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar4 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3);\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n        if (iVar4 != 0) goto LAB_0001536c;\n      }" else (compound_statement "{\n        iVar4 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3);\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;\n        if (iVar4 != 0) goto LAB_0001536c;\n      }" { (expression_statement "iVar4 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3);" (assignment_expression "iVar4 = (**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e5d0))(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e5d0))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e5d0)" * (pointer_expression "*(code **)(pcVar17 + 0x3e5d0)" * (cast_expression "(code **)(pcVar17 + 0x3e5d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e5d0)" ( (binary_expression "pcVar17 + 0x3e5d0" identifier + number_literal) ))))) )) (argument_list "(iVar5,*(int *)(pcVar17 + 0x3e350) + -0xa8c,3)" ( identifier , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xa8c" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900;" (assignment_expression "iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x1900" identifier = (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0x1900" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (iVar4 != 0) goto LAB_0001536c;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001536c;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000151f0:\n      uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);" statement_identifier : (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0xa40,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xa40" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;)) (expression_statement "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar9 + -0x1900);" (call_expression "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar15 + -0xac4,iVar9 + -0x1900)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e644))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e644)" * (pointer_expression "*(code **)(pcVar17 + 0x3e644)" * (cast_expression "(code **)(pcVar17 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e644)" ( (binary_expression "pcVar17 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar2,iVar15 + -0xac4,iVar9 + -0x1900)" ( number_literal , identifier , (binary_expression "iVar15 + -0xac4" identifier + number_literal) , (binary_expression "iVar9 + -0x1900" identifier + number_literal) ))) ;) (expression_statement "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5);" (assignment_expression "uVar2 = (**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3e710))(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e710))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e710)" * (pointer_expression "*(code **)(pcVar17 + 0x3e710)" * (cast_expression "(code **)(pcVar17 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e710)" ( (binary_expression "pcVar17 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar17 + 0x3e350) + -0xa20,5)" ( number_literal , (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0xa20" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if (iVar10 == iVar5) {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + 0x1f44;\n      }" if (parenthesized_expression "(iVar10 == iVar5)" ( (binary_expression "iVar10 == iVar5" identifier == identifier) )) (compound_statement "{\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;\n      }" { (expression_statement "iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4;" (assignment_expression "iVar5 = *(int *)(pcVar17 + 0x3e350) + -0x9e4" identifier = (binary_expression "*(int *)(pcVar17 + 0x3e350) + -0x9e4" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + 0x1f44;\n      }" else (compound_statement "{\n        iVar5 = *(int *)(pcVar17 + 0x3e350) + 0x1f44;\n      }" { (expression_statement "iVar5 = *(int *)(pcVar17 + 0x3e350) + 0x1f44;" (assignment_expression "iVar5 = *(int *)(pcVar17 + 0x3e350) + 0x1f44" identifier = (binary_expression "*(int *)(pcVar17 + 0x3e350) + 0x1f44" (pointer_expression "*(int *)(pcVar17 + 0x3e350)" * (cast_expression "(int *)(pcVar17 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3e350)" ( (binary_expression "pcVar17 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) }))) }))) (expression_statement "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar10,iVar5);" (call_expression "(**(code **)(pcVar17 + 0x3e644))(1,uVar2,iVar10,iVar5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3e644))" ( (pointer_expression "**(code **)(pcVar17 + 0x3e644)" * (pointer_expression "*(code **)(pcVar17 + 0x3e644)" * (cast_expression "(code **)(pcVar17 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3e644)" ( (binary_expression "pcVar17 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar2,iVar10,iVar5)" ( number_literal , identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void FUN_00014ba4(undefined4 *param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  int *piVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int *piVar15;\n  undefined *puVar16;\n  int iVar17;\n  undefined1 *unaff_s4;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  int aiStack_e4 [14];\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined *puStack_a4;\n  undefined4 *puStack_a0;\n  undefined4 uStack_9c;\n  undefined1 *puStack_98;\n  code *pcStack_94;\n  undefined4 local_80;\n  int local_70;\n  undefined4 local_6c;\n  undefined1 auStack_68 [44];\n  undefined1 auStack_3c [24];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000534f0;\n  local_24 = *(int *)PTR___stack_chk_guard_000534f0;\n  if (PTR_DAT_00053108[0x35a9] == '\0') {\n    uVar12 = param_1[1];\n    uVar9 = *param_1;\n  }\n  else {\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }\n  FUN_00014ad0(uVar9,uVar12);\n  puVar16 = PTR_stdout_00053410;\n  if (PTR_DAT_00053108[0x35a8] != '\0') {\n    iVar10 = *(int *)PTR_stdout_00053410;\n    puVar7 = *(undefined1 **)(iVar10 + 0x14);\n    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }\n    unaff_s4 = auStack_68;\n    local_70 = param_1[4];\n    local_6c = param_1[5];\n    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);\n    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);\n    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);\n    if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }\n  }\n  uVar9 = 10;\n  if (PTR_DAT_00053108[0x35ba] != '\0') {\n    uVar9 = 0;\n  }\n  (*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9);\n  iVar10 = *(int *)puVar16;\n  (*(code *)PTR_fflush_unlocked_000534cc)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar20 = usage;\n  puVar18 = PTR___stack_chk_fail_000534d4;\n  (*(code *)PTR___stack_chk_fail_000534d4)();\n  puStack_a8 = puVar1;\n  uStack_ac = **(undefined4 **)(puVar18 + 0x3e728);\n  pcVar19 = *(code **)(puVar18 + 0x3e710);\n  puStack_a4 = puVar16;\n  puStack_a0 = param_1;\n  uStack_9c = param_2;\n  puStack_98 = unaff_s4;\n  pcStack_94 = pcVar20;\n  if (iVar10 == 0) goto LAB_00014e58;\n  uVar12 = **(undefined4 **)(puVar18 + 0x3e748);\n  uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5);\n  (**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n  do {\n    pcVar19 = *(code **)(puVar18 + 0x3e69c);\n    (*pcVar19)(iVar10);\nLAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);\n    uVar9 = (*pcVar19)();\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);\n    piVar15 = aiStack_e4;\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    iVar3 = *(int *)(puVar18 + 0x3e340);\n    piVar5 = (int *)(iVar3 + 0x3010);\n    piVar2 = piVar15;\n    do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));\n    iVar3 = piVar4[5];\n    iVar11 = *(int *)(puVar18 + 0x3e350);\n    piVar8[4] = *piVar5;\n    piVar8[5] = iVar3;\n    iVar3 = aiStack_e4[0];\n    while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }\n    iVar3 = *(int *)(puVar18 + 0x3e350);\nLAB_00015168:\n    iVar13 = piVar15[1];\n    iVar17 = *(int *)(puVar18 + 0x3e350);\n    if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);\n  } while( true );\n}\n\n" (function_definition "void FUN_00014ba4(undefined4 *param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  int *piVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int *piVar15;\n  undefined *puVar16;\n  int iVar17;\n  undefined1 *unaff_s4;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  int aiStack_e4 [14];\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined *puStack_a4;\n  undefined4 *puStack_a0;\n  undefined4 uStack_9c;\n  undefined1 *puStack_98;\n  code *pcStack_94;\n  undefined4 local_80;\n  int local_70;\n  undefined4 local_6c;\n  undefined1 auStack_68 [44];\n  undefined1 auStack_3c [24];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000534f0;\n  local_24 = *(int *)PTR___stack_chk_guard_000534f0;\n  if (PTR_DAT_00053108[0x35a9] == '\0') {\n    uVar12 = param_1[1];\n    uVar9 = *param_1;\n  }\n  else {\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }\n  FUN_00014ad0(uVar9,uVar12);\n  puVar16 = PTR_stdout_00053410;\n  if (PTR_DAT_00053108[0x35a8] != '\0') {\n    iVar10 = *(int *)PTR_stdout_00053410;\n    puVar7 = *(undefined1 **)(iVar10 + 0x14);\n    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }\n    unaff_s4 = auStack_68;\n    local_70 = param_1[4];\n    local_6c = param_1[5];\n    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);\n    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);\n    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);\n    if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }\n  }\n  uVar9 = 10;\n  if (PTR_DAT_00053108[0x35ba] != '\0') {\n    uVar9 = 0;\n  }\n  (*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9);\n  iVar10 = *(int *)puVar16;\n  (*(code *)PTR_fflush_unlocked_000534cc)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar20 = usage;\n  puVar18 = PTR___stack_chk_fail_000534d4;\n  (*(code *)PTR___stack_chk_fail_000534d4)();\n  puStack_a8 = puVar1;\n  uStack_ac = **(undefined4 **)(puVar18 + 0x3e728);\n  pcVar19 = *(code **)(puVar18 + 0x3e710);\n  puStack_a4 = puVar16;\n  puStack_a0 = param_1;\n  uStack_9c = param_2;\n  puStack_98 = unaff_s4;\n  pcStack_94 = pcVar20;\n  if (iVar10 == 0) goto LAB_00014e58;\n  uVar12 = **(undefined4 **)(puVar18 + 0x3e748);\n  uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5);\n  (**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n  do {\n    pcVar19 = *(code **)(puVar18 + 0x3e69c);\n    (*pcVar19)(iVar10);\nLAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);\n    uVar9 = (*pcVar19)();\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);\n    piVar15 = aiStack_e4;\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    iVar3 = *(int *)(puVar18 + 0x3e340);\n    piVar5 = (int *)(iVar3 + 0x3010);\n    piVar2 = piVar15;\n    do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));\n    iVar3 = piVar4[5];\n    iVar11 = *(int *)(puVar18 + 0x3e350);\n    piVar8[4] = *piVar5;\n    piVar8[5] = iVar3;\n    iVar3 = aiStack_e4[0];\n    while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }\n    iVar3 = *(int *)(puVar18 + 0x3e350);\nLAB_00015168:\n    iVar13 = piVar15[1];\n    iVar17 = *(int *)(puVar18 + 0x3e350);\n    if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);\n  } while( true );\n}" primitive_type (function_declarator "FUN_00014ba4(undefined4 *param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  int *piVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int *piVar15;\n  undefined *puVar16;\n  int iVar17;\n  undefined1 *unaff_s4;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  int aiStack_e4 [14];\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined *puStack_a4;\n  undefined4 *puStack_a0;\n  undefined4 uStack_9c;\n  undefined1 *puStack_98;\n  code *pcStack_94;\n  undefined4 local_80;\n  int local_70;\n  undefined4 local_6c;\n  undefined1 auStack_68 [44];\n  undefined1 auStack_3c [24];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000534f0;\n  local_24 = *(int *)PTR___stack_chk_guard_000534f0;\n  if (PTR_DAT_00053108[0x35a9] == '\0') {\n    uVar12 = param_1[1];\n    uVar9 = *param_1;\n  }\n  else {\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }\n  FUN_00014ad0(uVar9,uVar12);\n  puVar16 = PTR_stdout_00053410;\n  if (PTR_DAT_00053108[0x35a8] != '\0') {\n    iVar10 = *(int *)PTR_stdout_00053410;\n    puVar7 = *(undefined1 **)(iVar10 + 0x14);\n    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }\n    unaff_s4 = auStack_68;\n    local_70 = param_1[4];\n    local_6c = param_1[5];\n    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);\n    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);\n    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);\n    if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }\n  }\n  uVar9 = 10;\n  if (PTR_DAT_00053108[0x35ba] != '\0') {\n    uVar9 = 0;\n  }\n  (*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9);\n  iVar10 = *(int *)puVar16;\n  (*(code *)PTR_fflush_unlocked_000534cc)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar20 = usage;\n  puVar18 = PTR___stack_chk_fail_000534d4;\n  (*(code *)PTR___stack_chk_fail_000534d4)();\n  puStack_a8 = puVar1;\n  uStack_ac = **(undefined4 **)(puVar18 + 0x3e728);\n  pcVar19 = *(code **)(puVar18 + 0x3e710);\n  puStack_a4 = puVar16;\n  puStack_a0 = param_1;\n  uStack_9c = param_2;\n  puStack_98 = unaff_s4;\n  pcStack_94 = pcVar20;\n  if (iVar10 == 0) goto LAB_00014e58;\n  uVar12 = **(undefined4 **)(puVar18 + 0x3e748);\n  uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5);\n  (**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n  do {\n    pcVar19 = *(code **)(puVar18 + 0x3e69c);\n    (*pcVar19)(iVar10);\nLAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);\n    uVar9 = (*pcVar19)();\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);\n    piVar15 = aiStack_e4;\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    iVar3 = *(int *)(puVar18 + 0x3e340);\n    piVar5 = (int *)(iVar3 + 0x3010);\n    piVar2 = piVar15;\n    do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));\n    iVar3 = piVar4[5];\n    iVar11 = *(int *)(puVar18 + 0x3e350);\n    piVar8[4] = *piVar5;\n    piVar8[5] = iVar3;\n    iVar3 = aiStack_e4[0];\n    while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }\n    iVar3 = *(int *)(puVar18 + 0x3e350);\nLAB_00015168:\n    iVar13 = piVar15[1];\n    iVar17 = *(int *)(puVar18 + 0x3e350);\n    if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined1 *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "int aiStack_e4 [14];" primitive_type (array_declarator "aiStack_e4 [14]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "undefined *puStack_a8;" type_identifier (pointer_declarator "*puStack_a8" * identifier) ;) (declaration "undefined *puStack_a4;" type_identifier (pointer_declarator "*puStack_a4" * identifier) ;) (declaration "undefined4 *puStack_a0;" type_identifier (pointer_declarator "*puStack_a0" * identifier) ;) (declaration "undefined4 uStack_9c;" type_identifier identifier ;) (declaration "undefined1 *puStack_98;" type_identifier (pointer_declarator "*puStack_98" * identifier) ;) (declaration "code *pcStack_94;" type_identifier (pointer_declarator "*pcStack_94" * identifier) ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "undefined1 auStack_68 [44];" type_identifier (array_declarator "auStack_68 [44]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_3c [24];" type_identifier (array_declarator "auStack_3c [24]" identifier [ number_literal ]) ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000534f0;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000534f0" identifier = identifier) ;) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_000534f0;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_000534f0" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000534f0" * (cast_expression "(int *)PTR___stack_chk_guard_000534f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (PTR_DAT_00053108[0x35a9] == '\0') {\n    uVar12 = param_1[1];\n    uVar9 = *param_1;\n  }\n  else {\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }" if (parenthesized_expression "(PTR_DAT_00053108[0x35a9] == '\0')" ( (binary_expression "PTR_DAT_00053108[0x35a9] == '\0'" (subscript_expression "PTR_DAT_00053108[0x35a9]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar12 = param_1[1];\n    uVar9 = *param_1;\n  }" { (expression_statement "uVar12 = param_1[1];" (assignment_expression "uVar12 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = *param_1;" (assignment_expression "uVar9 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) }) (else_clause "else {\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }" else (compound_statement "{\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }" { (expression_statement "uVar12 = param_1[3];" (assignment_expression "uVar12 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = param_1[2];" (assignment_expression "uVar9 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) }))) (expression_statement "FUN_00014ad0(uVar9,uVar12);" (call_expression "FUN_00014ad0(uVar9,uVar12)" identifier (argument_list "(uVar9,uVar12)" ( identifier , identifier ))) ;) (expression_statement "puVar16 = PTR_stdout_00053410;" (assignment_expression "puVar16 = PTR_stdout_00053410" identifier = identifier) ;) (if_statement "if (PTR_DAT_00053108[0x35a8] != '\0') {\n    iVar10 = *(int *)PTR_stdout_00053410;\n    puVar7 = *(undefined1 **)(iVar10 + 0x14);\n    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }\n    unaff_s4 = auStack_68;\n    local_70 = param_1[4];\n    local_6c = param_1[5];\n    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);\n    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);\n    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);\n    if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }\n  }" if (parenthesized_expression "(PTR_DAT_00053108[0x35a8] != '\0')" ( (binary_expression "PTR_DAT_00053108[0x35a8] != '\0'" (subscript_expression "PTR_DAT_00053108[0x35a8]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar10 = *(int *)PTR_stdout_00053410;\n    puVar7 = *(undefined1 **)(iVar10 + 0x14);\n    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }\n    unaff_s4 = auStack_68;\n    local_70 = param_1[4];\n    local_6c = param_1[5];\n    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);\n    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);\n    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);\n    if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }\n  }" { (expression_statement "iVar10 = *(int *)PTR_stdout_00053410;" (assignment_expression "iVar10 = *(int *)PTR_stdout_00053410" identifier = (pointer_expression "*(int *)PTR_stdout_00053410" * (cast_expression "(int *)PTR_stdout_00053410" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar7 = *(undefined1 **)(iVar10 + 0x14);" (assignment_expression "puVar7 = *(undefined1 **)(iVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(iVar10 + 0x14)" * (cast_expression "(undefined1 **)(iVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }" if (parenthesized_expression "(puVar7 < *(undefined1 **)(iVar10 + 0x18))" ( (binary_expression "puVar7 < *(undefined1 **)(iVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(iVar10 + 0x18)" * (cast_expression "(undefined1 **)(iVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }" { (expression_statement "*(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;" (assignment_expression "*(undefined1 **)(iVar10 + 0x14) = puVar7 + 1" (pointer_expression "*(undefined1 **)(iVar10 + 0x14)" * (cast_expression "(undefined1 **)(iVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar7 + 1" identifier + number_literal)) ;) (expression_statement "*puVar7 = 9;" (assignment_expression "*puVar7 = 9" (pointer_expression "*puVar7" * identifier) = number_literal) ;) }) (else_clause "else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }" else (compound_statement "{\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }" { (expression_statement "(*(code *)PTR___overflow_000533e4)(iVar10,9);" (call_expression "(*(code *)PTR___overflow_000533e4)(iVar10,9)" (parenthesized_expression "(*(code *)PTR___overflow_000533e4)" ( (pointer_expression "*(code *)PTR___overflow_000533e4" * (cast_expression "(code *)PTR___overflow_000533e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10,9)" ( identifier , number_literal ))) ;) }))) (expression_statement "unaff_s4 = auStack_68;" (assignment_expression "unaff_s4 = auStack_68" identifier = identifier) ;) (expression_statement "local_70 = param_1[4];" (assignment_expression "local_70 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "local_6c = param_1[5];" (assignment_expression "local_6c = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);" (assignment_expression "param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598)" identifier = (pointer_expression "*(undefined4 **)(PTR_DAT_00053108 + 0x3598)" * (cast_expression "(undefined4 **)(PTR_DAT_00053108 + 0x3598)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_00053108 + 0x3598)" ( (binary_expression "PTR_DAT_00053108 + 0x3598" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);" (assignment_expression "uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c)" identifier = (pointer_expression "*(undefined4 *)(PTR_DAT_00053108 + 0x359c)" * (cast_expression "(undefined4 *)(PTR_DAT_00053108 + 0x359c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00053108 + 0x359c)" ( (binary_expression "PTR_DAT_00053108 + 0x359c" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);" (assignment_expression "iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4)" identifier = (call_expression "(*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4)" (parenthesized_expression "(*(code *)PTR_localtime_rz_00053120)" ( (pointer_expression "*(code *)PTR_localtime_rz_00053120" * (cast_expression "(code *)PTR_localtime_rz_00053120" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,&local_70,unaff_s4)" ( identifier , (pointer_expression "&local_70" & identifier) , identifier )))) ;) (if_statement "if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }" { (expression_statement "param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);" (assignment_expression "param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c)" identifier = (cast_expression "(undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "imaxtostr(local_70 >> 0x1f,local_70,auStack_3c)" identifier (argument_list "(local_70 >> 0x1f,local_70,auStack_3c)" ( (binary_expression "local_70 >> 0x1f" identifier >> number_literal) , identifier , identifier ))))) ;) (expression_statement "unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);" (assignment_expression "unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000534d8)" ( (pointer_expression "*(code *)PTR_dcgettext_000534d8" * (cast_expression "(code *)PTR_dcgettext_000534d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_UINT_00053118 + -0x1920,5)" ( number_literal , (binary_expression "PTR_UINT_00053118 + -0x1920" identifier + number_literal) , number_literal ))))) ;) (expression_statement "uVar9 = quote(param_1);" (assignment_expression "uVar9 = quote(param_1)" identifier = (call_expression "quote(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);" (call_expression "(*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9)" (parenthesized_expression "(*(code *)PTR_error_00053480)" ( (pointer_expression "*(code *)PTR_error_00053480" * (cast_expression "(code *)PTR_error_00053480" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,unaff_s4,uVar9)" ( number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);" (call_expression "(*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_00053534)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_00053534" * (cast_expression "(code *)PTR_fputs_unlocked_00053534" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,*(undefined4 *)puVar16)" ( identifier , (pointer_expression "*(undefined4 *)puVar16" * (cast_expression "(undefined4 *)puVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) }) (else_clause "else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }" else (compound_statement "{\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }" { (expression_statement "local_80 = local_6c;" (assignment_expression "local_80 = local_6c" identifier = identifier) ;) (expression_statement "fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);" (call_expression "fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1)" identifier (argument_list "(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1)" ( (pointer_expression "*(undefined4 *)puVar16" * (cast_expression "(undefined4 *)puVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier , identifier , identifier ))) ;) }))) })) (expression_statement "uVar9 = 10;" (assignment_expression "uVar9 = 10" identifier = number_literal) ;) (if_statement "if (PTR_DAT_00053108[0x35ba] != '\0') {\n    uVar9 = 0;\n  }" if (parenthesized_expression "(PTR_DAT_00053108[0x35ba] != '\0')" ( (binary_expression "PTR_DAT_00053108[0x35ba] != '\0'" (subscript_expression "PTR_DAT_00053108[0x35ba]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar9 = 0;\n  }" { (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) })) (expression_statement "(*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9);" (call_expression "(*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9)" (parenthesized_expression "(*(code *)PTR___printf_chk_0005340c)" ( (pointer_expression "*(code *)PTR___printf_chk_0005340c" * (cast_expression "(code *)PTR___printf_chk_0005340c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9)" ( number_literal , (binary_expression "PTR_UINT_00053118 + -0x1908" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar10 = *(int *)puVar16;" (assignment_expression "iVar10 = *(int *)puVar16" identifier = (pointer_expression "*(int *)puVar16" * (cast_expression "(int *)puVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(*(code *)PTR_fflush_unlocked_000534cc)();" (call_expression "(*(code *)PTR_fflush_unlocked_000534cc)()" (parenthesized_expression "(*(code *)PTR_fflush_unlocked_000534cc)" ( (pointer_expression "*(code *)PTR_fflush_unlocked_000534cc" * (cast_expression "(code *)PTR_fflush_unlocked_000534cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (local_24 == *(int *)puVar1) {\n    return;\n  }" if (parenthesized_expression "(local_24 == *(int *)puVar1)" ( (binary_expression "local_24 == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar20 = usage;" (assignment_expression "pcVar20 = usage" identifier = identifier) ;) (expression_statement "puVar18 = PTR___stack_chk_fail_000534d4;" (assignment_expression "puVar18 = PTR___stack_chk_fail_000534d4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000534d4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000534d4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000534d4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000534d4" * (cast_expression "(code *)PTR___stack_chk_fail_000534d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_a8 = puVar1;" (assignment_expression "puStack_a8 = puVar1" identifier = identifier) ;) (expression_statement "uStack_ac = **(undefined4 **)(puVar18 + 0x3e728);" (assignment_expression "uStack_ac = **(undefined4 **)(puVar18 + 0x3e728)" identifier = (pointer_expression "**(undefined4 **)(puVar18 + 0x3e728)" * (pointer_expression "*(undefined4 **)(puVar18 + 0x3e728)" * (cast_expression "(undefined4 **)(puVar18 + 0x3e728)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e728)" ( (binary_expression "puVar18 + 0x3e728" identifier + number_literal) )))))) ;) (expression_statement "pcVar19 = *(code **)(puVar18 + 0x3e710);" (assignment_expression "pcVar19 = *(code **)(puVar18 + 0x3e710)" identifier = (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) ;) (expression_statement "puStack_a4 = puVar16;" (assignment_expression "puStack_a4 = puVar16" identifier = identifier) ;) (expression_statement "puStack_a0 = param_1;" (assignment_expression "puStack_a0 = param_1" identifier = identifier) ;) (expression_statement "uStack_9c = param_2;" (assignment_expression "uStack_9c = param_2" identifier = identifier) ;) (expression_statement "puStack_98 = unaff_s4;" (assignment_expression "puStack_98 = unaff_s4" identifier = identifier) ;) (expression_statement "pcStack_94 = pcVar20;" (assignment_expression "pcStack_94 = pcVar20" identifier = identifier) ;) (if_statement "if (iVar10 == 0) goto LAB_00014e58;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00014e58;" goto statement_identifier ;)) (expression_statement "uVar12 = **(undefined4 **)(puVar18 + 0x3e748);" (assignment_expression "uVar12 = **(undefined4 **)(puVar18 + 0x3e748)" identifier = (pointer_expression "**(undefined4 **)(puVar18 + 0x3e748)" * (pointer_expression "*(undefined4 **)(puVar18 + 0x3e748)" * (cast_expression "(undefined4 **)(puVar18 + 0x3e748)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e748)" ( (binary_expression "puVar18 + 0x3e748" identifier + number_literal) )))))) ;) (expression_statement "uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5);" (assignment_expression "uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5)" identifier = (call_expression "(*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x18fc" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));" (call_expression "(**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368))" (parenthesized_expression "(**(code **)(puVar18 + 0x3e5dc))" ( (pointer_expression "**(code **)(puVar18 + 0x3e5dc)" * (pointer_expression "*(code **)(puVar18 + 0x3e5dc)" * (cast_expression "(code **)(puVar18 + 0x3e5dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e5dc)" ( (binary_expression "puVar18 + 0x3e5dc" identifier + number_literal) ))))) )) (argument_list "(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368))" ( identifier , number_literal , identifier , (pointer_expression "**(undefined4 **)(puVar18 + 0x3e368)" * (pointer_expression "*(undefined4 **)(puVar18 + 0x3e368)" * (cast_expression "(undefined4 **)(puVar18 + 0x3e368)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e368)" ( (binary_expression "puVar18 + 0x3e368" identifier + number_literal) ))))) ))) ;) (do_statement "do {\n    pcVar19 = *(code **)(puVar18 + 0x3e69c);\n    (*pcVar19)(iVar10);\nLAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);\n    uVar9 = (*pcVar19)();\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);\n    piVar15 = aiStack_e4;\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    iVar3 = *(int *)(puVar18 + 0x3e340);\n    piVar5 = (int *)(iVar3 + 0x3010);\n    piVar2 = piVar15;\n    do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));\n    iVar3 = piVar4[5];\n    iVar11 = *(int *)(puVar18 + 0x3e350);\n    piVar8[4] = *piVar5;\n    piVar8[5] = iVar3;\n    iVar3 = aiStack_e4[0];\n    while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }\n    iVar3 = *(int *)(puVar18 + 0x3e350);\nLAB_00015168:\n    iVar13 = piVar15[1];\n    iVar17 = *(int *)(puVar18 + 0x3e350);\n    if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);\n  } while( true );" do (compound_statement "{\n    pcVar19 = *(code **)(puVar18 + 0x3e69c);\n    (*pcVar19)(iVar10);\nLAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);\n    uVar9 = (*pcVar19)();\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);\n    piVar15 = aiStack_e4;\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    iVar3 = *(int *)(puVar18 + 0x3e340);\n    piVar5 = (int *)(iVar3 + 0x3010);\n    piVar2 = piVar15;\n    do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));\n    iVar3 = piVar4[5];\n    iVar11 = *(int *)(puVar18 + 0x3e350);\n    piVar8[4] = *piVar5;\n    piVar8[5] = iVar3;\n    iVar3 = aiStack_e4[0];\n    while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }\n    iVar3 = *(int *)(puVar18 + 0x3e350);\nLAB_00015168:\n    iVar13 = piVar15[1];\n    iVar17 = *(int *)(puVar18 + 0x3e350);\n    if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);\n  }" { (expression_statement "pcVar19 = *(code **)(puVar18 + 0x3e69c);" (assignment_expression "pcVar19 = *(code **)(puVar18 + 0x3e69c)" identifier = (pointer_expression "*(code **)(puVar18 + 0x3e69c)" * (cast_expression "(code **)(puVar18 + 0x3e69c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e69c)" ( (binary_expression "puVar18 + 0x3e69c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar19)(iVar10);" (call_expression "(*pcVar19)(iVar10)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(iVar10)" ( identifier ))) ;) (labeled_statement "LAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);" statement_identifier : (expression_statement "puVar14 = *(undefined4 **)(puVar18 + 0x3e648);" (assignment_expression "puVar14 = *(undefined4 **)(puVar18 + 0x3e648)" identifier = (pointer_expression "*(undefined4 **)(puVar18 + 0x3e648)" * (cast_expression "(undefined4 **)(puVar18 + 0x3e648)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e648)" ( (binary_expression "puVar18 + 0x3e648" identifier + number_literal) ))))) ;)) (expression_statement "uVar9 = (*pcVar19)();" (assignment_expression "uVar9 = (*pcVar19)()" identifier = (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368))" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368))" ( number_literal , identifier , (pointer_expression "**(undefined4 **)(puVar18 + 0x3e368)" * (pointer_expression "*(undefined4 **)(puVar18 + 0x3e368)" * (cast_expression "(undefined4 **)(puVar18 + 0x3e368)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e368)" ( (binary_expression "puVar18 + 0x3e368" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x188c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x1844" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x17f8" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x163c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -5000,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -5000" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x11e4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x1114" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xff4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xd90" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xcc4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xc94" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xc5c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c)" ( number_literal , identifier , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xb7c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xb78" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "piVar15 = aiStack_e4;" (assignment_expression "piVar15 = aiStack_e4" identifier = identifier) ;) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" ( (pointer_expression "**(code **)(puVar18 + 0x3e76c)" * (pointer_expression "*(code **)(puVar18 + 0x3e76c)" * (cast_expression "(code **)(puVar18 + 0x3e76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e76c)" ( (binary_expression "puVar18 + 0x3e76c" identifier + number_literal) ))))) )) (argument_list "(uVar9,*puVar14)" ( identifier , (pointer_expression "*puVar14" * identifier) ))) ;) (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e340);" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e340)" identifier = (pointer_expression "*(int *)(puVar18 + 0x3e340)" * (cast_expression "(int *)(puVar18 + 0x3e340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e340)" ( (binary_expression "puVar18 + 0x3e340" identifier + number_literal) ))))) ;) (expression_statement "piVar5 = (int *)(iVar3 + 0x3010);" (assignment_expression "piVar5 = (int *)(iVar3 + 0x3010)" identifier = (cast_expression "(int *)(iVar3 + 0x3010)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x3010)" ( (binary_expression "iVar3 + 0x3010" identifier + number_literal) )))) ;) (expression_statement "piVar2 = piVar15;" (assignment_expression "piVar2 = piVar15" identifier = identifier) ;) (do_statement "do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));" do (compound_statement "{\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    }" { (expression_statement "piVar8 = piVar2;" (assignment_expression "piVar8 = piVar2" identifier = identifier) ;) (expression_statement "piVar4 = piVar5;" (assignment_expression "piVar4 = piVar5" identifier = identifier) ;) (expression_statement "piVar5 = piVar4 + 4;" (assignment_expression "piVar5 = piVar4 + 4" identifier = (binary_expression "piVar4 + 4" identifier + number_literal)) ;) (expression_statement "*piVar8 = *piVar4;" (assignment_expression "*piVar8 = *piVar4" (pointer_expression "*piVar8" * identifier) = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "iVar13 = piVar4[2];" (assignment_expression "iVar13 = piVar4[2]" identifier = (subscript_expression "piVar4[2]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = piVar4[3];" (assignment_expression "iVar11 = piVar4[3]" identifier = (subscript_expression "piVar4[3]" identifier [ number_literal ])) ;) (expression_statement "piVar8[1] = piVar4[1];" (assignment_expression "piVar8[1] = piVar4[1]" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = (subscript_expression "piVar4[1]" identifier [ number_literal ])) ;) (expression_statement "piVar8[2] = iVar13;" (assignment_expression "piVar8[2] = iVar13" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[3] = iVar11;" (assignment_expression "piVar8[3] = iVar11" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2 = piVar8 + 4;" (assignment_expression "piVar2 = piVar8 + 4" identifier = (binary_expression "piVar8 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar5 != (int *)(iVar3 + 0x3040))" ( (binary_expression "piVar5 != (int *)(iVar3 + 0x3040)" identifier != (cast_expression "(int *)(iVar3 + 0x3040)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x3040)" ( (binary_expression "iVar3 + 0x3040" identifier + number_literal) )))) )) ;) (expression_statement "iVar3 = piVar4[5];" (assignment_expression "iVar3 = piVar4[5]" identifier = (subscript_expression "piVar4[5]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = *(int *)(puVar18 + 0x3e350);" (assignment_expression "iVar11 = *(int *)(puVar18 + 0x3e350)" identifier = (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) ))))) ;) (expression_statement "piVar8[4] = *piVar5;" (assignment_expression "piVar8[4] = *piVar5" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "piVar8[5] = iVar3;" (assignment_expression "piVar8[5] = iVar3" (subscript_expression "piVar8[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = aiStack_e4[0];" (assignment_expression "iVar3 = aiStack_e4[0]" identifier = (subscript_expression "aiStack_e4[0]" identifier [ number_literal ])) ;) (while_statement "while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }" while (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }" { (expression_statement "iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);" (assignment_expression "iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e758))" ( (pointer_expression "**(code **)(puVar18 + 0x3e758)" * (pointer_expression "*(code **)(puVar18 + 0x3e758)" * (cast_expression "(code **)(puVar18 + 0x3e758)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e758)" ( (binary_expression "puVar18 + 0x3e758" identifier + number_literal) ))))) )) (argument_list "(iVar11 + -0x1900)" ( (binary_expression "iVar11 + -0x1900" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }" { (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350);" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350)" identifier = (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00015168;" goto statement_identifier ;) })) (expression_statement "piVar15 = piVar15 + 2;" (assignment_expression "piVar15 = piVar15 + 2" identifier = (binary_expression "piVar15 + 2" identifier + number_literal)) ;) (expression_statement "iVar3 = *piVar15;" (assignment_expression "iVar3 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) })) (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350);" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350)" identifier = (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00015168:\n    iVar13 = piVar15[1];" statement_identifier : (expression_statement "iVar13 = piVar15[1];" (assignment_expression "iVar13 = piVar15[1]" identifier = (subscript_expression "piVar15[1]" identifier [ number_literal ])) ;)) (expression_statement "iVar17 = *(int *)(puVar18 + 0x3e350);" (assignment_expression "iVar17 = *(int *)(puVar18 + 0x3e350)" identifier = (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) ))))) ;) (if_statement "if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }" { (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,iVar3 + -0xadc,5)" ( number_literal , (binary_expression "iVar3 + -0xadc" identifier + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)" ( number_literal , identifier , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa9c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar17 + -0xac4" identifier + number_literal) ))) ;) (expression_statement "iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);" (assignment_expression "iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e624))(5,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e624))" ( (pointer_expression "**(code **)(puVar18 + 0x3e624)" * (pointer_expression "*(code **)(puVar18 + 0x3e624)" * (cast_expression "(code **)(puVar18 + 0x3e624)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e624)" ( (binary_expression "puVar18 + 0x3e624" identifier + number_literal) ))))) )) (argument_list "(5,0)" ( number_literal , number_literal )))) ;) (if_statement "if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }" if (parenthesized_expression "((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0))" ( (binary_expression "(iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)" ( (comma_expression "iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0" (assignment_expression "iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e5d0))" ( (pointer_expression "**(code **)(puVar18 + 0x3e5d0)" * (pointer_expression "*(code **)(puVar18 + 0x3e5d0)" * (cast_expression "(code **)(puVar18 + 0x3e5d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e5d0)" ( (binary_expression "puVar18 + 0x3e5d0" identifier + number_literal) ))))) )) (argument_list "(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" ( identifier , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa8c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }" { (expression_statement "iVar13 = iVar11 + -0x1900;" (assignment_expression "iVar13 = iVar11 + -0x1900" identifier = (binary_expression "iVar11 + -0x1900" identifier + number_literal)) ;) (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" identifier = identifier) ;) (labeled_statement "LAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);" statement_identifier : (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa88" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;)) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,iVar11 + -0x1900)" ( number_literal , identifier , (binary_expression "iVar11 + -0x1900" identifier + number_literal) ))) ;) (goto_statement "goto LAB_000151f0;" goto statement_identifier ;) })) (expression_statement "iVar13 = iVar11 + -0x1900;" (assignment_expression "iVar13 = iVar11 + -0x1900" identifier = (binary_expression "iVar11 + -0x1900" identifier + number_literal)) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa40" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,iVar17 + -0xac4,iVar13)" ( number_literal , identifier , (binary_expression "iVar17 + -0xac4" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa20" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4" identifier = (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x9e4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }" else (compound_statement "{\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }" { (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))();" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))()" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))()" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)" ( number_literal , identifier , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa9c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar17 + -0xac4" identifier + number_literal) ))) ;) (expression_statement "iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);" (assignment_expression "iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e624))(5,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e624))" ( (pointer_expression "**(code **)(puVar18 + 0x3e624)" * (pointer_expression "*(code **)(puVar18 + 0x3e624)" * (cast_expression "(code **)(puVar18 + 0x3e624)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e624)" ( (binary_expression "puVar18 + 0x3e624" identifier + number_literal) ))))) )) (argument_list "(5,0)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }" { (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900" identifier = (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x1900" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }" else (compound_statement "{\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }" { (expression_statement "iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);" (assignment_expression "iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e5d0))" ( (pointer_expression "**(code **)(puVar18 + 0x3e5d0)" * (pointer_expression "*(code **)(puVar18 + 0x3e5d0)" * (cast_expression "(code **)(puVar18 + 0x3e5d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e5d0)" ( (binary_expression "puVar18 + 0x3e5d0" identifier + number_literal) ))))) )) (argument_list "(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" ( identifier , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa8c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900" identifier = (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x1900" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (iVar6 != 0) goto LAB_0001536c;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001536c;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);" statement_identifier : (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa40" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;)) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900)" ( number_literal , identifier , (binary_expression "iVar17 + -0xac4" identifier + number_literal) , (binary_expression "iVar11 + -0x1900" identifier + number_literal) ))) ;) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" identifier = (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" ( (pointer_expression "**(code **)(puVar18 + 0x3e710)" * (pointer_expression "*(code **)(puVar18 + 0x3e710)" * (cast_expression "(code **)(puVar18 + 0x3e710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e710)" ( (binary_expression "puVar18 + 0x3e710" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" ( number_literal , (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa20" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (if_statement "if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }" if (parenthesized_expression "(iVar13 == iVar3)" ( (binary_expression "iVar13 == iVar3" identifier == identifier) )) (compound_statement "{\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }" { (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4" identifier = (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x9e4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }" else (compound_statement "{\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }" { (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44" identifier = (binary_expression "*(int *)(puVar18 + 0x3e350) + 0x1f44" (pointer_expression "*(int *)(puVar18 + 0x3e350)" * (cast_expression "(int *)(puVar18 + 0x3e350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3e350)" ( (binary_expression "puVar18 + 0x3e350" identifier + number_literal) )))) + number_literal)) ;) }))) }))) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" ( (pointer_expression "**(code **)(puVar18 + 0x3e644)" * (pointer_expression "*(code **)(puVar18 + 0x3e644)" * (cast_expression "(code **)(puVar18 + 0x3e644)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x3e644)" ( (binary_expression "puVar18 + 0x3e644" identifier + number_literal) ))))) )) (argument_list "(1,uVar9,iVar13,iVar3)" ( number_literal , identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT )))) ;) (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 IDENT (argument_list ( (binary_expression IDENT >> LIT) , 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 ( LIT , (binary_expression IDENT + LIT) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , IDENT , IDENT , IDENT ))) ;) }))) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (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 ;) })) (expression_statement (assignment_expression IDENT = 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (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 ( IDENT , LIT , IDENT , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (do_statement do (compound_statement { (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (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 = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (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 ( LIT , IDENT , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (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 ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (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 ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (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 ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (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 ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (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 ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (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 ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (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 ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (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 ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (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 ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (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 ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (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 ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (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 ( LIT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 ( IDENT , (pointer_expression * 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) ;) (expression_statement (assignment_expression IDENT = (subscript_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 (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 ( (binary_expression IDENT + LIT) )))) ;) (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) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (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 ( LIT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (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 ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;)) (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 ( LIT , IDENT , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (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 ( LIT , IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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 (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 ( LIT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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 ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;)) (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 ( LIT , IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) }))) (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 ( LIT , IDENT , IDENT , IDENT ))) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "void FUN_00014ba4(undefined4 *param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  int *piVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int *piVar15;\n  undefined *puVar16;\n  int iVar17;\n  undefined1 *unaff_s4;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  int aiStack_e4 [14];\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined *puStack_a4;\n  undefined4 *puStack_a0;\n  undefined4 uStack_9c;\n  undefined1 *puStack_98;\n  code *pcStack_94;\n  undefined4 local_80;\n  int local_70;\n  undefined4 local_6c;\n  undefined1 auStack_68 [44];\n  undefined1 auStack_3c [24];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000534f0;\n  local_24 = *(int *)PTR___stack_chk_guard_000534f0;\n  if (PTR_DAT_00053108[0x35a9] == '\0') {\n    uVar12 = param_1[1];\n    uVar9 = *param_1;\n  }\n  else {\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }\n  FUN_00014ad0(uVar9,uVar12);\n  puVar16 = PTR_stdout_00053410;\n  if (PTR_DAT_00053108[0x35a8] != '\0') {\n    iVar10 = *(int *)PTR_stdout_00053410;\n    puVar7 = *(undefined1 **)(iVar10 + 0x14);\n    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }\n    unaff_s4 = auStack_68;\n    local_70 = param_1[4];\n    local_6c = param_1[5];\n    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);\n    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);\n    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);\n    if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }\n  }\n  uVar9 = 10;\n  if (PTR_DAT_00053108[0x35ba] != '\0') {\n    uVar9 = 0;\n  }\n  (*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9);\n  iVar10 = *(int *)puVar16;\n  (*(code *)PTR_fflush_unlocked_000534cc)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar20 = usage;\n  puVar18 = PTR___stack_chk_fail_000534d4;\n  (*(code *)PTR___stack_chk_fail_000534d4)();\n  puStack_a8 = puVar1;\n  uStack_ac = **(undefined4 **)(puVar18 + 0x3e728);\n  pcVar19 = *(code **)(puVar18 + 0x3e710);\n  puStack_a4 = puVar16;\n  puStack_a0 = param_1;\n  uStack_9c = param_2;\n  puStack_98 = unaff_s4;\n  pcStack_94 = pcVar20;\n  if (iVar10 == 0) goto LAB_00014e58;\n  uVar12 = **(undefined4 **)(puVar18 + 0x3e748);\n  uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5);\n  (**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n  do {\n    pcVar19 = *(code **)(puVar18 + 0x3e69c);\n    (*pcVar19)(iVar10);\nLAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);\n    uVar9 = (*pcVar19)();\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);\n    piVar15 = aiStack_e4;\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    iVar3 = *(int *)(puVar18 + 0x3e340);\n    piVar5 = (int *)(iVar3 + 0x3010);\n    piVar2 = piVar15;\n    do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));\n    iVar3 = piVar4[5];\n    iVar11 = *(int *)(puVar18 + 0x3e350);\n    piVar8[4] = *piVar5;\n    piVar8[5] = iVar3;\n    iVar3 = aiStack_e4[0];\n    while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }\n    iVar3 = *(int *)(puVar18 + 0x3e350);\nLAB_00015168:\n    iVar13 = piVar15[1];\n    iVar17 = *(int *)(puVar18 + 0x3e350);\n    if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);\n  } while( true );\n}" (primitive_type "void") (function_declarator "FUN_00014ba4(undefined4 *param_1,undefined4 param_2)" (identifier "FUN_00014ba4") (parameter_list "(undefined4 *param_1,undefined4 param_2)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  int *piVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  int *piVar15;\n  undefined *puVar16;\n  int iVar17;\n  undefined1 *unaff_s4;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  int aiStack_e4 [14];\n  undefined4 uStack_ac;\n  undefined *puStack_a8;\n  undefined *puStack_a4;\n  undefined4 *puStack_a0;\n  undefined4 uStack_9c;\n  undefined1 *puStack_98;\n  code *pcStack_94;\n  undefined4 local_80;\n  int local_70;\n  undefined4 local_6c;\n  undefined1 auStack_68 [44];\n  undefined1 auStack_3c [24];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000534f0;\n  local_24 = *(int *)PTR___stack_chk_guard_000534f0;\n  if (PTR_DAT_00053108[0x35a9] == '\0') {\n    uVar12 = param_1[1];\n    uVar9 = *param_1;\n  }\n  else {\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }\n  FUN_00014ad0(uVar9,uVar12);\n  puVar16 = PTR_stdout_00053410;\n  if (PTR_DAT_00053108[0x35a8] != '\0') {\n    iVar10 = *(int *)PTR_stdout_00053410;\n    puVar7 = *(undefined1 **)(iVar10 + 0x14);\n    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }\n    unaff_s4 = auStack_68;\n    local_70 = param_1[4];\n    local_6c = param_1[5];\n    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);\n    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);\n    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);\n    if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }\n  }\n  uVar9 = 10;\n  if (PTR_DAT_00053108[0x35ba] != '\0') {\n    uVar9 = 0;\n  }\n  (*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9);\n  iVar10 = *(int *)puVar16;\n  (*(code *)PTR_fflush_unlocked_000534cc)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar20 = usage;\n  puVar18 = PTR___stack_chk_fail_000534d4;\n  (*(code *)PTR___stack_chk_fail_000534d4)();\n  puStack_a8 = puVar1;\n  uStack_ac = **(undefined4 **)(puVar18 + 0x3e728);\n  pcVar19 = *(code **)(puVar18 + 0x3e710);\n  puStack_a4 = puVar16;\n  puStack_a0 = param_1;\n  uStack_9c = param_2;\n  puStack_98 = unaff_s4;\n  pcStack_94 = pcVar20;\n  if (iVar10 == 0) goto LAB_00014e58;\n  uVar12 = **(undefined4 **)(puVar18 + 0x3e748);\n  uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5);\n  (**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n  do {\n    pcVar19 = *(code **)(puVar18 + 0x3e69c);\n    (*pcVar19)(iVar10);\nLAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);\n    uVar9 = (*pcVar19)();\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);\n    piVar15 = aiStack_e4;\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    iVar3 = *(int *)(puVar18 + 0x3e340);\n    piVar5 = (int *)(iVar3 + 0x3010);\n    piVar2 = piVar15;\n    do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));\n    iVar3 = piVar4[5];\n    iVar11 = *(int *)(puVar18 + 0x3e350);\n    piVar8[4] = *piVar5;\n    piVar8[5] = iVar3;\n    iVar3 = aiStack_e4[0];\n    while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }\n    iVar3 = *(int *)(puVar18 + 0x3e350);\nLAB_00015168:\n    iVar13 = piVar15[1];\n    iVar17 = *(int *)(puVar18 + 0x3e350);\n    if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);\n  } while( true );\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined1 *puVar7;" (type_identifier "undefined1") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "undefined4 *puVar14;" (type_identifier "undefined4") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "undefined *puVar16;" (type_identifier "undefined") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "undefined1 *unaff_s4;" (type_identifier "undefined1") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")) (; ";")) (declaration "undefined *puVar18;" (type_identifier "undefined") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "code *pcVar19;" (type_identifier "code") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "code *pcVar20;" (type_identifier "code") (pointer_declarator "*pcVar20" (* "*") (identifier "pcVar20")) (; ";")) (declaration "int aiStack_e4 [14];" (primitive_type "int") (array_declarator "aiStack_e4 [14]" (identifier "aiStack_e4") ([ "[") (number_literal "14") (] "]")) (; ";")) (declaration "undefined4 uStack_ac;" (type_identifier "undefined4") (identifier "uStack_ac") (; ";")) (declaration "undefined *puStack_a8;" (type_identifier "undefined") (pointer_declarator "*puStack_a8" (* "*") (identifier "puStack_a8")) (; ";")) (declaration "undefined *puStack_a4;" (type_identifier "undefined") (pointer_declarator "*puStack_a4" (* "*") (identifier "puStack_a4")) (; ";")) (declaration "undefined4 *puStack_a0;" (type_identifier "undefined4") (pointer_declarator "*puStack_a0" (* "*") (identifier "puStack_a0")) (; ";")) (declaration "undefined4 uStack_9c;" (type_identifier "undefined4") (identifier "uStack_9c") (; ";")) (declaration "undefined1 *puStack_98;" (type_identifier "undefined1") (pointer_declarator "*puStack_98" (* "*") (identifier "puStack_98")) (; ";")) (declaration "code *pcStack_94;" (type_identifier "code") (pointer_declarator "*pcStack_94" (* "*") (identifier "pcStack_94")) (; ";")) (declaration "undefined4 local_80;" (type_identifier "undefined4") (identifier "local_80") (; ";")) (declaration "int local_70;" (primitive_type "int") (identifier "local_70") (; ";")) (declaration "undefined4 local_6c;" (type_identifier "undefined4") (identifier "local_6c") (; ";")) (declaration "undefined1 auStack_68 [44];" (type_identifier "undefined1") (array_declarator "auStack_68 [44]" (identifier "auStack_68") ([ "[") (number_literal "44") (] "]")) (; ";")) (declaration "undefined1 auStack_3c [24];" (type_identifier "undefined1") (array_declarator "auStack_3c [24]" (identifier "auStack_3c") ([ "[") (number_literal "24") (] "]")) (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (expression_statement "puVar1 = PTR___stack_chk_guard_000534f0;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000534f0" (identifier "puVar1") (= "=") (identifier "PTR___stack_chk_guard_000534f0")) (; ";")) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_000534f0;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_000534f0" (identifier "local_24") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000534f0" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000534f0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000534f0")))) (; ";")) (if_statement "if (PTR_DAT_00053108[0x35a9] == '\0') {\n    uVar12 = param_1[1];\n    uVar9 = *param_1;\n  }\n  else {\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }" (if "if") (parenthesized_expression "(PTR_DAT_00053108[0x35a9] == '\0')" (( "(") (binary_expression "PTR_DAT_00053108[0x35a9] == '\0'" (subscript_expression "PTR_DAT_00053108[0x35a9]" (identifier "PTR_DAT_00053108") ([ "[") (number_literal "0x35a9") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar12 = param_1[1];\n    uVar9 = *param_1;\n  }" ({ "{") (expression_statement "uVar12 = param_1[1];" (assignment_expression "uVar12 = param_1[1]" (identifier "uVar12") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar9 = *param_1;" (assignment_expression "uVar9 = *param_1" (identifier "uVar9") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (} "}")) (else_clause "else {\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }" (else "else") (compound_statement "{\n    uVar12 = param_1[3];\n    uVar9 = param_1[2];\n  }" ({ "{") (expression_statement "uVar12 = param_1[3];" (assignment_expression "uVar12 = param_1[3]" (identifier "uVar12") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar9 = param_1[2];" (assignment_expression "uVar9 = param_1[2]" (identifier "uVar9") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}")))) (expression_statement "FUN_00014ad0(uVar9,uVar12);" (call_expression "FUN_00014ad0(uVar9,uVar12)" (identifier "FUN_00014ad0") (argument_list "(uVar9,uVar12)" (( "(") (identifier "uVar9") (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "puVar16 = PTR_stdout_00053410;" (assignment_expression "puVar16 = PTR_stdout_00053410" (identifier "puVar16") (= "=") (identifier "PTR_stdout_00053410")) (; ";")) (if_statement "if (PTR_DAT_00053108[0x35a8] != '\0') {\n    iVar10 = *(int *)PTR_stdout_00053410;\n    puVar7 = *(undefined1 **)(iVar10 + 0x14);\n    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }\n    unaff_s4 = auStack_68;\n    local_70 = param_1[4];\n    local_6c = param_1[5];\n    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);\n    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);\n    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);\n    if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }\n  }" (if "if") (parenthesized_expression "(PTR_DAT_00053108[0x35a8] != '\0')" (( "(") (binary_expression "PTR_DAT_00053108[0x35a8] != '\0'" (subscript_expression "PTR_DAT_00053108[0x35a8]" (identifier "PTR_DAT_00053108") ([ "[") (number_literal "0x35a8") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    iVar10 = *(int *)PTR_stdout_00053410;\n    puVar7 = *(undefined1 **)(iVar10 + 0x14);\n    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }\n    unaff_s4 = auStack_68;\n    local_70 = param_1[4];\n    local_6c = param_1[5];\n    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);\n    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);\n    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);\n    if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }\n  }" ({ "{") (expression_statement "iVar10 = *(int *)PTR_stdout_00053410;" (assignment_expression "iVar10 = *(int *)PTR_stdout_00053410" (identifier "iVar10") (= "=") (pointer_expression "*(int *)PTR_stdout_00053410" (* "*") (cast_expression "(int *)PTR_stdout_00053410" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_00053410")))) (; ";")) (expression_statement "puVar7 = *(undefined1 **)(iVar10 + 0x14);" (assignment_expression "puVar7 = *(undefined1 **)(iVar10 + 0x14)" (identifier "puVar7") (= "=") (pointer_expression "*(undefined1 **)(iVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(iVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 0x14)" (( "(") (binary_expression "iVar10 + 0x14" (identifier "iVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }\n    else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }" (if "if") (parenthesized_expression "(puVar7 < *(undefined1 **)(iVar10 + 0x18))" (( "(") (binary_expression "puVar7 < *(undefined1 **)(iVar10 + 0x18)" (identifier "puVar7") (< "<") (pointer_expression "*(undefined1 **)(iVar10 + 0x18)" (* "*") (cast_expression "(undefined1 **)(iVar10 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 0x18)" (( "(") (binary_expression "iVar10 + 0x18" (identifier "iVar10") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;\n      *puVar7 = 9;\n    }" ({ "{") (expression_statement "*(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;" (assignment_expression "*(undefined1 **)(iVar10 + 0x14) = puVar7 + 1" (pointer_expression "*(undefined1 **)(iVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(iVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 0x14)" (( "(") (binary_expression "iVar10 + 0x14" (identifier "iVar10") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "puVar7 + 1" (identifier "puVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar7 = 9;" (assignment_expression "*puVar7 = 9" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (number_literal "9")) (; ";")) (} "}")) (else_clause "else {\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }" (else "else") (compound_statement "{\n      (*(code *)PTR___overflow_000533e4)(iVar10,9);\n    }" ({ "{") (expression_statement "(*(code *)PTR___overflow_000533e4)(iVar10,9);" (call_expression "(*(code *)PTR___overflow_000533e4)(iVar10,9)" (parenthesized_expression "(*(code *)PTR___overflow_000533e4)" (( "(") (pointer_expression "*(code *)PTR___overflow_000533e4" (* "*") (cast_expression "(code *)PTR___overflow_000533e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_000533e4"))) () ")")) (argument_list "(iVar10,9)" (( "(") (identifier "iVar10") (, ",") (number_literal "9") () ")"))) (; ";")) (} "}")))) (expression_statement "unaff_s4 = auStack_68;" (assignment_expression "unaff_s4 = auStack_68" (identifier "unaff_s4") (= "=") (identifier "auStack_68")) (; ";")) (expression_statement "local_70 = param_1[4];" (assignment_expression "local_70 = param_1[4]" (identifier "local_70") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "local_6c = param_1[5];" (assignment_expression "local_6c = param_1[5]" (identifier "local_6c") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);" (assignment_expression "param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598)" (identifier "param_1") (= "=") (pointer_expression "*(undefined4 **)(PTR_DAT_00053108 + 0x3598)" (* "*") (cast_expression "(undefined4 **)(PTR_DAT_00053108 + 0x3598)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_DAT_00053108 + 0x3598)" (( "(") (binary_expression "PTR_DAT_00053108 + 0x3598" (identifier "PTR_DAT_00053108") (+ "+") (number_literal "0x3598")) () ")"))))) (; ";")) (expression_statement "uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);" (assignment_expression "uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined4 *)(PTR_DAT_00053108 + 0x359c)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_00053108 + 0x359c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_00053108 + 0x359c)" (( "(") (binary_expression "PTR_DAT_00053108 + 0x359c" (identifier "PTR_DAT_00053108") (+ "+") (number_literal "0x359c")) () ")"))))) (; ";")) (expression_statement "iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);" (assignment_expression "iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4)" (identifier "iVar10") (= "=") (call_expression "(*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4)" (parenthesized_expression "(*(code *)PTR_localtime_rz_00053120)" (( "(") (pointer_expression "*(code *)PTR_localtime_rz_00053120" (* "*") (cast_expression "(code *)PTR_localtime_rz_00053120" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_localtime_rz_00053120"))) () ")")) (argument_list "(param_1,&local_70,unaff_s4)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_70" (& "&") (identifier "local_70")) (, ",") (identifier "unaff_s4") () ")")))) (; ";")) (if_statement "if (iVar10 == 0) {\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }\n    else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);\n      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);\n      uVar9 = quote(param_1);\n      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);\n      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);\n    }" ({ "{") (expression_statement "param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);" (assignment_expression "param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c)" (identifier "param_1") (= "=") (cast_expression "(undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "imaxtostr(local_70 >> 0x1f,local_70,auStack_3c)" (identifier "imaxtostr") (argument_list "(local_70 >> 0x1f,local_70,auStack_3c)" (( "(") (binary_expression "local_70 >> 0x1f" (identifier "local_70") (>> ">>") (number_literal "0x1f")) (, ",") (identifier "local_70") (, ",") (identifier "auStack_3c") () ")"))))) (; ";")) (expression_statement "unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);" (assignment_expression "unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5)" (identifier "unaff_s4") (= "=") (cast_expression "(undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000534d8)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000534d8" (* "*") (cast_expression "(code *)PTR_dcgettext_000534d8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000534d8"))) () ")")) (argument_list "(0,PTR_UINT_00053118 + -0x1920,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_UINT_00053118 + -0x1920" (identifier "PTR_UINT_00053118") (+ "+") (number_literal "-0x1920")) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "uVar9 = quote(param_1);" (assignment_expression "uVar9 = quote(param_1)" (identifier "uVar9") (= "=") (call_expression "quote(param_1)" (identifier "quote") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);" (call_expression "(*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9)" (parenthesized_expression "(*(code *)PTR_error_00053480)" (( "(") (pointer_expression "*(code *)PTR_error_00053480" (* "*") (cast_expression "(code *)PTR_error_00053480" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_00053480"))) () ")")) (argument_list "(0,0,unaff_s4,uVar9)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "unaff_s4") (, ",") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);" (call_expression "(*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_00053534)" (( "(") (pointer_expression "*(code *)PTR_fputs_unlocked_00053534" (* "*") (cast_expression "(code *)PTR_fputs_unlocked_00053534" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fputs_unlocked_00053534"))) () ")")) (argument_list "(param_1,*(undefined4 *)puVar16)" (( "(") (identifier "param_1") (, ",") (pointer_expression "*(undefined4 *)puVar16" (* "*") (cast_expression "(undefined4 *)puVar16" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar16"))) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }" (else "else") (compound_statement "{\n      local_80 = local_6c;\n      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);\n    }" ({ "{") (expression_statement "local_80 = local_6c;" (assignment_expression "local_80 = local_6c" (identifier "local_80") (= "=") (identifier "local_6c")) (; ";")) (expression_statement "fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);" (call_expression "fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1)" (identifier "fprintftime") (argument_list "(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1)" (( "(") (pointer_expression "*(undefined4 *)puVar16" (* "*") (cast_expression "(undefined4 *)puVar16" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar16"))) (, ",") (identifier "uVar9") (, ",") (identifier "unaff_s4") (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "uVar9 = 10;" (assignment_expression "uVar9 = 10" (identifier "uVar9") (= "=") (number_literal "10")) (; ";")) (if_statement "if (PTR_DAT_00053108[0x35ba] != '\0') {\n    uVar9 = 0;\n  }" (if "if") (parenthesized_expression "(PTR_DAT_00053108[0x35ba] != '\0')" (( "(") (binary_expression "PTR_DAT_00053108[0x35ba] != '\0'" (subscript_expression "PTR_DAT_00053108[0x35ba]" (identifier "PTR_DAT_00053108") ([ "[") (number_literal "0x35ba") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar9 = 0;\n  }" ({ "{") (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9);" (call_expression "(*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9)" (parenthesized_expression "(*(code *)PTR___printf_chk_0005340c)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_0005340c" (* "*") (cast_expression "(code *)PTR___printf_chk_0005340c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_0005340c"))) () ")")) (argument_list "(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9)" (( "(") (number_literal "1") (, ",") (binary_expression "PTR_UINT_00053118 + -0x1908" (identifier "PTR_UINT_00053118") (+ "+") (number_literal "-0x1908")) (, ",") (identifier "param_2") (, ",") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "iVar10 = *(int *)puVar16;" (assignment_expression "iVar10 = *(int *)puVar16" (identifier "iVar10") (= "=") (pointer_expression "*(int *)puVar16" (* "*") (cast_expression "(int *)puVar16" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar16")))) (; ";")) (expression_statement "(*(code *)PTR_fflush_unlocked_000534cc)();" (call_expression "(*(code *)PTR_fflush_unlocked_000534cc)()" (parenthesized_expression "(*(code *)PTR_fflush_unlocked_000534cc)" (( "(") (pointer_expression "*(code *)PTR_fflush_unlocked_000534cc" (* "*") (cast_expression "(code *)PTR_fflush_unlocked_000534cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fflush_unlocked_000534cc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_24 == *(int *)puVar1) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_24 == *(int *)puVar1)" (( "(") (binary_expression "local_24 == *(int *)puVar1" (identifier "local_24") (== "==") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar20 = usage;" (assignment_expression "pcVar20 = usage" (identifier "pcVar20") (= "=") (identifier "usage")) (; ";")) (expression_statement "puVar18 = PTR___stack_chk_fail_000534d4;" (assignment_expression "puVar18 = PTR___stack_chk_fail_000534d4" (identifier "puVar18") (= "=") (identifier "PTR___stack_chk_fail_000534d4")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000534d4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000534d4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000534d4)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000534d4" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000534d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000534d4"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_a8 = puVar1;" (assignment_expression "puStack_a8 = puVar1" (identifier "puStack_a8") (= "=") (identifier "puVar1")) (; ";")) (expression_statement "uStack_ac = **(undefined4 **)(puVar18 + 0x3e728);" (assignment_expression "uStack_ac = **(undefined4 **)(puVar18 + 0x3e728)" (identifier "uStack_ac") (= "=") (pointer_expression "**(undefined4 **)(puVar18 + 0x3e728)" (* "*") (pointer_expression "*(undefined4 **)(puVar18 + 0x3e728)" (* "*") (cast_expression "(undefined4 **)(puVar18 + 0x3e728)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e728)" (( "(") (binary_expression "puVar18 + 0x3e728" (identifier "puVar18") (+ "+") (number_literal "0x3e728")) () ")")))))) (; ";")) (expression_statement "pcVar19 = *(code **)(puVar18 + 0x3e710);" (assignment_expression "pcVar19 = *(code **)(puVar18 + 0x3e710)" (identifier "pcVar19") (= "=") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) (; ";")) (expression_statement "puStack_a4 = puVar16;" (assignment_expression "puStack_a4 = puVar16" (identifier "puStack_a4") (= "=") (identifier "puVar16")) (; ";")) (expression_statement "puStack_a0 = param_1;" (assignment_expression "puStack_a0 = param_1" (identifier "puStack_a0") (= "=") (identifier "param_1")) (; ";")) (expression_statement "uStack_9c = param_2;" (assignment_expression "uStack_9c = param_2" (identifier "uStack_9c") (= "=") (identifier "param_2")) (; ";")) (expression_statement "puStack_98 = unaff_s4;" (assignment_expression "puStack_98 = unaff_s4" (identifier "puStack_98") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "pcStack_94 = pcVar20;" (assignment_expression "pcStack_94 = pcVar20" (identifier "pcStack_94") (= "=") (identifier "pcVar20")) (; ";")) (if_statement "if (iVar10 == 0) goto LAB_00014e58;" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014e58;" (goto "goto") (statement_identifier "LAB_00014e58") (; ";"))) (expression_statement "uVar12 = **(undefined4 **)(puVar18 + 0x3e748);" (assignment_expression "uVar12 = **(undefined4 **)(puVar18 + 0x3e748)" (identifier "uVar12") (= "=") (pointer_expression "**(undefined4 **)(puVar18 + 0x3e748)" (* "*") (pointer_expression "*(undefined4 **)(puVar18 + 0x3e748)" (* "*") (cast_expression "(undefined4 **)(puVar18 + 0x3e748)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e748)" (( "(") (binary_expression "puVar18 + 0x3e748" (identifier "puVar18") (+ "+") (number_literal "0x3e748")) () ")")))))) (; ";")) (expression_statement "uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5);" (assignment_expression "uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5)" (identifier "uVar9") (= "=") (call_expression "(*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x18fc" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0x18fc")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));" (call_expression "(**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368))" (parenthesized_expression "(**(code **)(puVar18 + 0x3e5dc))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e5dc)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e5dc)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e5dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e5dc)" (( "(") (binary_expression "puVar18 + 0x3e5dc" (identifier "puVar18") (+ "+") (number_literal "0x3e5dc")) () ")"))))) () ")")) (argument_list "(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368))" (( "(") (identifier "uVar12") (, ",") (number_literal "1") (, ",") (identifier "uVar9") (, ",") (pointer_expression "**(undefined4 **)(puVar18 + 0x3e368)" (* "*") (pointer_expression "*(undefined4 **)(puVar18 + 0x3e368)" (* "*") (cast_expression "(undefined4 **)(puVar18 + 0x3e368)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e368)" (( "(") (binary_expression "puVar18 + 0x3e368" (identifier "puVar18") (+ "+") (number_literal "0x3e368")) () ")"))))) () ")"))) (; ";")) (do_statement "do {\n    pcVar19 = *(code **)(puVar18 + 0x3e69c);\n    (*pcVar19)(iVar10);\nLAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);\n    uVar9 = (*pcVar19)();\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);\n    piVar15 = aiStack_e4;\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    iVar3 = *(int *)(puVar18 + 0x3e340);\n    piVar5 = (int *)(iVar3 + 0x3010);\n    piVar2 = piVar15;\n    do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));\n    iVar3 = piVar4[5];\n    iVar11 = *(int *)(puVar18 + 0x3e350);\n    piVar8[4] = *piVar5;\n    piVar8[5] = iVar3;\n    iVar3 = aiStack_e4[0];\n    while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }\n    iVar3 = *(int *)(puVar18 + 0x3e350);\nLAB_00015168:\n    iVar13 = piVar15[1];\n    iVar17 = *(int *)(puVar18 + 0x3e350);\n    if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);\n  } while( true );" (do "do") (compound_statement "{\n    pcVar19 = *(code **)(puVar18 + 0x3e69c);\n    (*pcVar19)(iVar10);\nLAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);\n    uVar9 = (*pcVar19)();\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);\n    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);\n    piVar15 = aiStack_e4;\n    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);\n    iVar3 = *(int *)(puVar18 + 0x3e340);\n    piVar5 = (int *)(iVar3 + 0x3010);\n    piVar2 = piVar15;\n    do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));\n    iVar3 = piVar4[5];\n    iVar11 = *(int *)(puVar18 + 0x3e350);\n    piVar8[4] = *piVar5;\n    piVar8[5] = iVar3;\n    iVar3 = aiStack_e4[0];\n    while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }\n    iVar3 = *(int *)(puVar18 + 0x3e350);\nLAB_00015168:\n    iVar13 = piVar15[1];\n    iVar17 = *(int *)(puVar18 + 0x3e350);\n    if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }\n    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);\n  }" ({ "{") (expression_statement "pcVar19 = *(code **)(puVar18 + 0x3e69c);" (assignment_expression "pcVar19 = *(code **)(puVar18 + 0x3e69c)" (identifier "pcVar19") (= "=") (pointer_expression "*(code **)(puVar18 + 0x3e69c)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e69c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e69c)" (( "(") (binary_expression "puVar18 + 0x3e69c" (identifier "puVar18") (+ "+") (number_literal "0x3e69c")) () ")"))))) (; ";")) (expression_statement "(*pcVar19)(iVar10);" (call_expression "(*pcVar19)(iVar10)" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "(iVar10)" (( "(") (identifier "iVar10") () ")"))) (; ";")) (labeled_statement "LAB_00014e58:\n    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);" (statement_identifier "LAB_00014e58") (: ":") (expression_statement "puVar14 = *(undefined4 **)(puVar18 + 0x3e648);" (assignment_expression "puVar14 = *(undefined4 **)(puVar18 + 0x3e648)" (identifier "puVar14") (= "=") (pointer_expression "*(undefined4 **)(puVar18 + 0x3e648)" (* "*") (cast_expression "(undefined4 **)(puVar18 + 0x3e648)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e648)" (( "(") (binary_expression "puVar18 + 0x3e648" (identifier "puVar18") (+ "+") (number_literal "0x3e648")) () ")"))))) (; ";"))) (expression_statement "uVar9 = (*pcVar19)();" (assignment_expression "uVar9 = (*pcVar19)()" (identifier "uVar9") (= "=") (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368))" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e644)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e644)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e644)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e644)" (( "(") (binary_expression "puVar18 + 0x3e644" (identifier "puVar18") (+ "+") (number_literal "0x3e644")) () ")"))))) () ")")) (argument_list "(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368))" (( "(") (number_literal "1") (, ",") (identifier "uVar9") (, ",") (pointer_expression "**(undefined4 **)(puVar18 + 0x3e368)" (* "*") (pointer_expression "*(undefined4 **)(puVar18 + 0x3e368)" (* "*") (cast_expression "(undefined4 **)(puVar18 + 0x3e368)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e368)" (( "(") (binary_expression "puVar18 + 0x3e368" (identifier "puVar18") (+ "+") (number_literal "0x3e368")) () ")"))))) () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x188c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0x188c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e76c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e76c)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e76c)" (( "(") (binary_expression "puVar18 + 0x3e76c" (identifier "puVar18") (+ "+") (number_literal "0x3e76c")) () ")"))))) () ")")) (argument_list "(uVar9,*puVar14)" (( "(") (identifier "uVar9") (, ",") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x1844" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0x1844")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e76c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e76c)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e76c)" (( "(") (binary_expression "puVar18 + 0x3e76c" (identifier "puVar18") (+ "+") (number_literal "0x3e76c")) () ")"))))) () ")")) (argument_list "(uVar9,*puVar14)" (( "(") (identifier "uVar9") (, ",") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x17f8" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0x17f8")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e76c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e76c)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e76c)" (( "(") (binary_expression "puVar18 + 0x3e76c" (identifier "puVar18") (+ "+") (number_literal "0x3e76c")) () ")"))))) () ")")) (argument_list "(uVar9,*puVar14)" (( "(") (identifier "uVar9") (, ",") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x163c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0x163c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e76c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e76c)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e76c)" (( "(") (binary_expression "puVar18 + 0x3e76c" (identifier "puVar18") (+ "+") (number_literal "0x3e76c")) () ")"))))) () ")")) (argument_list "(uVar9,*puVar14)" (( "(") (identifier "uVar9") (, ",") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -5000,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -5000" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-5000")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e76c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e76c)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e76c)" (( "(") (binary_expression "puVar18 + 0x3e76c" (identifier "puVar18") (+ "+") (number_literal "0x3e76c")) () ")"))))) () ")")) (argument_list "(uVar9,*puVar14)" (( "(") (identifier "uVar9") (, ",") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x11e4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0x11e4")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e76c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e76c)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e76c)" (( "(") (binary_expression "puVar18 + 0x3e76c" (identifier "puVar18") (+ "+") (number_literal "0x3e76c")) () ")"))))) () ")")) (argument_list "(uVar9,*puVar14)" (( "(") (identifier "uVar9") (, ",") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x1114" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0x1114")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e76c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e76c)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e76c)" (( "(") (binary_expression "puVar18 + 0x3e76c" (identifier "puVar18") (+ "+") (number_literal "0x3e76c")) () ")"))))) () ")")) (argument_list "(uVar9,*puVar14)" (( "(") (identifier "uVar9") (, ",") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xff4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xff4")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e76c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e76c)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e76c)" (( "(") (binary_expression "puVar18 + 0x3e76c" (identifier "puVar18") (+ "+") (number_literal "0x3e76c")) () ")"))))) () ")")) (argument_list "(uVar9,*puVar14)" (( "(") (identifier "uVar9") (, ",") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xd90" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xd90")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e76c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e76c)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e76c)" (( "(") (binary_expression "puVar18 + 0x3e76c" (identifier "puVar18") (+ "+") (number_literal "0x3e76c")) () ")"))))) () ")")) (argument_list "(uVar9,*puVar14)" (( "(") (identifier "uVar9") (, ",") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xcc4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xcc4")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e76c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e76c)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e76c)" (( "(") (binary_expression "puVar18 + 0x3e76c" (identifier "puVar18") (+ "+") (number_literal "0x3e76c")) () ")"))))) () ")")) (argument_list "(uVar9,*puVar14)" (( "(") (identifier "uVar9") (, ",") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xc94" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xc94")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e76c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e76c)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e76c)" (( "(") (binary_expression "puVar18 + 0x3e76c" (identifier "puVar18") (+ "+") (number_literal "0x3e76c")) () ")"))))) () ")")) (argument_list "(uVar9,*puVar14)" (( "(") (identifier "uVar9") (, ",") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xc5c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xc5c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e644)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e644)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e644)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e644)" (( "(") (binary_expression "puVar18 + 0x3e644" (identifier "puVar18") (+ "+") (number_literal "0x3e644")) () ")"))))) () ")")) (argument_list "(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c)" (( "(") (number_literal "1") (, ",") (identifier "uVar9") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xb7c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xb7c")) () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xb78" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xb78")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "piVar15 = aiStack_e4;" (assignment_expression "piVar15 = aiStack_e4" (identifier "piVar15") (= "=") (identifier "aiStack_e4")) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);" (call_expression "(**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e76c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e76c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e76c)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e76c)" (( "(") (binary_expression "puVar18 + 0x3e76c" (identifier "puVar18") (+ "+") (number_literal "0x3e76c")) () ")"))))) () ")")) (argument_list "(uVar9,*puVar14)" (( "(") (identifier "uVar9") (, ",") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) () ")"))) (; ";")) (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e340);" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e340)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar18 + 0x3e340)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e340)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e340)" (( "(") (binary_expression "puVar18 + 0x3e340" (identifier "puVar18") (+ "+") (number_literal "0x3e340")) () ")"))))) (; ";")) (expression_statement "piVar5 = (int *)(iVar3 + 0x3010);" (assignment_expression "piVar5 = (int *)(iVar3 + 0x3010)" (identifier "piVar5") (= "=") (cast_expression "(int *)(iVar3 + 0x3010)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x3010)" (( "(") (binary_expression "iVar3 + 0x3010" (identifier "iVar3") (+ "+") (number_literal "0x3010")) () ")")))) (; ";")) (expression_statement "piVar2 = piVar15;" (assignment_expression "piVar2 = piVar15" (identifier "piVar2") (= "=") (identifier "piVar15")) (; ";")) (do_statement "do {\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    } while (piVar5 != (int *)(iVar3 + 0x3040));" (do "do") (compound_statement "{\n      piVar8 = piVar2;\n      piVar4 = piVar5;\n      piVar5 = piVar4 + 4;\n      *piVar8 = *piVar4;\n      iVar13 = piVar4[2];\n      iVar11 = piVar4[3];\n      piVar8[1] = piVar4[1];\n      piVar8[2] = iVar13;\n      piVar8[3] = iVar11;\n      piVar2 = piVar8 + 4;\n    }" ({ "{") (expression_statement "piVar8 = piVar2;" (assignment_expression "piVar8 = piVar2" (identifier "piVar8") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "piVar4 = piVar5;" (assignment_expression "piVar4 = piVar5" (identifier "piVar4") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "piVar5 = piVar4 + 4;" (assignment_expression "piVar5 = piVar4 + 4" (identifier "piVar5") (= "=") (binary_expression "piVar4 + 4" (identifier "piVar4") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*piVar8 = *piVar4;" (assignment_expression "*piVar8 = *piVar4" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (expression_statement "iVar13 = piVar4[2];" (assignment_expression "iVar13 = piVar4[2]" (identifier "iVar13") (= "=") (subscript_expression "piVar4[2]" (identifier "piVar4") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar11 = piVar4[3];" (assignment_expression "iVar11 = piVar4[3]" (identifier "iVar11") (= "=") (subscript_expression "piVar4[3]" (identifier "piVar4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "piVar8[1] = piVar4[1];" (assignment_expression "piVar8[1] = piVar4[1]" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar8[2] = iVar13;" (assignment_expression "piVar8[2] = iVar13" (subscript_expression "piVar8[2]" (identifier "piVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "piVar8[3] = iVar11;" (assignment_expression "piVar8[3] = iVar11" (subscript_expression "piVar8[3]" (identifier "piVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "piVar2 = piVar8 + 4;" (assignment_expression "piVar2 = piVar8 + 4" (identifier "piVar2") (= "=") (binary_expression "piVar8 + 4" (identifier "piVar8") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar5 != (int *)(iVar3 + 0x3040))" (( "(") (binary_expression "piVar5 != (int *)(iVar3 + 0x3040)" (identifier "piVar5") (!= "!=") (cast_expression "(int *)(iVar3 + 0x3040)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x3040)" (( "(") (binary_expression "iVar3 + 0x3040" (identifier "iVar3") (+ "+") (number_literal "0x3040")) () ")")))) () ")")) (; ";")) (expression_statement "iVar3 = piVar4[5];" (assignment_expression "iVar3 = piVar4[5]" (identifier "iVar3") (= "=") (subscript_expression "piVar4[5]" (identifier "piVar4") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "iVar11 = *(int *)(puVar18 + 0x3e350);" (assignment_expression "iVar11 = *(int *)(puVar18 + 0x3e350)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")"))))) (; ";")) (expression_statement "piVar8[4] = *piVar5;" (assignment_expression "piVar8[4] = *piVar5" (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]")) (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "piVar8[5] = iVar3;" (assignment_expression "piVar8[5] = iVar3" (subscript_expression "piVar8[5]" (identifier "piVar8") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iVar3 = aiStack_e4[0];" (assignment_expression "iVar3 = aiStack_e4[0]" (identifier "iVar3") (= "=") (subscript_expression "aiStack_e4[0]" (identifier "aiStack_e4") ([ "[") (number_literal "0") (] "]"))) (; ";")) (while_statement "while (iVar3 != 0) {\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }" (while "while") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }\n      piVar15 = piVar15 + 2;\n      iVar3 = *piVar15;\n    }" ({ "{") (expression_statement "iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);" (assignment_expression "iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e758))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e758)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e758)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e758)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e758)" (( "(") (binary_expression "puVar18 + 0x3e758" (identifier "puVar18") (+ "+") (number_literal "0x3e758")) () ")"))))) () ")")) (argument_list "(iVar11 + -0x1900)" (( "(") (binary_expression "iVar11 + -0x1900" (identifier "iVar11") (+ "+") (number_literal "-0x1900")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar3 = *(int *)(puVar18 + 0x3e350);\n        goto LAB_00015168;\n      }" ({ "{") (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350);" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")"))))) (; ";")) (goto_statement "goto LAB_00015168;" (goto "goto") (statement_identifier "LAB_00015168") (; ";")) (} "}"))) (expression_statement "piVar15 = piVar15 + 2;" (assignment_expression "piVar15 = piVar15 + 2" (identifier "piVar15") (= "=") (binary_expression "piVar15 + 2" (identifier "piVar15") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar3 = *piVar15;" (assignment_expression "iVar3 = *piVar15" (identifier "iVar3") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (} "}"))) (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350);" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")"))))) (; ";")) (labeled_statement "LAB_00015168:\n    iVar13 = piVar15[1];" (statement_identifier "LAB_00015168") (: ":") (expression_statement "iVar13 = piVar15[1];" (assignment_expression "iVar13 = piVar15[1]" (identifier "iVar13") (= "=") (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]"))) (; ";"))) (expression_statement "iVar17 = *(int *)(puVar18 + 0x3e350);" (assignment_expression "iVar17 = *(int *)(puVar18 + 0x3e350)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")"))))) (; ";")) (if_statement "if (iVar13 == 0) {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }\n    else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }\n      iVar13 = iVar11 + -0x1900;\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n    }" ({ "{") (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,iVar3 + -0xadc,5)" (( "(") (number_literal "0") (, ",") (binary_expression "iVar3 + -0xadc" (identifier "iVar3") (+ "+") (number_literal "-0xadc")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e644)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e644)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e644)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e644)" (( "(") (binary_expression "puVar18 + 0x3e644" (identifier "puVar18") (+ "+") (number_literal "0x3e644")) () ")"))))) () ")")) (argument_list "(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)" (( "(") (number_literal "1") (, ",") (identifier "uVar9") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa9c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xa9c")) (, ",") (binary_expression "iVar17 + -0xac4" (identifier "iVar17") (+ "+") (number_literal "-0xac4")) () ")"))) (; ";")) (expression_statement "iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);" (assignment_expression "iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e624))(5,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e624))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e624)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e624)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e624)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e624)" (( "(") (binary_expression "puVar18 + 0x3e624" (identifier "puVar18") (+ "+") (number_literal "0x3e624")) () ")"))))) () ")")) (argument_list "(5,0)" (( "(") (number_literal "5") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)) {\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }" (if "if") (parenthesized_expression "((iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0))" (( "(") (binary_expression "(iVar3 != 0) &&\n         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),\n         iVar3 != 0" (assignment_expression "iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e5d0))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e5d0)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e5d0)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e5d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e5d0)" (( "(") (binary_expression "puVar18 + 0x3e5d0" (identifier "puVar18") (+ "+") (number_literal "0x3e5d0")) () ")"))))) () ")")) (argument_list "(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" (( "(") (identifier "iVar3") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa8c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xa8c")) (, ",") (number_literal "3") () ")")))) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        iVar13 = iVar11 + -0x1900;\n        iVar3 = iVar13;\nLAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);\n        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);\n        goto LAB_000151f0;\n      }" ({ "{") (expression_statement "iVar13 = iVar11 + -0x1900;" (assignment_expression "iVar13 = iVar11 + -0x1900" (identifier "iVar13") (= "=") (binary_expression "iVar11 + -0x1900" (identifier "iVar11") (+ "+") (number_literal "-0x1900"))) (; ";")) (expression_statement "iVar3 = iVar13;" (assignment_expression "iVar3 = iVar13" (identifier "iVar3") (= "=") (identifier "iVar13")) (; ";")) (labeled_statement "LAB_0001536c:\n        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);" (statement_identifier "LAB_0001536c") (: ":") (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa88" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xa88")) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e644)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e644)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e644)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e644)" (( "(") (binary_expression "puVar18 + 0x3e644" (identifier "puVar18") (+ "+") (number_literal "0x3e644")) () ")"))))) () ")")) (argument_list "(1,uVar9,iVar11 + -0x1900)" (( "(") (number_literal "1") (, ",") (identifier "uVar9") (, ",") (binary_expression "iVar11 + -0x1900" (identifier "iVar11") (+ "+") (number_literal "-0x1900")) () ")"))) (; ";")) (goto_statement "goto LAB_000151f0;" (goto "goto") (statement_identifier "LAB_000151f0") (; ";")) (} "}"))) (expression_statement "iVar13 = iVar11 + -0x1900;" (assignment_expression "iVar13 = iVar11 + -0x1900" (identifier "iVar13") (= "=") (binary_expression "iVar11 + -0x1900" (identifier "iVar11") (+ "+") (number_literal "-0x1900"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa40" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xa40")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e644)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e644)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e644)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e644)" (( "(") (binary_expression "puVar18 + 0x3e644" (identifier "puVar18") (+ "+") (number_literal "0x3e644")) () ")"))))) () ")")) (argument_list "(1,uVar9,iVar17 + -0xac4,iVar13)" (( "(") (number_literal "1") (, ",") (identifier "uVar9") (, ",") (binary_expression "iVar17 + -0xac4" (identifier "iVar17") (+ "+") (number_literal "-0xac4")) (, ",") (identifier "iVar13") () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa20" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xa20")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4" (identifier "iVar3") (= "=") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x9e4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0x9e4"))) (; ";")) (} "}")) (else_clause "else {\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }" (else "else") (compound_statement "{\n      uVar9 = (**(code **)(puVar18 + 0x3e710))();\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;\n      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }\nLAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);\n      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);\n      if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }\n    }" ({ "{") (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))();" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))()" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))()" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)\n      ;" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e644)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e644)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e644)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e644)" (( "(") (binary_expression "puVar18 + 0x3e644" (identifier "puVar18") (+ "+") (number_literal "0x3e644")) () ")"))))) () ")")) (argument_list "(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)" (( "(") (number_literal "1") (, ",") (identifier "uVar9") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa9c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xa9c")) (, ",") (binary_expression "iVar17 + -0xac4" (identifier "iVar17") (+ "+") (number_literal "-0xac4")) () ")"))) (; ";")) (expression_statement "iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);" (assignment_expression "iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e624))(5,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e624))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e624)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e624)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e624)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e624)" (( "(") (binary_expression "puVar18 + 0x3e624" (identifier "puVar18") (+ "+") (number_literal "0x3e624")) () ")"))))) () ")")) (argument_list "(5,0)" (( "(") (number_literal "5") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }\n      else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n      }" ({ "{") (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900" (identifier "iVar3") (= "=") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x1900" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0x1900"))) (; ";")) (} "}")) (else_clause "else {\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }" (else "else") (compound_statement "{\n        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;\n        if (iVar6 != 0) goto LAB_0001536c;\n      }" ({ "{") (expression_statement "iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);" (assignment_expression "iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e5d0))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e5d0)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e5d0)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e5d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e5d0)" (( "(") (binary_expression "puVar18 + 0x3e5d0" (identifier "puVar18") (+ "+") (number_literal "0x3e5d0")) () ")"))))) () ")")) (argument_list "(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3)" (( "(") (identifier "iVar3") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa8c" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xa8c")) (, ",") (number_literal "3") () ")")))) (; ";")) (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900" (identifier "iVar3") (= "=") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x1900" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0x1900"))) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_0001536c;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001536c;" (goto "goto") (statement_identifier "LAB_0001536c") (; ";"))) (} "}")))) (labeled_statement "LAB_000151f0:\n      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);" (statement_identifier "LAB_000151f0") (: ":") (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa40" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xa40")) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e644)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e644)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e644)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e644)" (( "(") (binary_expression "puVar18 + 0x3e644" (identifier "puVar18") (+ "+") (number_literal "0x3e644")) () ")"))))) () ")")) (argument_list "(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900)" (( "(") (number_literal "1") (, ",") (identifier "uVar9") (, ",") (binary_expression "iVar17 + -0xac4" (identifier "iVar17") (+ "+") (number_literal "-0xac4")) (, ",") (binary_expression "iVar11 + -0x1900" (identifier "iVar11") (+ "+") (number_literal "-0x1900")) () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);" (assignment_expression "uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e710))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e710)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e710)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e710)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e710)" (( "(") (binary_expression "puVar18 + 0x3e710" (identifier "puVar18") (+ "+") (number_literal "0x3e710")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0xa20" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0xa20")) (, ",") (number_literal "5") () ")")))) (; ";")) (if_statement "if (iVar13 == iVar3) {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }\n      else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }" (if "if") (parenthesized_expression "(iVar13 == iVar3)" (( "(") (binary_expression "iVar13 == iVar3" (identifier "iVar13") (== "==") (identifier "iVar3")) () ")")) (compound_statement "{\n        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;\n      }" ({ "{") (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4" (identifier "iVar3") (= "=") (binary_expression "*(int *)(puVar18 + 0x3e350) + -0x9e4" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "-0x9e4"))) (; ";")) (} "}")) (else_clause "else {\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }" (else "else") (compound_statement "{\n        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;\n      }" ({ "{") (expression_statement "iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;" (assignment_expression "iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44" (identifier "iVar3") (= "=") (binary_expression "*(int *)(puVar18 + 0x3e350) + 0x1f44" (pointer_expression "*(int *)(puVar18 + 0x3e350)" (* "*") (cast_expression "(int *)(puVar18 + 0x3e350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3e350)" (( "(") (binary_expression "puVar18 + 0x3e350" (identifier "puVar18") (+ "+") (number_literal "0x3e350")) () ")")))) (+ "+") (number_literal "0x1f44"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);" (call_expression "(**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3)" (parenthesized_expression "(**(code **)(puVar18 + 0x3e644))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x3e644)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x3e644)" (* "*") (cast_expression "(code **)(puVar18 + 0x3e644)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x3e644)" (( "(") (binary_expression "puVar18 + 0x3e644" (identifier "puVar18") (+ "+") (number_literal "0x3e644")) () ")"))))) () ")")) (argument_list "(1,uVar9,iVar13,iVar3)" (( "(") (number_literal "1") (, ",") (identifier "uVar9") (, ",") (identifier "iVar13") (, ",") (identifier "iVar3") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

void function_1(type_1 *pdui,char *string)

{
  int *piVar1;
  type_2 uVar2;
  int *var_14;
  int var_21;
  int var_12;
  type_3 *var_6;
  int *var_15;
  int var_5;
  int var_17;
  int var_19;
  int *var_18;
  type_2 uVar12;
  type_2 *puVar13;
  int *var_16;
  int var_20;
  type_4 *unaff_s4;
  char *pcVar16;
  int var_1;
  type_5 *var_13;
  type_5 *pcVar18;
  type_5 *pcVar19;
  int aiStackY_e4 [14];
  type_2 uStackY_ac;
  int *piStackY_a8;
  int *piStackY_a4;
  type_1 *pdStackY_a0;
  char *pcStackY_9c;
  type_4 *ptStackY_98;
  type_5 *pcStackY_94;
  type_2 in_stack_ffffff80;
  type_2 in_stack_ffffff84;
  int var_8;
  int iStack_6c;
  type_4 type_4;
  char buf [21];
  
  var_18 = *(int **)(
                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
                     + var_1 + 0x144);
  var_12 = *var_18;
  var_2(var_3(in_stack_ffffff80,in_stack_ffffff84));
  var_16 = *(int **)(
                     "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
                     + var_1 + 100);
  if (*(char *)(*(int *)(var_4 + var_1 + 4) + 0x35a8) != '\0') {
    var_5 = *var_16;
    var_6 = *(type_3 **)(var_5 + 0x14);
    if (var_6 < *(type_3 **)(var_5 + 0x18)) {
      *(type_3 **)(var_5 + 0x14) = var_6 + 1;
      *var_6 = 9;
    }
    else {
      (**(type_5 **)(
                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
                  + var_1 + 0x38))(var_5,9);
    }
    unaff_s4 = &type_4;
    var_8 = (pdui->tmax).tv_sec;
    iStack_6c = (pdui->tmax).tv_nsec;
    pdui = *(type_1 **)(*(int *)(var_4 + var_1 + 4) + 0x3598);
    pcVar16 = *(char **)(*(int *)(var_4 + var_1 + 4) + 0x359c);
    var_5 = (**(type_5 **)(var_1 + 0x3e57c))(pdui,&var_8,unaff_s4);
    if (var_5 == 0) {
      pdui = (type_1 *)
             var_7(var_3(in_stack_ffffff80,in_stack_ffffff84),(char *)(var_8 >> 0x1f));
      unaff_s4 = (type_4 *)(**(type_5 **)(
                                   "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
                                   + var_1 + 300))(0,*(int *)(var_9 + var_1 + 4) + -0x1920,5);
      pcVar16 = var_10((char *)pdui);
      (**(type_5 **)(
                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
                  + var_1 + 0xd4))(0,0,unaff_s4,pcVar16);
      (**(type_5 **)(
                  "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
                  + var_1 + 0x188))(pdui,*var_16);
    }
    else {
      var_11((type_6 *)*var_16,pcVar16,unaff_s4,(type_7)pdui,iStack_6c);
    }
  }
  uVar2 = 10;
  if (*(char *)(*(int *)(var_4 + var_1 + 4) + 0x35ba) != '\0') {
    uVar2 = 0;
  }
  (**(type_5 **)(
              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
              + var_1 + 0x60))(1,*(int *)(var_9 + var_1 + 4) + -0x1908,string,uVar2);
  var_5 = *var_16;
  (**(type_5 **)(
              "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
              + var_1 + 0x120))();
  if (var_12 == *var_18) {
    return;
  }
  var_13 = *(type_5 **)(
                      "  -0, --null            end each output line with NUL, not newline\n  -a, --all             write counts for all files, not just directories\n      --apparent-size   print apparent sizes, rather than disk usage; although\n                          the apparent size is usually smaller, it may be\n                          larger due to holes in (\'sparse\') files, internal\n                          fragmentation, indirect blocks, and the like\n"
                      + var_1 + 0x128);
  pcVar19 = usage;
  (*var_13)();
  uStackY_ac = **(type_2 **)(var_13 + 0x3e728);
  pcVar18 = *(type_5 **)(var_13 + 0x3e710);
  piStackY_a8 = var_18;
  piStackY_a4 = var_16;
  pdStackY_a0 = pdui;
  pcStackY_9c = string;
  ptStackY_98 = unaff_s4;
  pcStackY_94 = pcVar19;
  if (var_5 == 0) goto LAB_00014e58;
  uVar12 = **(type_2 **)(var_13 + 0x3e748);
  uVar2 = (*pcVar18)(0,*(int *)(var_13 + 0x3e350) + -0x18fc,5);
  (**(type_5 **)(var_13 + 0x3e5dc))(uVar12,1,uVar2,**(type_2 **)(var_13 + 0x3e368));
  do {
    pcVar18 = *(type_5 **)(var_13 + 0x3e69c);
    (*pcVar18)(var_5);
LAB_00014e58:
    puVar13 = *(type_2 **)(var_13 + 0x3e648);
    uVar2 = (*pcVar18)();
    (**(type_5 **)(var_13 + 0x3e644))(1,uVar2,**(type_2 **)(var_13 + 0x3e368));
    uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0x188c,5);
    (**(type_5 **)(var_13 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0x1844,5);
    (**(type_5 **)(var_13 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0x17f8,5);
    (**(type_5 **)(var_13 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0x163c,5);
    (**(type_5 **)(var_13 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -5000,5);
    (**(type_5 **)(var_13 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0x11e4,5);
    (**(type_5 **)(var_13 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0x1114,5);
    (**(type_5 **)(var_13 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0xff4,5);
    (**(type_5 **)(var_13 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0xd90,5);
    (**(type_5 **)(var_13 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0xcc4,5);
    (**(type_5 **)(var_13 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0xc94,5);
    (**(type_5 **)(var_13 + 0x3e76c))(uVar2,*puVar13);
    uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0xc5c,5);
    (**(type_5 **)(var_13 + 0x3e644))(1,uVar2,*(int *)(var_13 + 0x3e350) + -0xb7c);
    uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0xb78,5);
    var_18 = aiStackY_e4;
    (**(type_5 **)(var_13 + 0x3e76c))(uVar2,*puVar13);
    var_12 = *(int *)(var_13 + 0x3e340);
    var_16 = (int *)(var_12 + 0x3010);
    piVar1 = var_18;
    do {
      var_15 = piVar1;
      var_14 = var_16;
      var_16 = var_14 + 4;
      *var_15 = *var_14;
      var_19 = var_14[2];
      var_17 = var_14[3];
      var_15[1] = var_14[1];
      var_15[2] = var_19;
      var_15[3] = var_17;
      piVar1 = var_15 + 4;
    } while (var_16 != (int *)(var_12 + 0x3040));
    var_12 = var_14[5];
    var_17 = *(int *)(var_13 + 0x3e350);
    var_15[4] = *var_16;
    var_15[5] = var_12;
    var_12 = aiStackY_e4[0];
    while (var_12 != 0) {
      var_12 = (**(type_5 **)(var_13 + 0x3e758))(var_17 + -0x1900);
      if (var_12 == 0) {
        var_12 = *(int *)(var_13 + 0x3e350);
        goto LAB_00015168;
      }
      var_18 = var_18 + 2;
      var_12 = *var_18;
    }
    var_12 = *(int *)(var_13 + 0x3e350);
LAB_00015168:
    var_19 = var_18[1];
    var_20 = *(int *)(var_13 + 0x3e350);
    if (var_19 == 0) {
      uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,var_12 + -0xadc,5);
      (**(type_5 **)(var_13 + 0x3e644))(1,uVar2,*(int *)(var_13 + 0x3e350) + -0xa9c,var_20 + -0xac4)
      ;
      var_12 = (**(type_5 **)(var_13 + 0x3e624))(5,0);
      if ((var_12 != 0) &&
         (var_12 = (**(type_5 **)(var_13 + 0x3e5d0))(var_12,*(int *)(var_13 + 0x3e350) + -0xa8c,3),
         var_12 != 0)) {
        var_19 = var_17 + -0x1900;
        var_12 = var_19;
LAB_0001536c:
        uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0xa88,5);
        (**(type_5 **)(var_13 + 0x3e644))(1,uVar2,var_17 + -0x1900);
        goto LAB_000151f0;
      }
      var_19 = var_17 + -0x1900;
      uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0xa40,5);
      (**(type_5 **)(var_13 + 0x3e644))(1,uVar2,var_20 + -0xac4,var_19);
      uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0xa20,5);
      var_12 = *(int *)(var_13 + 0x3e350) + -0x9e4;
    }
    else {
      uVar2 = (**(type_5 **)(var_13 + 0x3e710))();
      (**(type_5 **)(var_13 + 0x3e644))(1,uVar2,*(int *)(var_13 + 0x3e350) + -0xa9c,var_20 + -0xac4)
      ;
      var_12 = (**(type_5 **)(var_13 + 0x3e624))(5,0);
      if (var_12 == 0) {
        var_12 = *(int *)(var_13 + 0x3e350) + -0x1900;
      }
      else {
        var_21 = (**(type_5 **)(var_13 + 0x3e5d0))(var_12,*(int *)(var_13 + 0x3e350) + -0xa8c,3);
        var_12 = *(int *)(var_13 + 0x3e350) + -0x1900;
        if (var_21 != 0) goto LAB_0001536c;
      }
LAB_000151f0:
      uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0xa40,5);
      (**(type_5 **)(var_13 + 0x3e644))(1,uVar2,var_20 + -0xac4,var_17 + -0x1900);
      uVar2 = (**(type_5 **)(var_13 + 0x3e710))(0,*(int *)(var_13 + 0x3e350) + -0xa20,5);
      if (var_19 == var_12) {
        var_12 = *(int *)(var_13 + 0x3e350) + -0x9e4;
      }
      else {
        var_12 = *(int *)(var_13 + 0x3e350) + 0x1f44;
      }
    }
    (**(type_5 **)(var_13 + 0x3e644))(1,uVar2,var_19,var_12);
  } while( true );
}


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

void MASKED(undefined4 *param_1,undefined4 param_2)

{
  undefined *puVar1;
  int *piVar2;
  int iVar3;
  int *piVar4;
  int *piVar5;
  int iVar6;
  undefined1 *puVar7;
  int *piVar8;
  undefined4 uVar9;
  int iVar10;
  int iVar11;
  undefined4 uVar12;
  int iVar13;
  undefined4 *puVar14;
  int *piVar15;
  undefined *puVar16;
  int iVar17;
  undefined1 *unaff_s4;
  undefined *puVar18;
  code *pcVar19;
  code *pcVar20;
  int aiStack_e4 [14];
  undefined4 uStack_ac;
  undefined *puStack_a8;
  undefined *puStack_a4;
  undefined4 *puStack_a0;
  undefined4 uStack_9c;
  undefined1 *puStack_98;
  code *pcStack_94;
  undefined4 local_80;
  int local_70;
  undefined4 local_6c;
  undefined1 auStack_68 [44];
  undefined1 auStack_3c [24];
  int local_24;
  
  puVar1 = PTR___stack_chk_guard_000534f0;
  local_24 = *(int *)PTR___stack_chk_guard_000534f0;
  if (PTR_DAT_00053108[0x35a9] == '\0') {
    uVar12 = param_1[1];
    uVar9 = *param_1;
  }
  else {
    uVar12 = param_1[3];
    uVar9 = param_1[2];
  }
  FUN_00014ad0(uVar9,uVar12);
  puVar16 = PTR_stdout_00053410;
  if (PTR_DAT_00053108[0x35a8] != '\0') {
    iVar10 = *(int *)PTR_stdout_00053410;
    puVar7 = *(undefined1 **)(iVar10 + 0x14);
    if (puVar7 < *(undefined1 **)(iVar10 + 0x18)) {
      *(undefined1 **)(iVar10 + 0x14) = puVar7 + 1;
      *puVar7 = 9;
    }
    else {
      (*(code *)PTR___overflow_000533e4)(iVar10,9);
    }
    unaff_s4 = auStack_68;
    local_70 = param_1[4];
    local_6c = param_1[5];
    param_1 = *(undefined4 **)(PTR_DAT_00053108 + 0x3598);
    uVar9 = *(undefined4 *)(PTR_DAT_00053108 + 0x359c);
    iVar10 = (*(code *)PTR_localtime_rz_00053120)(param_1,&local_70,unaff_s4);
    if (iVar10 == 0) {
      param_1 = (undefined4 *)imaxtostr(local_70 >> 0x1f,local_70,auStack_3c);
      unaff_s4 = (undefined1 *)(*(code *)PTR_dcgettext_000534d8)(0,PTR_UINT_00053118 + -0x1920,5);
      uVar9 = quote(param_1);
      (*(code *)PTR_error_00053480)(0,0,unaff_s4,uVar9);
      (*(code *)PTR_fputs_unlocked_00053534)(param_1,*(undefined4 *)puVar16);
    }
    else {
      local_80 = local_6c;
      fprintftime(*(undefined4 *)puVar16,uVar9,unaff_s4,param_1);
    }
  }
  uVar9 = 10;
  if (PTR_DAT_00053108[0x35ba] != '\0') {
    uVar9 = 0;
  }
  (*(code *)PTR___printf_chk_0005340c)(1,PTR_UINT_00053118 + -0x1908,param_2,uVar9);
  iVar10 = *(int *)puVar16;
  (*(code *)PTR_fflush_unlocked_000534cc)();
  if (local_24 == *(int *)puVar1) {
    return;
  }
  pcVar20 = usage;
  puVar18 = PTR___stack_chk_fail_000534d4;
  (*(code *)PTR___stack_chk_fail_000534d4)();
  puStack_a8 = puVar1;
  uStack_ac = **(undefined4 **)(puVar18 + 0x3e728);
  pcVar19 = *(code **)(puVar18 + 0x3e710);
  puStack_a4 = puVar16;
  puStack_a0 = param_1;
  uStack_9c = param_2;
  puStack_98 = unaff_s4;
  pcStack_94 = pcVar20;
  if (iVar10 == 0) goto LAB_00014e58;
  uVar12 = **(undefined4 **)(puVar18 + 0x3e748);
  uVar9 = (*pcVar19)(0,*(int *)(puVar18 + 0x3e350) + -0x18fc,5);
  (**(code **)(puVar18 + 0x3e5dc))(uVar12,1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));
  do {
    pcVar19 = *(code **)(puVar18 + 0x3e69c);
    (*pcVar19)(iVar10);
LAB_00014e58:
    puVar14 = *(undefined4 **)(puVar18 + 0x3e648);
    uVar9 = (*pcVar19)();
    (**(code **)(puVar18 + 0x3e644))(1,uVar9,**(undefined4 **)(puVar18 + 0x3e368));
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x188c,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1844,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x17f8,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x163c,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -5000,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x11e4,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0x1114,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xff4,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xd90,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xcc4,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc94,5);
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xc5c,5);
    (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xb7c);
    uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xb78,5);
    piVar15 = aiStack_e4;
    (**(code **)(puVar18 + 0x3e76c))(uVar9,*puVar14);
    iVar3 = *(int *)(puVar18 + 0x3e340);
    piVar5 = (int *)(iVar3 + 0x3010);
    piVar2 = piVar15;
    do {
      piVar8 = piVar2;
      piVar4 = piVar5;
      piVar5 = piVar4 + 4;
      *piVar8 = *piVar4;
      iVar13 = piVar4[2];
      iVar11 = piVar4[3];
      piVar8[1] = piVar4[1];
      piVar8[2] = iVar13;
      piVar8[3] = iVar11;
      piVar2 = piVar8 + 4;
    } while (piVar5 != (int *)(iVar3 + 0x3040));
    iVar3 = piVar4[5];
    iVar11 = *(int *)(puVar18 + 0x3e350);
    piVar8[4] = *piVar5;
    piVar8[5] = iVar3;
    iVar3 = aiStack_e4[0];
    while (iVar3 != 0) {
      iVar3 = (**(code **)(puVar18 + 0x3e758))(iVar11 + -0x1900);
      if (iVar3 == 0) {
        iVar3 = *(int *)(puVar18 + 0x3e350);
        goto LAB_00015168;
      }
      piVar15 = piVar15 + 2;
      iVar3 = *piVar15;
    }
    iVar3 = *(int *)(puVar18 + 0x3e350);
LAB_00015168:
    iVar13 = piVar15[1];
    iVar17 = *(int *)(puVar18 + 0x3e350);
    if (iVar13 == 0) {
      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,iVar3 + -0xadc,5);
      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)
      ;
      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);
      if ((iVar3 != 0) &&
         (iVar3 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3),
         iVar3 != 0)) {
        iVar13 = iVar11 + -0x1900;
        iVar3 = iVar13;
LAB_0001536c:
        uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa88,5);
        (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar11 + -0x1900);
        goto LAB_000151f0;
      }
      iVar13 = iVar11 + -0x1900;
      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);
      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar13);
      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);
      iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;
    }
    else {
      uVar9 = (**(code **)(puVar18 + 0x3e710))();
      (**(code **)(puVar18 + 0x3e644))(1,uVar9,*(int *)(puVar18 + 0x3e350) + -0xa9c,iVar17 + -0xac4)
      ;
      iVar3 = (**(code **)(puVar18 + 0x3e624))(5,0);
      if (iVar3 == 0) {
        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;
      }
      else {
        iVar6 = (**(code **)(puVar18 + 0x3e5d0))(iVar3,*(int *)(puVar18 + 0x3e350) + -0xa8c,3);
        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x1900;
        if (iVar6 != 0) goto LAB_0001536c;
      }
LAB_000151f0:
      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa40,5);
      (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar17 + -0xac4,iVar11 + -0x1900);
      uVar9 = (**(code **)(puVar18 + 0x3e710))(0,*(int *)(puVar18 + 0x3e350) + -0xa20,5);
      if (iVar13 == iVar3) {
        iVar3 = *(int *)(puVar18 + 0x3e350) + -0x9e4;
      }
      else {
        iVar3 = *(int *)(puVar18 + 0x3e350) + 0x1f44;
      }
    }
    (**(code **)(puVar18 + 0x3e644))(1,uVar9,iVar13,iVar3);
  } while( true );
}

