
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

void skip_read(COLUMN *p,int column_number)

{
  uint uVar1;
  int iVar2;
  byte *pbVar3;
  int iVar4;
  FILE *pFVar5;
  char cVar6;
  undefined *puVar7;
  
  pFVar5 = p->fp;
  pbVar3 = (byte *)pFVar5->_IO_read_ptr;
  if (pbVar3 < pFVar5->_IO_read_end) {
    pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);
    uVar1 = (uint)*pbVar3;
  }
  else {
    uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);
  }
  puVar7 = PTR_DAT_00036148;
  cVar6 = false;
  if (uVar1 == 0xc) {
    if (p->full_page_printed == false) {
      cVar6 = PTR_DAT_00036148[0x63f8];
      if (cVar6 == '\0') {
        cVar6 = '\x01';
      }
      else {
        p->full_page_printed = true;
LAB_00014284:
        if (puVar7[0x63f8] != '\0') {
          if (PTR_DAT_00036148[0x648f] == '\0') {
            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);
            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {
              *(undefined1 *)(iVar4 + 0x25) = 0;
              iVar4 = iVar4 + 0x28;
            }
          }
          else {
            p->full_page_printed = false;
          }
        }
      }
      pbVar3 = (byte *)pFVar5->_IO_read_ptr;
      if (pbVar3 < pFVar5->_IO_read_end) {
        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);
        uVar1 = (uint)*pbVar3;
      }
      else {
        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);
      }
      if (uVar1 == 10) {
        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);
      }
      else {
        (*(code *)PTR_ungetc_00036314)(uVar1,pFVar5);
        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);
      }
      goto LAB_0001417c;
    }
    pbVar3 = (byte *)pFVar5->_IO_read_ptr;
    if (pbVar3 < pFVar5->_IO_read_end) {
      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);
      uVar1 = (uint)*pbVar3;
    }
    else {
      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);
    }
    if (uVar1 == 10) {
      pbVar3 = (byte *)pFVar5->_IO_read_ptr;
      if (pbVar3 < pFVar5->_IO_read_end) {
        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);
        uVar1 = (uint)*pbVar3;
      }
      else {
        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);
      }
    }
    p->full_page_printed = false;
    cVar6 = uVar1 == 0xc;
  }
  else {
    p->full_page_printed = false;
  }
  puVar7 = PTR_DAT_00036148;
  if (PTR_DAT_00036148[0x63f8] != '\0') {
    p->full_page_printed = true;
  }
  while (uVar1 != 10) {
    if (uVar1 == 0xc) goto LAB_00014284;
    if (uVar1 == 0xffffffff) {
      close_file(p);
      break;
    }
    pbVar3 = (byte *)pFVar5->_IO_read_ptr;
    if (pbVar3 < pFVar5->_IO_read_end) {
      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);
      uVar1 = (uint)*pbVar3;
    }
    else {
      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);
    }
  }
LAB_0001417c:
  if (PTR_DAT_00036148[0x6050] != '\0') {
    if ((PTR_DAT_00036148[0x648f] != '\0') && (column_number != 1)) {
      return;
    }
    if (cVar6 == '\0') {
      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;
    }
  }
  return;
}



void FUN_00014088(int *param_1,int param_2)

{
  uint uVar1;
  int iVar2;
  byte *pbVar3;
  int iVar4;
  int iVar5;
  char cVar6;
  undefined *puVar7;
  
  iVar5 = *param_1;
  pbVar3 = *(byte **)(iVar5 + 4);
  if (pbVar3 < *(byte **)(iVar5 + 8)) {
    *(byte **)(iVar5 + 4) = pbVar3 + 1;
    uVar1 = (uint)*pbVar3;
  }
  else {
    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);
  }
  puVar7 = PTR_DAT_00036148;
  cVar6 = false;
  if (uVar1 == 0xc) {
    if (*(char *)((int)param_1 + 0x25) == '\0') {
      cVar6 = PTR_DAT_00036148[0x63f8];
      if (cVar6 == '\0') {
        cVar6 = '\x01';
      }
      else {
        *(undefined1 *)((int)param_1 + 0x25) = 1;
LAB_00014284:
        if (puVar7[0x63f8] != '\0') {
          if (PTR_DAT_00036148[0x648f] == '\0') {
            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);
            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {
              *(undefined1 *)(iVar4 + 0x25) = 0;
              iVar4 = iVar4 + 0x28;
            }
          }
          else {
            *(undefined1 *)((int)param_1 + 0x25) = 0;
          }
        }
      }
      pbVar3 = *(byte **)(iVar5 + 4);
      if (pbVar3 < *(byte **)(iVar5 + 8)) {
        *(byte **)(iVar5 + 4) = pbVar3 + 1;
        uVar1 = (uint)*pbVar3;
      }
      else {
        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);
      }
      if (uVar1 == 10) {
        FUN_00013ffc(param_1 + 2,param_1 + 7);
      }
      else {
        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);
        FUN_00013ffc(param_1 + 2,param_1 + 7);
      }
      goto LAB_0001417c;
    }
    pbVar3 = *(byte **)(iVar5 + 4);
    if (pbVar3 < *(byte **)(iVar5 + 8)) {
      *(byte **)(iVar5 + 4) = pbVar3 + 1;
      uVar1 = (uint)*pbVar3;
    }
    else {
      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);
    }
    if (uVar1 == 10) {
      pbVar3 = *(byte **)(iVar5 + 4);
      if (pbVar3 < *(byte **)(iVar5 + 8)) {
        *(byte **)(iVar5 + 4) = pbVar3 + 1;
        uVar1 = (uint)*pbVar3;
      }
      else {
        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);
      }
    }
    *(undefined1 *)((int)param_1 + 0x25) = 0;
    cVar6 = uVar1 == 0xc;
  }
  else {
    *(undefined1 *)((int)param_1 + 0x25) = 0;
  }
  puVar7 = PTR_DAT_00036148;
  if (PTR_DAT_00036148[0x63f8] != '\0') {
    *(undefined1 *)((int)param_1 + 0x25) = 1;
  }
  while (uVar1 != 10) {
    if (uVar1 == 0xc) goto LAB_00014284;
    if (uVar1 == 0xffffffff) {
      FUN_00013090(param_1);
      break;
    }
    pbVar3 = *(byte **)(iVar5 + 4);
    if (pbVar3 < *(byte **)(iVar5 + 8)) {
      *(byte **)(iVar5 + 4) = pbVar3 + 1;
      uVar1 = (uint)*pbVar3;
    }
    else {
      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);
    }
  }
LAB_0001417c:
  if (PTR_DAT_00036148[0x6050] != '\0') {
    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {
      return;
    }
    if (cVar6 == '\0') {
      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;
    }
  }
  return;
}


lui gp,0x3
addiu gp,gp,-0x5f68
addu gp,gp,t9
addiu sp,sp,-0x40
sw s0,0x1c(sp)
lw s0,0x0(a0)
sw gp,0x10(sp)
sw s6,0x34(sp)
or s6,a0,zero
sw s3,0x28(sp)
sw ra,0x3c(sp)
sw s7,0x38(sp)
sw s5,0x30(sp)
sw s4,0x2c(sp)
sw s2,0x24(sp)
sw s1,0x20(sp)
lw v1,0x4(s0)
lw v0,0x8(s0)
sltu v0,v1,v0
beq v0,zero,0x00014328
_or s3,a1,zero
addiu v0,v1,0x1
sw v0,0x4(s0)
lbu v0,0x0(v1)
li v1,0xc
beq v0,v1,0x00014218
_or s2,zero,zero
sb zero,0x25(s6)
lw s7,-0x7fd8(gp)
lbu v1,0x63f8(s7)
bne v1,zero,0x000141e0
_li v1,0x1
li v1,0xa
beq v0,v1,0x0001417c
_li v1,0xc
beq v0,v1,0x00014284
_li v1,-0x1
beq v0,v1,0x00014260
_lw t9,-0x7fcc(gp)
li s1,0xa
li s4,0xc
b 0x00014154
_li s5,-0x1
sw a0,0x4(s0)
lbu v0,0x0(v1)
beq v0,s1,0x0001417c
_nop
beq v0,s4,0x00014284
_nop
beq v0,s5,0x00014260
_lw t9,-0x7fcc(gp)
lw v1,0x4(s0)
lw v0,0x8(s0)
sltu v0,v1,v0
bne v0,zero,0x00014134
_addiu a0,v1,0x1
lw t9,-0x7e28(gp)
jalr t9
_or a0,s0,zero
bne v0,s1,0x00014144
_lw gp,0x10(sp)
lw v0,-0x7fd8(gp)
lbu v0,0x6050(v0)
beq v0,zero,0x000141b8
_lw ra,0x3c(sp)
lw v0,-0x7fd8(gp)
lbu v0,0x648f(v0)
bne v0,zero,0x000141e8
_li v0,0x1
bne s2,zero,0x000141b8
_lw ra,0x3c(sp)
lw v1,-0x7fd8(gp)
lw v0,0x6054(v1)
addiu v0,v0,0x1
sw v0,0x6054(v1)
lw ra,0x3c(sp)
lw s7,0x38(sp)
lw s6,0x34(sp)
lw s5,0x30(sp)
lw s4,0x2c(sp)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x40
b 0x00014108
_sb v1,0x25(s6)
beq s3,v0,0x0001419c
_lw ra,0x3c(sp)
lw s7,0x38(sp)
lw s6,0x34(sp)
lw s5,0x30(sp)
lw s4,0x2c(sp)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x40
lbu v0,0x25(s6)
beq v0,zero,0x00014274
_lw s7,-0x7fd8(gp)
lw v1,0x4(s0)
lw v0,0x8(s0)
sltu v0,v1,v0
beq v0,zero,0x00014388
_lw t9,-0x7e28(gp)
addiu v0,v1,0x1
sw v0,0x4(s0)
lbu v0,0x0(v1)
li v1,0xa
beq v0,v1,0x0001434c
_nop
xori s2,v0,0xc
sb zero,0x25(s6)
b 0x000140f8
_sltiu s2,s2,0x1
addiu t9,t9,0x3090
bal 0x00013090
_or a0,s6,zero
b 0x0001417c
_lw gp,0x10(sp)
lbu s2,0x63f8(s7)
beq s2,zero,0x0001433c
_li v0,0x1
sb v0,0x25(s6)
lbu v0,0x63f8(s7)
beq v0,zero,0x000142bc
_lw v0,-0x7fd8(gp)
lbu v0,0x648f(v0)
bne v0,zero,0x00014344
_lw v0,-0x7fd8(gp)
lw v1,-0x7fd8(gp)
lw v0,0x6068(v0)
beq v0,zero,0x000142bc
_lw v1,0x64a4(v1)
addiu v0,v0,-0x1
sb zero,0x25(v1)
bne v0,zero,0x000142ac
_addiu v1,v1,0x28
lw v1,0x4(s0)
lw v0,0x8(s0)
sltu v0,v1,v0
beq v0,zero,0x00014370
_addiu v0,v1,0x1
sw v0,0x4(s0)
lbu a0,0x0(v1)
li v0,0xa
bne a0,v0,0x000142fc
_lw t9,-0x7fcc(gp)
addiu a1,s6,0x1c
addiu t9,t9,0x3ffc
bal 0x00013ffc
_addiu a0,s6,0x8
b 0x0001417c
_lw gp,0x10(sp)
lw t9,-0x7e0c(gp)
jalr t9
_or a1,s0,zero
addiu a1,s6,0x1c
lw gp,0x10(sp)
lw t9,-0x7fcc(gp)
addiu t9,t9,0x3ffc
bal 0x00013ffc
_addiu a0,s6,0x8
b 0x0001417c
_lw gp,0x10(sp)
lw t9,-0x7e28(gp)
jalr t9
_or a0,s0,zero
b 0x000140e8
_lw gp,0x10(sp)
b 0x000142bc
_li s2,0x1
b 0x000142bc
_sb zero,0x25(s6)
lw v1,0x4(s0)
lw v0,0x8(s0)
sltu v0,v1,v0
beq v0,zero,0x00014398
_lw t9,-0x7e28(gp)
addiu v0,v1,0x1
sw v0,0x4(s0)
b 0x00014250
_lbu v0,0x0(v1)
lw t9,-0x7e28(gp)
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
b 0x000142d8
_or a0,v0,zero
jalr t9
_or a0,s0,zero
b 0x00014244
_lw gp,0x10(sp)
jalr t9
_or a0,s0,zero
b 0x00014250
_lw gp,0x10(sp)
(translation_unit "void FUN_00014088(int *param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  byte *pbVar3;\n  int iVar4;\n  int iVar5;\n  char cVar6;\n  undefined *puVar7;\n  \n  iVar5 = *param_1;\n  pbVar3 = *(byte **)(iVar5 + 4);\n  if (pbVar3 < *(byte **)(iVar5 + 8)) {\n    *(byte **)(iVar5 + 4) = pbVar3 + 1;\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }\n  puVar7 = PTR_DAT_00036148;\n  cVar6 = false;\n  if (uVar1 == 0xc) {\n    if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }\n  puVar7 = PTR_DAT_00036148;\n  if (PTR_DAT_00036148[0x63f8] != '\0') {\n    *(undefined1 *)((int)param_1 + 0x25) = 1;\n  }\n  while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n  }\nLAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_00014088(int *param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  byte *pbVar3;\n  int iVar4;\n  int iVar5;\n  char cVar6;\n  undefined *puVar7;\n  \n  iVar5 = *param_1;\n  pbVar3 = *(byte **)(iVar5 + 4);\n  if (pbVar3 < *(byte **)(iVar5 + 8)) {\n    *(byte **)(iVar5 + 4) = pbVar3 + 1;\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }\n  puVar7 = PTR_DAT_00036148;\n  cVar6 = false;\n  if (uVar1 == 0xc) {\n    if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }\n  puVar7 = PTR_DAT_00036148;\n  if (PTR_DAT_00036148[0x63f8] != '\0') {\n    *(undefined1 *)((int)param_1 + 0x25) = 1;\n  }\n  while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n  }\nLAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00014088(int *param_1,int param_2)" identifier (parameter_list "(int *param_1,int param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  byte *pbVar3;\n  int iVar4;\n  int iVar5;\n  char cVar6;\n  undefined *puVar7;\n  \n  iVar5 = *param_1;\n  pbVar3 = *(byte **)(iVar5 + 4);\n  if (pbVar3 < *(byte **)(iVar5 + 8)) {\n    *(byte **)(iVar5 + 4) = pbVar3 + 1;\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }\n  puVar7 = PTR_DAT_00036148;\n  cVar6 = false;\n  if (uVar1 == 0xc) {\n    if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }\n  puVar7 = PTR_DAT_00036148;\n  if (PTR_DAT_00036148[0x63f8] != '\0') {\n    *(undefined1 *)((int)param_1 + 0x25) = 1;\n  }\n  while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n  }\nLAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (expression_statement "iVar5 = *param_1;" (assignment_expression "iVar5 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" identifier = (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n    *(byte **)(iVar5 + 4) = pbVar3 + 1;\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }" if (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" ( (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" identifier < (pointer_expression "*(byte **)(iVar5 + 8)" * (cast_expression "(byte **)(iVar5 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n    *(byte **)(iVar5 + 4) = pbVar3 + 1;\n    uVar1 = (uint)*pbVar3;\n  }" { (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }" else (compound_statement "{\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier )))) ;) }))) (expression_statement "puVar7 = PTR_DAT_00036148;" (assignment_expression "puVar7 = PTR_DAT_00036148" identifier = identifier) ;) (expression_statement "cVar6 = false;" (assignment_expression "cVar6 = false" identifier = false) ;) (if_statement "if (uVar1 == 0xc) {\n    if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }" if (parenthesized_expression "(uVar1 == 0xc)" ( (binary_expression "uVar1 == 0xc" identifier == number_literal) )) (compound_statement "{\n    if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n    cVar6 = uVar1 == 0xc;\n  }" { (if_statement "if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }" if (parenthesized_expression "(*(char *)((int)param_1 + 0x25) == '\0')" ( (binary_expression "*(char *)((int)param_1 + 0x25) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x25)" * (cast_expression "(char *)((int)param_1 + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x25)" ( (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }" { (expression_statement "cVar6 = PTR_DAT_00036148[0x63f8];" (assignment_expression "cVar6 = PTR_DAT_00036148[0x63f8]" identifier = (subscript_expression "PTR_DAT_00036148[0x63f8]" identifier [ number_literal ])) ;) (if_statement "if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        cVar6 = '\x01';\n      }" { (expression_statement "cVar6 = '\x01';" (assignment_expression "cVar6 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }) (else_clause "else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }" else (compound_statement "{\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }" { (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" * (cast_expression "(undefined1 *)((int)param_1 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x25)" ( (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }" statement_identifier : (if_statement "if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }" if (parenthesized_expression "(puVar7[0x63f8] != '\0')" ( (binary_expression "puVar7[0x63f8] != '\0'" (subscript_expression "puVar7[0x63f8]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }" { (if_statement "if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }" if (parenthesized_expression "(PTR_DAT_00036148[0x648f] == '\0')" ( (binary_expression "PTR_DAT_00036148[0x648f] == '\0'" (subscript_expression "PTR_DAT_00036148[0x648f]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }" { (expression_statement "iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);" (assignment_expression "iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4)" identifier = (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x64a4)" * (cast_expression "(int *)(PTR_DAT_00036148 + 0x64a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00036148 + 0x64a4)" ( (binary_expression "PTR_DAT_00036148 + 0x64a4" identifier + number_literal) ))))) ;) (for_statement "for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }" for ( (assignment_expression "iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068)" identifier = (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x6068)" * (cast_expression "(int *)(PTR_DAT_00036148 + 0x6068)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00036148 + 0x6068)" ( (binary_expression "PTR_DAT_00036148 + 0x6068" identifier + number_literal) ))))) ; (binary_expression "iVar2 != 0" identifier != number_literal) ; (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ) (compound_statement "{\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }" { (expression_statement "*(undefined1 *)(iVar4 + 0x25) = 0;" (assignment_expression "*(undefined1 *)(iVar4 + 0x25) = 0" (pointer_expression "*(undefined1 *)(iVar4 + 0x25)" * (cast_expression "(undefined1 *)(iVar4 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x25)" ( (binary_expression "iVar4 + 0x25" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = iVar4 + 0x28;" (assignment_expression "iVar4 = iVar4 + 0x28" identifier = (binary_expression "iVar4 + 0x28" identifier + number_literal)) ;) })) }) (else_clause "else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }" else (compound_statement "{\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }" { (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 0;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 0" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" * (cast_expression "(undefined1 *)((int)param_1 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x25)" ( (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }))) }))) }))) (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" identifier = (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" if (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" ( (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" identifier < (pointer_expression "*(byte **)(iVar5 + 8)" * (cast_expression "(byte **)(iVar5 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }" { (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" else (compound_statement "{\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier )))) ;) }))) (if_statement "if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }" if (parenthesized_expression "(uVar1 == 10)" ( (binary_expression "uVar1 == 10" identifier == number_literal) )) (compound_statement "{\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }" { (expression_statement "FUN_00013ffc(param_1 + 2,param_1 + 7);" (call_expression "FUN_00013ffc(param_1 + 2,param_1 + 7)" identifier (argument_list "(param_1 + 2,param_1 + 7)" ( (binary_expression "param_1 + 2" identifier + number_literal) , (binary_expression "param_1 + 7" identifier + number_literal) ))) ;) }) (else_clause "else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }" else (compound_statement "{\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }" { (expression_statement "(*(code *)PTR_ungetc_00036314)(uVar1,iVar5);" (call_expression "(*(code *)PTR_ungetc_00036314)(uVar1,iVar5)" (parenthesized_expression "(*(code *)PTR_ungetc_00036314)" ( (pointer_expression "*(code *)PTR_ungetc_00036314" * (cast_expression "(code *)PTR_ungetc_00036314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar1,iVar5)" ( identifier , identifier ))) ;) (expression_statement "FUN_00013ffc(param_1 + 2,param_1 + 7);" (call_expression "FUN_00013ffc(param_1 + 2,param_1 + 7)" identifier (argument_list "(param_1 + 2,param_1 + 7)" ( (binary_expression "param_1 + 2" identifier + number_literal) , (binary_expression "param_1 + 7" identifier + number_literal) ))) ;) }))) (goto_statement "goto LAB_0001417c;" goto statement_identifier ;) })) (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" identifier = (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" if (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" ( (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" identifier < (pointer_expression "*(byte **)(iVar5 + 8)" * (cast_expression "(byte **)(iVar5 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }" { (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" else (compound_statement "{\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier )))) ;) }))) (if_statement "if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }" if (parenthesized_expression "(uVar1 == 10)" ( (binary_expression "uVar1 == 10" identifier == number_literal) )) (compound_statement "{\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }" { (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" identifier = (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" if (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" ( (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" identifier < (pointer_expression "*(byte **)(iVar5 + 8)" * (cast_expression "(byte **)(iVar5 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }" { (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" else (compound_statement "{\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier )))) ;) }))) })) (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 0;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 0" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" * (cast_expression "(undefined1 *)((int)param_1 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x25)" ( (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = uVar1 == 0xc;" (assignment_expression "cVar6 = uVar1 == 0xc" identifier = (binary_expression "uVar1 == 0xc" identifier == number_literal)) ;) }) (else_clause "else {\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }" else (compound_statement "{\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }" { (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 0;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 0" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" * (cast_expression "(undefined1 *)((int)param_1 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x25)" ( (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }))) (expression_statement "puVar7 = PTR_DAT_00036148;" (assignment_expression "puVar7 = PTR_DAT_00036148" identifier = identifier) ;) (if_statement "if (PTR_DAT_00036148[0x63f8] != '\0') {\n    *(undefined1 *)((int)param_1 + 0x25) = 1;\n  }" if (parenthesized_expression "(PTR_DAT_00036148[0x63f8] != '\0')" ( (binary_expression "PTR_DAT_00036148[0x63f8] != '\0'" (subscript_expression "PTR_DAT_00036148[0x63f8]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined1 *)((int)param_1 + 0x25) = 1;\n  }" { (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" * (cast_expression "(undefined1 *)((int)param_1 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x25)" ( (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) (while_statement "while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n  }" while (parenthesized_expression "(uVar1 != 10)" ( (binary_expression "uVar1 != 10" identifier != number_literal) )) (compound_statement "{\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n  }" { (if_statement "if (uVar1 == 0xc) goto LAB_00014284;" if (parenthesized_expression "(uVar1 == 0xc)" ( (binary_expression "uVar1 == 0xc" identifier == number_literal) )) (goto_statement "goto LAB_00014284;" goto statement_identifier ;)) (if_statement "if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }" if (parenthesized_expression "(uVar1 == 0xffffffff)" ( (binary_expression "uVar1 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n      FUN_00013090(param_1);\n      break;\n    }" { (expression_statement "FUN_00013090(param_1);" (call_expression "FUN_00013090(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" identifier = (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" if (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" ( (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" identifier < (pointer_expression "*(byte **)(iVar5 + 8)" * (cast_expression "(byte **)(iVar5 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }" { (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" else (compound_statement "{\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier )))) ;) }))) })) (labeled_statement "LAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }" statement_identifier : (if_statement "if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }" if (parenthesized_expression "(PTR_DAT_00036148[0x6050] != '\0')" ( (binary_expression "PTR_DAT_00036148[0x6050] != '\0'" (subscript_expression "PTR_DAT_00036148[0x6050]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }" { (if_statement "if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }" if (parenthesized_expression "((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1))" ( (binary_expression "(PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)" (parenthesized_expression "(PTR_DAT_00036148[0x648f] != '\0')" ( (binary_expression "PTR_DAT_00036148[0x648f] != '\0'" (subscript_expression "PTR_DAT_00036148[0x648f]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(param_2 != 1)" ( (binary_expression "param_2 != 1" identifier != number_literal) ))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }" { (expression_statement "*(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;" (assignment_expression "*(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1" (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x6054)" * (cast_expression "(int *)(PTR_DAT_00036148 + 0x6054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00036148 + 0x6054)" ( (binary_expression "PTR_DAT_00036148 + 0x6054" identifier + number_literal) )))) = (binary_expression "*(int *)(PTR_DAT_00036148 + 0x6054) + 1" (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x6054)" * (cast_expression "(int *)(PTR_DAT_00036148 + 0x6054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00036148 + 0x6054)" ( (binary_expression "PTR_DAT_00036148 + 0x6054" identifier + number_literal) )))) + number_literal)) ;) })) }))) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nvoid skip_read(COLUMN *p,int column_number)\n\n{\n  uint uVar1;\n  int iVar2;\n  byte *pbVar3;\n  int iVar4;\n  FILE *pFVar5;\n  char cVar6;\n  undefined *puVar7;\n  \n  pFVar5 = p->fp;\n  pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n  if (pbVar3 < pFVar5->_IO_read_end) {\n    pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n  }\n  puVar7 = PTR_DAT_00036148;\n  cVar6 = false;\n  if (uVar1 == 0xc) {\n    if (p->full_page_printed == false) {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        p->full_page_printed = true;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            p->full_page_printed = false;\n          }\n        }\n      }\n      pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n      if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }\n      if (uVar1 == 10) {\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,pFVar5);\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n    if (pbVar3 < pFVar5->_IO_read_end) {\n      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n      if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }\n    }\n    p->full_page_printed = false;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    p->full_page_printed = false;\n  }\n  puVar7 = PTR_DAT_00036148;\n  if (PTR_DAT_00036148[0x63f8] != '\0') {\n    p->full_page_printed = true;\n  }\n  while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      close_file(p);\n      break;\n    }\n    pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n    if (pbVar3 < pFVar5->_IO_read_end) {\n      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }\n  }\nLAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (column_number != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }\n  return;\n}\n\n" comment (function_definition "void skip_read(COLUMN *p,int column_number)\n\n{\n  uint uVar1;\n  int iVar2;\n  byte *pbVar3;\n  int iVar4;\n  FILE *pFVar5;\n  char cVar6;\n  undefined *puVar7;\n  \n  pFVar5 = p->fp;\n  pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n  if (pbVar3 < pFVar5->_IO_read_end) {\n    pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n  }\n  puVar7 = PTR_DAT_00036148;\n  cVar6 = false;\n  if (uVar1 == 0xc) {\n    if (p->full_page_printed == false) {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        p->full_page_printed = true;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            p->full_page_printed = false;\n          }\n        }\n      }\n      pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n      if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }\n      if (uVar1 == 10) {\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,pFVar5);\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n    if (pbVar3 < pFVar5->_IO_read_end) {\n      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n      if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }\n    }\n    p->full_page_printed = false;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    p->full_page_printed = false;\n  }\n  puVar7 = PTR_DAT_00036148;\n  if (PTR_DAT_00036148[0x63f8] != '\0') {\n    p->full_page_printed = true;\n  }\n  while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      close_file(p);\n      break;\n    }\n    pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n    if (pbVar3 < pFVar5->_IO_read_end) {\n      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }\n  }\nLAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (column_number != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "skip_read(COLUMN *p,int column_number)" identifier (parameter_list "(COLUMN *p,int column_number)" ( (parameter_declaration "COLUMN *p" type_identifier (pointer_declarator "*p" * identifier)) , (parameter_declaration "int column_number" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  byte *pbVar3;\n  int iVar4;\n  FILE *pFVar5;\n  char cVar6;\n  undefined *puVar7;\n  \n  pFVar5 = p->fp;\n  pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n  if (pbVar3 < pFVar5->_IO_read_end) {\n    pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n  }\n  puVar7 = PTR_DAT_00036148;\n  cVar6 = false;\n  if (uVar1 == 0xc) {\n    if (p->full_page_printed == false) {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        p->full_page_printed = true;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            p->full_page_printed = false;\n          }\n        }\n      }\n      pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n      if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }\n      if (uVar1 == 10) {\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,pFVar5);\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n    if (pbVar3 < pFVar5->_IO_read_end) {\n      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n      if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }\n    }\n    p->full_page_printed = false;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    p->full_page_printed = false;\n  }\n  puVar7 = PTR_DAT_00036148;\n  if (PTR_DAT_00036148[0x63f8] != '\0') {\n    p->full_page_printed = true;\n  }\n  while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      close_file(p);\n      break;\n    }\n    pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n    if (pbVar3 < pFVar5->_IO_read_end) {\n      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }\n  }\nLAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (column_number != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "FILE *pFVar5;" type_identifier (pointer_declarator "*pFVar5" * identifier) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (expression_statement "pFVar5 = p->fp;" (assignment_expression "pFVar5 = p->fp" identifier = (field_expression "p->fp" identifier -> field_identifier)) ;) (expression_statement "pbVar3 = (byte *)pFVar5->_IO_read_ptr;" (assignment_expression "pbVar3 = (byte *)pFVar5->_IO_read_ptr" identifier = (cast_expression "(byte *)pFVar5->_IO_read_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pFVar5->_IO_read_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar3 < pFVar5->_IO_read_end) {\n    pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n  }" if (parenthesized_expression "(pbVar3 < pFVar5->_IO_read_end)" ( (binary_expression "pbVar3 < pFVar5->_IO_read_end" identifier < (field_expression "pFVar5->_IO_read_end" identifier -> field_identifier)) )) (compound_statement "{\n    pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n    uVar1 = (uint)*pbVar3;\n  }" { (expression_statement "pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);" (assignment_expression "pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1)" (field_expression "pFVar5->_IO_read_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar3 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar3 + 1)" ( (binary_expression "pbVar3 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n  }" else (compound_statement "{\n    uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n  }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(pFVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier )))) ;) }))) (expression_statement "puVar7 = PTR_DAT_00036148;" (assignment_expression "puVar7 = PTR_DAT_00036148" identifier = identifier) ;) (expression_statement "cVar6 = false;" (assignment_expression "cVar6 = false" identifier = false) ;) (if_statement "if (uVar1 == 0xc) {\n    if (p->full_page_printed == false) {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        p->full_page_printed = true;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            p->full_page_printed = false;\n          }\n        }\n      }\n      pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n      if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }\n      if (uVar1 == 10) {\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,pFVar5);\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n    if (pbVar3 < pFVar5->_IO_read_end) {\n      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n      if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }\n    }\n    p->full_page_printed = false;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    p->full_page_printed = false;\n  }" if (parenthesized_expression "(uVar1 == 0xc)" ( (binary_expression "uVar1 == 0xc" identifier == number_literal) )) (compound_statement "{\n    if (p->full_page_printed == false) {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        p->full_page_printed = true;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            p->full_page_printed = false;\n          }\n        }\n      }\n      pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n      if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }\n      if (uVar1 == 10) {\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,pFVar5);\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n    if (pbVar3 < pFVar5->_IO_read_end) {\n      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n      if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }\n    }\n    p->full_page_printed = false;\n    cVar6 = uVar1 == 0xc;\n  }" { (if_statement "if (p->full_page_printed == false) {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        p->full_page_printed = true;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            p->full_page_printed = false;\n          }\n        }\n      }\n      pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n      if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }\n      if (uVar1 == 10) {\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,pFVar5);\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      goto LAB_0001417c;\n    }" if (parenthesized_expression "(p->full_page_printed == false)" ( (binary_expression "p->full_page_printed == false" (field_expression "p->full_page_printed" identifier -> field_identifier) == false) )) (compound_statement "{\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        p->full_page_printed = true;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            p->full_page_printed = false;\n          }\n        }\n      }\n      pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n      if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }\n      if (uVar1 == 10) {\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,pFVar5);\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      goto LAB_0001417c;\n    }" { (expression_statement "cVar6 = PTR_DAT_00036148[0x63f8];" (assignment_expression "cVar6 = PTR_DAT_00036148[0x63f8]" identifier = (subscript_expression "PTR_DAT_00036148[0x63f8]" identifier [ number_literal ])) ;) (if_statement "if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        p->full_page_printed = true;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            p->full_page_printed = false;\n          }\n        }\n      }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        cVar6 = '\x01';\n      }" { (expression_statement "cVar6 = '\x01';" (assignment_expression "cVar6 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }) (else_clause "else {\n        p->full_page_printed = true;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            p->full_page_printed = false;\n          }\n        }\n      }" else (compound_statement "{\n        p->full_page_printed = true;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            p->full_page_printed = false;\n          }\n        }\n      }" { (expression_statement "p->full_page_printed = true;" (assignment_expression "p->full_page_printed = true" (field_expression "p->full_page_printed" identifier -> field_identifier) = true) ;) (labeled_statement "LAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            p->full_page_printed = false;\n          }\n        }" statement_identifier : (if_statement "if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            p->full_page_printed = false;\n          }\n        }" if (parenthesized_expression "(puVar7[0x63f8] != '\0')" ( (binary_expression "puVar7[0x63f8] != '\0'" (subscript_expression "puVar7[0x63f8]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            p->full_page_printed = false;\n          }\n        }" { (if_statement "if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            p->full_page_printed = false;\n          }" if (parenthesized_expression "(PTR_DAT_00036148[0x648f] == '\0')" ( (binary_expression "PTR_DAT_00036148[0x648f] == '\0'" (subscript_expression "PTR_DAT_00036148[0x648f]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }" { (expression_statement "iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);" (assignment_expression "iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4)" identifier = (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x64a4)" * (cast_expression "(int *)(PTR_DAT_00036148 + 0x64a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00036148 + 0x64a4)" ( (binary_expression "PTR_DAT_00036148 + 0x64a4" identifier + number_literal) ))))) ;) (for_statement "for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }" for ( (assignment_expression "iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068)" identifier = (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x6068)" * (cast_expression "(int *)(PTR_DAT_00036148 + 0x6068)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00036148 + 0x6068)" ( (binary_expression "PTR_DAT_00036148 + 0x6068" identifier + number_literal) ))))) ; (binary_expression "iVar2 != 0" identifier != number_literal) ; (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ) (compound_statement "{\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }" { (expression_statement "*(undefined1 *)(iVar4 + 0x25) = 0;" (assignment_expression "*(undefined1 *)(iVar4 + 0x25) = 0" (pointer_expression "*(undefined1 *)(iVar4 + 0x25)" * (cast_expression "(undefined1 *)(iVar4 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x25)" ( (binary_expression "iVar4 + 0x25" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = iVar4 + 0x28;" (assignment_expression "iVar4 = iVar4 + 0x28" identifier = (binary_expression "iVar4 + 0x28" identifier + number_literal)) ;) })) }) (else_clause "else {\n            p->full_page_printed = false;\n          }" else (compound_statement "{\n            p->full_page_printed = false;\n          }" { (expression_statement "p->full_page_printed = false;" (assignment_expression "p->full_page_printed = false" (field_expression "p->full_page_printed" identifier -> field_identifier) = false) ;) }))) }))) }))) (expression_statement "pbVar3 = (byte *)pFVar5->_IO_read_ptr;" (assignment_expression "pbVar3 = (byte *)pFVar5->_IO_read_ptr" identifier = (cast_expression "(byte *)pFVar5->_IO_read_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pFVar5->_IO_read_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }" if (parenthesized_expression "(pbVar3 < pFVar5->_IO_read_end)" ( (binary_expression "pbVar3 < pFVar5->_IO_read_end" identifier < (field_expression "pFVar5->_IO_read_end" identifier -> field_identifier)) )) (compound_statement "{\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }" { (expression_statement "pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);" (assignment_expression "pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1)" (field_expression "pFVar5->_IO_read_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar3 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar3 + 1)" ( (binary_expression "pbVar3 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }" else (compound_statement "{\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(pFVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier )))) ;) }))) (if_statement "if (uVar1 == 10) {\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,pFVar5);\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }" if (parenthesized_expression "(uVar1 == 10)" ( (binary_expression "uVar1 == 10" identifier == number_literal) )) (compound_statement "{\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }" { (expression_statement "hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);" (call_expression "hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print)" identifier (argument_list "((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print)" ( (cast_expression "(COLUMN *)&p->status" ( (type_descriptor "COLUMN *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p->status" & (field_expression "p->status" identifier -> field_identifier))) , (cast_expression "(COLUMN *)&p->lines_to_print" ( (type_descriptor "COLUMN *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p->lines_to_print" & (field_expression "p->lines_to_print" identifier -> field_identifier))) ))) ;) }) (else_clause "else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,pFVar5);\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }" else (compound_statement "{\n        (*(code *)PTR_ungetc_00036314)(uVar1,pFVar5);\n        hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);\n      }" { (expression_statement "(*(code *)PTR_ungetc_00036314)(uVar1,pFVar5);" (call_expression "(*(code *)PTR_ungetc_00036314)(uVar1,pFVar5)" (parenthesized_expression "(*(code *)PTR_ungetc_00036314)" ( (pointer_expression "*(code *)PTR_ungetc_00036314" * (cast_expression "(code *)PTR_ungetc_00036314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar1,pFVar5)" ( identifier , identifier ))) ;) (expression_statement "hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print);" (call_expression "hold_file((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print)" identifier (argument_list "((COLUMN *)&p->status,(COLUMN *)&p->lines_to_print)" ( (cast_expression "(COLUMN *)&p->status" ( (type_descriptor "COLUMN *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p->status" & (field_expression "p->status" identifier -> field_identifier))) , (cast_expression "(COLUMN *)&p->lines_to_print" ( (type_descriptor "COLUMN *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p->lines_to_print" & (field_expression "p->lines_to_print" identifier -> field_identifier))) ))) ;) }))) (goto_statement "goto LAB_0001417c;" goto statement_identifier ;) })) (expression_statement "pbVar3 = (byte *)pFVar5->_IO_read_ptr;" (assignment_expression "pbVar3 = (byte *)pFVar5->_IO_read_ptr" identifier = (cast_expression "(byte *)pFVar5->_IO_read_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pFVar5->_IO_read_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar3 < pFVar5->_IO_read_end) {\n      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }" if (parenthesized_expression "(pbVar3 < pFVar5->_IO_read_end)" ( (binary_expression "pbVar3 < pFVar5->_IO_read_end" identifier < (field_expression "pFVar5->_IO_read_end" identifier -> field_identifier)) )) (compound_statement "{\n      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n      uVar1 = (uint)*pbVar3;\n    }" { (expression_statement "pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);" (assignment_expression "pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1)" (field_expression "pFVar5->_IO_read_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar3 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar3 + 1)" ( (binary_expression "pbVar3 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }" else (compound_statement "{\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(pFVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier )))) ;) }))) (if_statement "if (uVar1 == 10) {\n      pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n      if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }\n    }" if (parenthesized_expression "(uVar1 == 10)" ( (binary_expression "uVar1 == 10" identifier == number_literal) )) (compound_statement "{\n      pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n      if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }\n    }" { (expression_statement "pbVar3 = (byte *)pFVar5->_IO_read_ptr;" (assignment_expression "pbVar3 = (byte *)pFVar5->_IO_read_ptr" identifier = (cast_expression "(byte *)pFVar5->_IO_read_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pFVar5->_IO_read_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar3 < pFVar5->_IO_read_end) {\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }" if (parenthesized_expression "(pbVar3 < pFVar5->_IO_read_end)" ( (binary_expression "pbVar3 < pFVar5->_IO_read_end" identifier < (field_expression "pFVar5->_IO_read_end" identifier -> field_identifier)) )) (compound_statement "{\n        pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n        uVar1 = (uint)*pbVar3;\n      }" { (expression_statement "pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);" (assignment_expression "pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1)" (field_expression "pFVar5->_IO_read_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar3 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar3 + 1)" ( (binary_expression "pbVar3 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }" else (compound_statement "{\n        uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n      }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(pFVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier )))) ;) }))) })) (expression_statement "p->full_page_printed = false;" (assignment_expression "p->full_page_printed = false" (field_expression "p->full_page_printed" identifier -> field_identifier) = false) ;) (expression_statement "cVar6 = uVar1 == 0xc;" (assignment_expression "cVar6 = uVar1 == 0xc" identifier = (binary_expression "uVar1 == 0xc" identifier == number_literal)) ;) }) (else_clause "else {\n    p->full_page_printed = false;\n  }" else (compound_statement "{\n    p->full_page_printed = false;\n  }" { (expression_statement "p->full_page_printed = false;" (assignment_expression "p->full_page_printed = false" (field_expression "p->full_page_printed" identifier -> field_identifier) = false) ;) }))) (expression_statement "puVar7 = PTR_DAT_00036148;" (assignment_expression "puVar7 = PTR_DAT_00036148" identifier = identifier) ;) (if_statement "if (PTR_DAT_00036148[0x63f8] != '\0') {\n    p->full_page_printed = true;\n  }" if (parenthesized_expression "(PTR_DAT_00036148[0x63f8] != '\0')" ( (binary_expression "PTR_DAT_00036148[0x63f8] != '\0'" (subscript_expression "PTR_DAT_00036148[0x63f8]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    p->full_page_printed = true;\n  }" { (expression_statement "p->full_page_printed = true;" (assignment_expression "p->full_page_printed = true" (field_expression "p->full_page_printed" identifier -> field_identifier) = true) ;) })) (while_statement "while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      close_file(p);\n      break;\n    }\n    pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n    if (pbVar3 < pFVar5->_IO_read_end) {\n      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }\n  }" while (parenthesized_expression "(uVar1 != 10)" ( (binary_expression "uVar1 != 10" identifier != number_literal) )) (compound_statement "{\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      close_file(p);\n      break;\n    }\n    pbVar3 = (byte *)pFVar5->_IO_read_ptr;\n    if (pbVar3 < pFVar5->_IO_read_end) {\n      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }\n  }" { (if_statement "if (uVar1 == 0xc) goto LAB_00014284;" if (parenthesized_expression "(uVar1 == 0xc)" ( (binary_expression "uVar1 == 0xc" identifier == number_literal) )) (goto_statement "goto LAB_00014284;" goto statement_identifier ;)) (if_statement "if (uVar1 == 0xffffffff) {\n      close_file(p);\n      break;\n    }" if (parenthesized_expression "(uVar1 == 0xffffffff)" ( (binary_expression "uVar1 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n      close_file(p);\n      break;\n    }" { (expression_statement "close_file(p);" (call_expression "close_file(p)" identifier (argument_list "(p)" ( identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "pbVar3 = (byte *)pFVar5->_IO_read_ptr;" (assignment_expression "pbVar3 = (byte *)pFVar5->_IO_read_ptr" identifier = (cast_expression "(byte *)pFVar5->_IO_read_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pFVar5->_IO_read_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar3 < pFVar5->_IO_read_end) {\n      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }" if (parenthesized_expression "(pbVar3 < pFVar5->_IO_read_end)" ( (binary_expression "pbVar3 < pFVar5->_IO_read_end" identifier < (field_expression "pFVar5->_IO_read_end" identifier -> field_identifier)) )) (compound_statement "{\n      pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);\n      uVar1 = (uint)*pbVar3;\n    }" { (expression_statement "pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1);" (assignment_expression "pFVar5->_IO_read_ptr = (char *)(pbVar3 + 1)" (field_expression "pFVar5->_IO_read_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar3 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar3 + 1)" ( (binary_expression "pbVar3 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }" else (compound_statement "{\n      uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);\n    }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(pFVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(pFVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier )))) ;) }))) })) (labeled_statement "LAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (column_number != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }" statement_identifier : (if_statement "if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (column_number != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }" if (parenthesized_expression "(PTR_DAT_00036148[0x6050] != '\0')" ( (binary_expression "PTR_DAT_00036148[0x6050] != '\0'" (subscript_expression "PTR_DAT_00036148[0x6050]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (column_number != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }" { (if_statement "if ((PTR_DAT_00036148[0x648f] != '\0') && (column_number != 1)) {\n      return;\n    }" if (parenthesized_expression "((PTR_DAT_00036148[0x648f] != '\0') && (column_number != 1))" ( (binary_expression "(PTR_DAT_00036148[0x648f] != '\0') && (column_number != 1)" (parenthesized_expression "(PTR_DAT_00036148[0x648f] != '\0')" ( (binary_expression "PTR_DAT_00036148[0x648f] != '\0'" (subscript_expression "PTR_DAT_00036148[0x648f]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(column_number != 1)" ( (binary_expression "column_number != 1" identifier != number_literal) ))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }" { (expression_statement "*(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;" (assignment_expression "*(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1" (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x6054)" * (cast_expression "(int *)(PTR_DAT_00036148 + 0x6054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00036148 + 0x6054)" ( (binary_expression "PTR_DAT_00036148 + 0x6054" identifier + number_literal) )))) = (binary_expression "*(int *)(PTR_DAT_00036148 + 0x6054) + 1" (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x6054)" * (cast_expression "(int *)(PTR_DAT_00036148 + 0x6054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00036148 + 0x6054)" ( (binary_expression "PTR_DAT_00036148 + 0x6054" identifier + number_literal) )))) + number_literal)) ;) })) }))) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00014088(int *param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  byte *pbVar3;\n  int iVar4;\n  int iVar5;\n  char cVar6;\n  undefined *puVar7;\n  \n  iVar5 = *param_1;\n  pbVar3 = *(byte **)(iVar5 + 4);\n  if (pbVar3 < *(byte **)(iVar5 + 8)) {\n    *(byte **)(iVar5 + 4) = pbVar3 + 1;\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }\n  puVar7 = PTR_DAT_00036148;\n  cVar6 = false;\n  if (uVar1 == 0xc) {\n    if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }\n  puVar7 = PTR_DAT_00036148;\n  if (PTR_DAT_00036148[0x63f8] != '\0') {\n    *(undefined1 *)((int)param_1 + 0x25) = 1;\n  }\n  while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n  }\nLAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_00014088(int *param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  byte *pbVar3;\n  int iVar4;\n  int iVar5;\n  char cVar6;\n  undefined *puVar7;\n  \n  iVar5 = *param_1;\n  pbVar3 = *(byte **)(iVar5 + 4);\n  if (pbVar3 < *(byte **)(iVar5 + 8)) {\n    *(byte **)(iVar5 + 4) = pbVar3 + 1;\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }\n  puVar7 = PTR_DAT_00036148;\n  cVar6 = false;\n  if (uVar1 == 0xc) {\n    if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }\n  puVar7 = PTR_DAT_00036148;\n  if (PTR_DAT_00036148[0x63f8] != '\0') {\n    *(undefined1 *)((int)param_1 + 0x25) = 1;\n  }\n  while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n  }\nLAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00014088(int *param_1,int param_2)" identifier (parameter_list "(int *param_1,int param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  byte *pbVar3;\n  int iVar4;\n  int iVar5;\n  char cVar6;\n  undefined *puVar7;\n  \n  iVar5 = *param_1;\n  pbVar3 = *(byte **)(iVar5 + 4);\n  if (pbVar3 < *(byte **)(iVar5 + 8)) {\n    *(byte **)(iVar5 + 4) = pbVar3 + 1;\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }\n  puVar7 = PTR_DAT_00036148;\n  cVar6 = false;\n  if (uVar1 == 0xc) {\n    if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }\n  puVar7 = PTR_DAT_00036148;\n  if (PTR_DAT_00036148[0x63f8] != '\0') {\n    *(undefined1 *)((int)param_1 + 0x25) = 1;\n  }\n  while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n  }\nLAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (expression_statement "iVar5 = *param_1;" (assignment_expression "iVar5 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" identifier = (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n    *(byte **)(iVar5 + 4) = pbVar3 + 1;\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }" if (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" ( (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" identifier < (pointer_expression "*(byte **)(iVar5 + 8)" * (cast_expression "(byte **)(iVar5 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n    *(byte **)(iVar5 + 4) = pbVar3 + 1;\n    uVar1 = (uint)*pbVar3;\n  }" { (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }" else (compound_statement "{\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier )))) ;) }))) (expression_statement "puVar7 = PTR_DAT_00036148;" (assignment_expression "puVar7 = PTR_DAT_00036148" identifier = identifier) ;) (expression_statement "cVar6 = false;" (assignment_expression "cVar6 = false" identifier = false) ;) (if_statement "if (uVar1 == 0xc) {\n    if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }" if (parenthesized_expression "(uVar1 == 0xc)" ( (binary_expression "uVar1 == 0xc" identifier == number_literal) )) (compound_statement "{\n    if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n    cVar6 = uVar1 == 0xc;\n  }" { (if_statement "if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }" if (parenthesized_expression "(*(char *)((int)param_1 + 0x25) == '\0')" ( (binary_expression "*(char *)((int)param_1 + 0x25) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x25)" * (cast_expression "(char *)((int)param_1 + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x25)" ( (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }" { (expression_statement "cVar6 = PTR_DAT_00036148[0x63f8];" (assignment_expression "cVar6 = PTR_DAT_00036148[0x63f8]" identifier = (subscript_expression "PTR_DAT_00036148[0x63f8]" identifier [ number_literal ])) ;) (if_statement "if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        cVar6 = '\x01';\n      }" { (expression_statement "cVar6 = '\x01';" (assignment_expression "cVar6 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }) (else_clause "else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }" else (compound_statement "{\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }" { (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" * (cast_expression "(undefined1 *)((int)param_1 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x25)" ( (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }" statement_identifier : (if_statement "if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }" if (parenthesized_expression "(puVar7[0x63f8] != '\0')" ( (binary_expression "puVar7[0x63f8] != '\0'" (subscript_expression "puVar7[0x63f8]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }" { (if_statement "if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }" if (parenthesized_expression "(PTR_DAT_00036148[0x648f] == '\0')" ( (binary_expression "PTR_DAT_00036148[0x648f] == '\0'" (subscript_expression "PTR_DAT_00036148[0x648f]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }" { (expression_statement "iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);" (assignment_expression "iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4)" identifier = (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x64a4)" * (cast_expression "(int *)(PTR_DAT_00036148 + 0x64a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00036148 + 0x64a4)" ( (binary_expression "PTR_DAT_00036148 + 0x64a4" identifier + number_literal) ))))) ;) (for_statement "for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }" for ( (assignment_expression "iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068)" identifier = (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x6068)" * (cast_expression "(int *)(PTR_DAT_00036148 + 0x6068)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00036148 + 0x6068)" ( (binary_expression "PTR_DAT_00036148 + 0x6068" identifier + number_literal) ))))) ; (binary_expression "iVar2 != 0" identifier != number_literal) ; (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ) (compound_statement "{\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }" { (expression_statement "*(undefined1 *)(iVar4 + 0x25) = 0;" (assignment_expression "*(undefined1 *)(iVar4 + 0x25) = 0" (pointer_expression "*(undefined1 *)(iVar4 + 0x25)" * (cast_expression "(undefined1 *)(iVar4 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x25)" ( (binary_expression "iVar4 + 0x25" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = iVar4 + 0x28;" (assignment_expression "iVar4 = iVar4 + 0x28" identifier = (binary_expression "iVar4 + 0x28" identifier + number_literal)) ;) })) }) (else_clause "else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }" else (compound_statement "{\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }" { (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 0;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 0" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" * (cast_expression "(undefined1 *)((int)param_1 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x25)" ( (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }))) }))) }))) (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" identifier = (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" if (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" ( (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" identifier < (pointer_expression "*(byte **)(iVar5 + 8)" * (cast_expression "(byte **)(iVar5 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }" { (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" else (compound_statement "{\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier )))) ;) }))) (if_statement "if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }" if (parenthesized_expression "(uVar1 == 10)" ( (binary_expression "uVar1 == 10" identifier == number_literal) )) (compound_statement "{\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }" { (expression_statement "FUN_00013ffc(param_1 + 2,param_1 + 7);" (call_expression "FUN_00013ffc(param_1 + 2,param_1 + 7)" identifier (argument_list "(param_1 + 2,param_1 + 7)" ( (binary_expression "param_1 + 2" identifier + number_literal) , (binary_expression "param_1 + 7" identifier + number_literal) ))) ;) }) (else_clause "else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }" else (compound_statement "{\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }" { (expression_statement "(*(code *)PTR_ungetc_00036314)(uVar1,iVar5);" (call_expression "(*(code *)PTR_ungetc_00036314)(uVar1,iVar5)" (parenthesized_expression "(*(code *)PTR_ungetc_00036314)" ( (pointer_expression "*(code *)PTR_ungetc_00036314" * (cast_expression "(code *)PTR_ungetc_00036314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar1,iVar5)" ( identifier , identifier ))) ;) (expression_statement "FUN_00013ffc(param_1 + 2,param_1 + 7);" (call_expression "FUN_00013ffc(param_1 + 2,param_1 + 7)" identifier (argument_list "(param_1 + 2,param_1 + 7)" ( (binary_expression "param_1 + 2" identifier + number_literal) , (binary_expression "param_1 + 7" identifier + number_literal) ))) ;) }))) (goto_statement "goto LAB_0001417c;" goto statement_identifier ;) })) (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" identifier = (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" if (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" ( (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" identifier < (pointer_expression "*(byte **)(iVar5 + 8)" * (cast_expression "(byte **)(iVar5 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }" { (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" else (compound_statement "{\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier )))) ;) }))) (if_statement "if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }" if (parenthesized_expression "(uVar1 == 10)" ( (binary_expression "uVar1 == 10" identifier == number_literal) )) (compound_statement "{\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }" { (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" identifier = (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" if (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" ( (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" identifier < (pointer_expression "*(byte **)(iVar5 + 8)" * (cast_expression "(byte **)(iVar5 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }" { (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" else (compound_statement "{\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier )))) ;) }))) })) (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 0;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 0" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" * (cast_expression "(undefined1 *)((int)param_1 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x25)" ( (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = uVar1 == 0xc;" (assignment_expression "cVar6 = uVar1 == 0xc" identifier = (binary_expression "uVar1 == 0xc" identifier == number_literal)) ;) }) (else_clause "else {\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }" else (compound_statement "{\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }" { (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 0;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 0" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" * (cast_expression "(undefined1 *)((int)param_1 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x25)" ( (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }))) (expression_statement "puVar7 = PTR_DAT_00036148;" (assignment_expression "puVar7 = PTR_DAT_00036148" identifier = identifier) ;) (if_statement "if (PTR_DAT_00036148[0x63f8] != '\0') {\n    *(undefined1 *)((int)param_1 + 0x25) = 1;\n  }" if (parenthesized_expression "(PTR_DAT_00036148[0x63f8] != '\0')" ( (binary_expression "PTR_DAT_00036148[0x63f8] != '\0'" (subscript_expression "PTR_DAT_00036148[0x63f8]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(undefined1 *)((int)param_1 + 0x25) = 1;\n  }" { (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" * (cast_expression "(undefined1 *)((int)param_1 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x25)" ( (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) (while_statement "while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n  }" while (parenthesized_expression "(uVar1 != 10)" ( (binary_expression "uVar1 != 10" identifier != number_literal) )) (compound_statement "{\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n  }" { (if_statement "if (uVar1 == 0xc) goto LAB_00014284;" if (parenthesized_expression "(uVar1 == 0xc)" ( (binary_expression "uVar1 == 0xc" identifier == number_literal) )) (goto_statement "goto LAB_00014284;" goto statement_identifier ;)) (if_statement "if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }" if (parenthesized_expression "(uVar1 == 0xffffffff)" ( (binary_expression "uVar1 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n      FUN_00013090(param_1);\n      break;\n    }" { (expression_statement "FUN_00013090(param_1);" (call_expression "FUN_00013090(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" identifier = (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" if (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" ( (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" identifier < (pointer_expression "*(byte **)(iVar5 + 8)" * (cast_expression "(byte **)(iVar5 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }" { (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" * (cast_expression "(byte **)(iVar5 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" else (compound_statement "{\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" { (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" identifier = (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" ( (pointer_expression "*(code *)PTR___uflow_000362f8" * (cast_expression "(code *)PTR___uflow_000362f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier )))) ;) }))) })) (labeled_statement "LAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }" statement_identifier : (if_statement "if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }" if (parenthesized_expression "(PTR_DAT_00036148[0x6050] != '\0')" ( (binary_expression "PTR_DAT_00036148[0x6050] != '\0'" (subscript_expression "PTR_DAT_00036148[0x6050]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }" { (if_statement "if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }" if (parenthesized_expression "((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1))" ( (binary_expression "(PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)" (parenthesized_expression "(PTR_DAT_00036148[0x648f] != '\0')" ( (binary_expression "PTR_DAT_00036148[0x648f] != '\0'" (subscript_expression "PTR_DAT_00036148[0x648f]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(param_2 != 1)" ( (binary_expression "param_2 != 1" identifier != number_literal) ))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }" { (expression_statement "*(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;" (assignment_expression "*(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1" (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x6054)" * (cast_expression "(int *)(PTR_DAT_00036148 + 0x6054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00036148 + 0x6054)" ( (binary_expression "PTR_DAT_00036148 + 0x6054" identifier + number_literal) )))) = (binary_expression "*(int *)(PTR_DAT_00036148 + 0x6054) + 1" (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x6054)" * (cast_expression "(int *)(PTR_DAT_00036148 + 0x6054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00036148 + 0x6054)" ( (binary_expression "PTR_DAT_00036148 + 0x6054" identifier + number_literal) )))) + number_literal)) ;) })) }))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = 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) ))))) ;) (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 IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_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 , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) }))) (goto_statement goto 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) ))))) ;) (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 IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) }))) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) }))) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) })) (while_statement while (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (break_statement break ;) })) (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 IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) }))) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })) }))) (return_statement return ;) })))
(function_definition "void FUN_00014088(int *param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  byte *pbVar3;\n  int iVar4;\n  int iVar5;\n  char cVar6;\n  undefined *puVar7;\n  \n  iVar5 = *param_1;\n  pbVar3 = *(byte **)(iVar5 + 4);\n  if (pbVar3 < *(byte **)(iVar5 + 8)) {\n    *(byte **)(iVar5 + 4) = pbVar3 + 1;\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }\n  puVar7 = PTR_DAT_00036148;\n  cVar6 = false;\n  if (uVar1 == 0xc) {\n    if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }\n  puVar7 = PTR_DAT_00036148;\n  if (PTR_DAT_00036148[0x63f8] != '\0') {\n    *(undefined1 *)((int)param_1 + 0x25) = 1;\n  }\n  while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n  }\nLAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00014088(int *param_1,int param_2)" (identifier "FUN_00014088") (parameter_list "(int *param_1,int param_2)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  byte *pbVar3;\n  int iVar4;\n  int iVar5;\n  char cVar6;\n  undefined *puVar7;\n  \n  iVar5 = *param_1;\n  pbVar3 = *(byte **)(iVar5 + 4);\n  if (pbVar3 < *(byte **)(iVar5 + 8)) {\n    *(byte **)(iVar5 + 4) = pbVar3 + 1;\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }\n  puVar7 = PTR_DAT_00036148;\n  cVar6 = false;\n  if (uVar1 == 0xc) {\n    if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }\n  puVar7 = PTR_DAT_00036148;\n  if (PTR_DAT_00036148[0x63f8] != '\0') {\n    *(undefined1 *)((int)param_1 + 0x25) = 1;\n  }\n  while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n  }\nLAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "byte *pbVar3;" (type_identifier "byte") (pointer_declarator "*pbVar3" (* "*") (identifier "pbVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "char cVar6;" (primitive_type "char") (identifier "cVar6") (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (expression_statement "iVar5 = *param_1;" (assignment_expression "iVar5 = *param_1" (identifier "iVar5") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" (identifier "pbVar3") (= "=") (pointer_expression "*(byte **)(iVar5 + 4)" (* "*") (cast_expression "(byte **)(iVar5 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n    *(byte **)(iVar5 + 4) = pbVar3 + 1;\n    uVar1 = (uint)*pbVar3;\n  }\n  else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }" (if "if") (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" (( "(") (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" (identifier "pbVar3") (< "<") (pointer_expression "*(byte **)(iVar5 + 8)" (* "*") (cast_expression "(byte **)(iVar5 + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n    *(byte **)(iVar5 + 4) = pbVar3 + 1;\n    uVar1 = (uint)*pbVar3;\n  }" ({ "{") (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" (* "*") (cast_expression "(byte **)(iVar5 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "pbVar3 + 1" (identifier "pbVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" (identifier "uVar1") (= "=") (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar3"))) (; ";")) (} "}")) (else_clause "else {\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }" (else "else") (compound_statement "{\n    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n  }" ({ "{") (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" (( "(") (pointer_expression "*(code *)PTR___uflow_000362f8" (* "*") (cast_expression "(code *)PTR___uflow_000362f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___uflow_000362f8"))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (; ";")) (} "}")))) (expression_statement "puVar7 = PTR_DAT_00036148;" (assignment_expression "puVar7 = PTR_DAT_00036148" (identifier "puVar7") (= "=") (identifier "PTR_DAT_00036148")) (; ";")) (expression_statement "cVar6 = false;" (assignment_expression "cVar6 = false" (identifier "cVar6") (= "=") (false "false")) (; ";")) (if_statement "if (uVar1 == 0xc) {\n    if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n    cVar6 = uVar1 == 0xc;\n  }\n  else {\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }" (if "if") (parenthesized_expression "(uVar1 == 0xc)" (( "(") (binary_expression "uVar1 == 0xc" (identifier "uVar1") (== "==") (number_literal "0xc")) () ")")) (compound_statement "{\n    if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n    if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n    cVar6 = uVar1 == 0xc;\n  }" ({ "{") (if_statement "if (*(char *)((int)param_1 + 0x25) == '\0') {\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }" (if "if") (parenthesized_expression "(*(char *)((int)param_1 + 0x25) == '\0')" (( "(") (binary_expression "*(char *)((int)param_1 + 0x25) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x25)" (* "*") (cast_expression "(char *)((int)param_1 + 0x25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x25)" (( "(") (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x25")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      cVar6 = PTR_DAT_00036148[0x63f8];\n      if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n      if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      goto LAB_0001417c;\n    }" ({ "{") (expression_statement "cVar6 = PTR_DAT_00036148[0x63f8];" (assignment_expression "cVar6 = PTR_DAT_00036148[0x63f8]" (identifier "cVar6") (= "=") (subscript_expression "PTR_DAT_00036148[0x63f8]" (identifier "PTR_DAT_00036148") ([ "[") (number_literal "0x63f8") (] "]"))) (; ";")) (if_statement "if (cVar6 == '\0') {\n        cVar6 = '\x01';\n      }\n      else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        cVar6 = '\x01';\n      }" ({ "{") (expression_statement "cVar6 = '\x01';" (assignment_expression "cVar6 = '\x01'" (identifier "cVar6") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }" (else "else") (compound_statement "{\n        *(undefined1 *)((int)param_1 + 0x25) = 1;\nLAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }\n      }" ({ "{") (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" (* "*") (cast_expression "(undefined1 *)((int)param_1 + 0x25)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x25)" (( "(") (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x25")) () ")")))) (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00014284:\n        if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }" (statement_identifier "LAB_00014284") (: ":") (if_statement "if (puVar7[0x63f8] != '\0') {\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }" (if "if") (parenthesized_expression "(puVar7[0x63f8] != '\0')" (( "(") (binary_expression "puVar7[0x63f8] != '\0'" (subscript_expression "puVar7[0x63f8]" (identifier "puVar7") ([ "[") (number_literal "0x63f8") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }\n        }" ({ "{") (if_statement "if (PTR_DAT_00036148[0x648f] == '\0') {\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }\n          else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }" (if "if") (parenthesized_expression "(PTR_DAT_00036148[0x648f] == '\0')" (( "(") (binary_expression "PTR_DAT_00036148[0x648f] == '\0'" (subscript_expression "PTR_DAT_00036148[0x648f]" (identifier "PTR_DAT_00036148") ([ "[") (number_literal "0x648f") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);\n            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }\n          }" ({ "{") (expression_statement "iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);" (assignment_expression "iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x64a4)" (* "*") (cast_expression "(int *)(PTR_DAT_00036148 + 0x64a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_00036148 + 0x64a4)" (( "(") (binary_expression "PTR_DAT_00036148 + 0x64a4" (identifier "PTR_DAT_00036148") (+ "+") (number_literal "0x64a4")) () ")"))))) (; ";")) (for_statement "for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }" (for "for") (( "(") (assignment_expression "iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x6068)" (* "*") (cast_expression "(int *)(PTR_DAT_00036148 + 0x6068)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_00036148 + 0x6068)" (( "(") (binary_expression "PTR_DAT_00036148 + 0x6068" (identifier "PTR_DAT_00036148") (+ "+") (number_literal "0x6068")) () ")"))))) (; ";") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar2 = iVar2 + -1" (identifier "iVar2") (= "=") (binary_expression "iVar2 + -1" (identifier "iVar2") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n              *(undefined1 *)(iVar4 + 0x25) = 0;\n              iVar4 = iVar4 + 0x28;\n            }" ({ "{") (expression_statement "*(undefined1 *)(iVar4 + 0x25) = 0;" (assignment_expression "*(undefined1 *)(iVar4 + 0x25) = 0" (pointer_expression "*(undefined1 *)(iVar4 + 0x25)" (* "*") (cast_expression "(undefined1 *)(iVar4 + 0x25)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x25)" (( "(") (binary_expression "iVar4 + 0x25" (identifier "iVar4") (+ "+") (number_literal "0x25")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = iVar4 + 0x28;" (assignment_expression "iVar4 = iVar4 + 0x28" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }" (else "else") (compound_statement "{\n            *(undefined1 *)((int)param_1 + 0x25) = 0;\n          }" ({ "{") (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 0;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 0" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" (* "*") (cast_expression "(undefined1 *)((int)param_1 + 0x25)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x25)" (( "(") (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x25")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")))) (} "}")))) (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" (identifier "pbVar3") (= "=") (pointer_expression "*(byte **)(iVar5 + 4)" (* "*") (cast_expression "(byte **)(iVar5 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" (if "if") (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" (( "(") (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" (identifier "pbVar3") (< "<") (pointer_expression "*(byte **)(iVar5 + 8)" (* "*") (cast_expression "(byte **)(iVar5 + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }" ({ "{") (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" (* "*") (cast_expression "(byte **)(iVar5 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "pbVar3 + 1" (identifier "pbVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" (identifier "uVar1") (= "=") (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar3"))) (; ";")) (} "}")) (else_clause "else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" (else "else") (compound_statement "{\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" ({ "{") (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" (( "(") (pointer_expression "*(code *)PTR___uflow_000362f8" (* "*") (cast_expression "(code *)PTR___uflow_000362f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___uflow_000362f8"))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (; ";")) (} "}")))) (if_statement "if (uVar1 == 10) {\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }\n      else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }" (if "if") (parenthesized_expression "(uVar1 == 10)" (( "(") (binary_expression "uVar1 == 10" (identifier "uVar1") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }" ({ "{") (expression_statement "FUN_00013ffc(param_1 + 2,param_1 + 7);" (call_expression "FUN_00013ffc(param_1 + 2,param_1 + 7)" (identifier "FUN_00013ffc") (argument_list "(param_1 + 2,param_1 + 7)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) (, ",") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }" (else "else") (compound_statement "{\n        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);\n        FUN_00013ffc(param_1 + 2,param_1 + 7);\n      }" ({ "{") (expression_statement "(*(code *)PTR_ungetc_00036314)(uVar1,iVar5);" (call_expression "(*(code *)PTR_ungetc_00036314)(uVar1,iVar5)" (parenthesized_expression "(*(code *)PTR_ungetc_00036314)" (( "(") (pointer_expression "*(code *)PTR_ungetc_00036314" (* "*") (cast_expression "(code *)PTR_ungetc_00036314" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ungetc_00036314"))) () ")")) (argument_list "(uVar1,iVar5)" (( "(") (identifier "uVar1") (, ",") (identifier "iVar5") () ")"))) (; ";")) (expression_statement "FUN_00013ffc(param_1 + 2,param_1 + 7);" (call_expression "FUN_00013ffc(param_1 + 2,param_1 + 7)" (identifier "FUN_00013ffc") (argument_list "(param_1 + 2,param_1 + 7)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) (, ",") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0001417c;" (goto "goto") (statement_identifier "LAB_0001417c") (; ";")) (} "}"))) (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" (identifier "pbVar3") (= "=") (pointer_expression "*(byte **)(iVar5 + 4)" (* "*") (cast_expression "(byte **)(iVar5 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" (if "if") (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" (( "(") (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" (identifier "pbVar3") (< "<") (pointer_expression "*(byte **)(iVar5 + 8)" (* "*") (cast_expression "(byte **)(iVar5 + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }" ({ "{") (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" (* "*") (cast_expression "(byte **)(iVar5 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "pbVar3 + 1" (identifier "pbVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" (identifier "uVar1") (= "=") (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar3"))) (; ";")) (} "}")) (else_clause "else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" (else "else") (compound_statement "{\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" ({ "{") (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" (( "(") (pointer_expression "*(code *)PTR___uflow_000362f8" (* "*") (cast_expression "(code *)PTR___uflow_000362f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___uflow_000362f8"))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (; ";")) (} "}")))) (if_statement "if (uVar1 == 10) {\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }" (if "if") (parenthesized_expression "(uVar1 == 10)" (( "(") (binary_expression "uVar1 == 10" (identifier "uVar1") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n      pbVar3 = *(byte **)(iVar5 + 4);\n      if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }\n    }" ({ "{") (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" (identifier "pbVar3") (= "=") (pointer_expression "*(byte **)(iVar5 + 4)" (* "*") (cast_expression "(byte **)(iVar5 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }\n      else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" (if "if") (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" (( "(") (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" (identifier "pbVar3") (< "<") (pointer_expression "*(byte **)(iVar5 + 8)" (* "*") (cast_expression "(byte **)(iVar5 + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n        *(byte **)(iVar5 + 4) = pbVar3 + 1;\n        uVar1 = (uint)*pbVar3;\n      }" ({ "{") (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" (* "*") (cast_expression "(byte **)(iVar5 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "pbVar3 + 1" (identifier "pbVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" (identifier "uVar1") (= "=") (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar3"))) (; ";")) (} "}")) (else_clause "else {\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" (else "else") (compound_statement "{\n        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n      }" ({ "{") (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" (( "(") (pointer_expression "*(code *)PTR___uflow_000362f8" (* "*") (cast_expression "(code *)PTR___uflow_000362f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___uflow_000362f8"))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (; ";")) (} "}")))) (} "}"))) (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 0;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 0" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" (* "*") (cast_expression "(undefined1 *)((int)param_1 + 0x25)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x25)" (( "(") (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x25")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "cVar6 = uVar1 == 0xc;" (assignment_expression "cVar6 = uVar1 == 0xc" (identifier "cVar6") (= "=") (binary_expression "uVar1 == 0xc" (identifier "uVar1") (== "==") (number_literal "0xc"))) (; ";")) (} "}")) (else_clause "else {\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }" (else "else") (compound_statement "{\n    *(undefined1 *)((int)param_1 + 0x25) = 0;\n  }" ({ "{") (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 0;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 0" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" (* "*") (cast_expression "(undefined1 *)((int)param_1 + 0x25)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x25)" (( "(") (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x25")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "puVar7 = PTR_DAT_00036148;" (assignment_expression "puVar7 = PTR_DAT_00036148" (identifier "puVar7") (= "=") (identifier "PTR_DAT_00036148")) (; ";")) (if_statement "if (PTR_DAT_00036148[0x63f8] != '\0') {\n    *(undefined1 *)((int)param_1 + 0x25) = 1;\n  }" (if "if") (parenthesized_expression "(PTR_DAT_00036148[0x63f8] != '\0')" (( "(") (binary_expression "PTR_DAT_00036148[0x63f8] != '\0'" (subscript_expression "PTR_DAT_00036148[0x63f8]" (identifier "PTR_DAT_00036148") ([ "[") (number_literal "0x63f8") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    *(undefined1 *)((int)param_1 + 0x25) = 1;\n  }" ({ "{") (expression_statement "*(undefined1 *)((int)param_1 + 0x25) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x25) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x25)" (* "*") (cast_expression "(undefined1 *)((int)param_1 + 0x25)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x25)" (( "(") (binary_expression "(int)param_1 + 0x25" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x25")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (while_statement "while (uVar1 != 10) {\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n  }" (while "while") (parenthesized_expression "(uVar1 != 10)" (( "(") (binary_expression "uVar1 != 10" (identifier "uVar1") (!= "!=") (number_literal "10")) () ")")) (compound_statement "{\n    if (uVar1 == 0xc) goto LAB_00014284;\n    if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }\n    pbVar3 = *(byte **)(iVar5 + 4);\n    if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }\n  }" ({ "{") (if_statement "if (uVar1 == 0xc) goto LAB_00014284;" (if "if") (parenthesized_expression "(uVar1 == 0xc)" (( "(") (binary_expression "uVar1 == 0xc" (identifier "uVar1") (== "==") (number_literal "0xc")) () ")")) (goto_statement "goto LAB_00014284;" (goto "goto") (statement_identifier "LAB_00014284") (; ";"))) (if_statement "if (uVar1 == 0xffffffff) {\n      FUN_00013090(param_1);\n      break;\n    }" (if "if") (parenthesized_expression "(uVar1 == 0xffffffff)" (( "(") (binary_expression "uVar1 == 0xffffffff" (identifier "uVar1") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n      FUN_00013090(param_1);\n      break;\n    }" ({ "{") (expression_statement "FUN_00013090(param_1);" (call_expression "FUN_00013090(param_1)" (identifier "FUN_00013090") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "pbVar3 = *(byte **)(iVar5 + 4);" (assignment_expression "pbVar3 = *(byte **)(iVar5 + 4)" (identifier "pbVar3") (= "=") (pointer_expression "*(byte **)(iVar5 + 4)" (* "*") (cast_expression "(byte **)(iVar5 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (pbVar3 < *(byte **)(iVar5 + 8)) {\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }\n    else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" (if "if") (parenthesized_expression "(pbVar3 < *(byte **)(iVar5 + 8))" (( "(") (binary_expression "pbVar3 < *(byte **)(iVar5 + 8)" (identifier "pbVar3") (< "<") (pointer_expression "*(byte **)(iVar5 + 8)" (* "*") (cast_expression "(byte **)(iVar5 + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n      *(byte **)(iVar5 + 4) = pbVar3 + 1;\n      uVar1 = (uint)*pbVar3;\n    }" ({ "{") (expression_statement "*(byte **)(iVar5 + 4) = pbVar3 + 1;" (assignment_expression "*(byte **)(iVar5 + 4) = pbVar3 + 1" (pointer_expression "*(byte **)(iVar5 + 4)" (* "*") (cast_expression "(byte **)(iVar5 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "pbVar3 + 1" (identifier "pbVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar1 = (uint)*pbVar3;" (assignment_expression "uVar1 = (uint)*pbVar3" (identifier "uVar1") (= "=") (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar3"))) (; ";")) (} "}")) (else_clause "else {\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" (else "else") (compound_statement "{\n      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);\n    }" ({ "{") (expression_statement "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);" (assignment_expression "uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5)" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR___uflow_000362f8)(iVar5)" (parenthesized_expression "(*(code *)PTR___uflow_000362f8)" (( "(") (pointer_expression "*(code *)PTR___uflow_000362f8" (* "*") (cast_expression "(code *)PTR___uflow_000362f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___uflow_000362f8"))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_0001417c:\n  if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }" (statement_identifier "LAB_0001417c") (: ":") (if_statement "if (PTR_DAT_00036148[0x6050] != '\0') {\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }" (if "if") (parenthesized_expression "(PTR_DAT_00036148[0x6050] != '\0')" (( "(") (binary_expression "PTR_DAT_00036148[0x6050] != '\0'" (subscript_expression "PTR_DAT_00036148[0x6050]" (identifier "PTR_DAT_00036148") ([ "[") (number_literal "0x6050") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }\n    if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }\n  }" ({ "{") (if_statement "if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {\n      return;\n    }" (if "if") (parenthesized_expression "((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1))" (( "(") (binary_expression "(PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)" (parenthesized_expression "(PTR_DAT_00036148[0x648f] != '\0')" (( "(") (binary_expression "PTR_DAT_00036148[0x648f] != '\0'" (subscript_expression "PTR_DAT_00036148[0x648f]" (identifier "PTR_DAT_00036148") ([ "[") (number_literal "0x648f") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(param_2 != 1)" (( "(") (binary_expression "param_2 != 1" (identifier "param_2") (!= "!=") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (cVar6 == '\0') {\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;\n    }" ({ "{") (expression_statement "*(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;" (assignment_expression "*(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1" (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x6054)" (* "*") (cast_expression "(int *)(PTR_DAT_00036148 + 0x6054)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_00036148 + 0x6054)" (( "(") (binary_expression "PTR_DAT_00036148 + 0x6054" (identifier "PTR_DAT_00036148") (+ "+") (number_literal "0x6054")) () ")")))) (= "=") (binary_expression "*(int *)(PTR_DAT_00036148 + 0x6054) + 1" (pointer_expression "*(int *)(PTR_DAT_00036148 + 0x6054)" (* "*") (cast_expression "(int *)(PTR_DAT_00036148 + 0x6054)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_00036148 + 0x6054)" (( "(") (binary_expression "PTR_DAT_00036148 + 0x6054" (identifier "PTR_DAT_00036148") (+ "+") (number_literal "0x6054")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (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: (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: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (false))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (for_statement initializer: (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)))))) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))))))) (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: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (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) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)))))))) (goto_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))))))) (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: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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))))))))) (return_statement))))

void MASKED(int *param_1,int param_2)

{
  uint uVar1;
  int iVar2;
  byte *pbVar3;
  int iVar4;
  int iVar5;
  char cVar6;
  undefined *puVar7;
  
  iVar5 = *param_1;
  pbVar3 = *(byte **)(iVar5 + 4);
  if (pbVar3 < *(byte **)(iVar5 + 8)) {
    *(byte **)(iVar5 + 4) = pbVar3 + 1;
    uVar1 = (uint)*pbVar3;
  }
  else {
    uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);
  }
  puVar7 = PTR_DAT_00036148;
  cVar6 = false;
  if (uVar1 == 0xc) {
    if (*(char *)((int)param_1 + 0x25) == '\0') {
      cVar6 = PTR_DAT_00036148[0x63f8];
      if (cVar6 == '\0') {
        cVar6 = '\x01';
      }
      else {
        *(undefined1 *)((int)param_1 + 0x25) = 1;
LAB_00014284:
        if (puVar7[0x63f8] != '\0') {
          if (PTR_DAT_00036148[0x648f] == '\0') {
            iVar4 = *(int *)(PTR_DAT_00036148 + 0x64a4);
            for (iVar2 = *(int *)(PTR_DAT_00036148 + 0x6068); iVar2 != 0; iVar2 = iVar2 + -1) {
              *(undefined1 *)(iVar4 + 0x25) = 0;
              iVar4 = iVar4 + 0x28;
            }
          }
          else {
            *(undefined1 *)((int)param_1 + 0x25) = 0;
          }
        }
      }
      pbVar3 = *(byte **)(iVar5 + 4);
      if (pbVar3 < *(byte **)(iVar5 + 8)) {
        *(byte **)(iVar5 + 4) = pbVar3 + 1;
        uVar1 = (uint)*pbVar3;
      }
      else {
        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);
      }
      if (uVar1 == 10) {
        FUN_00013ffc(param_1 + 2,param_1 + 7);
      }
      else {
        (*(code *)PTR_ungetc_00036314)(uVar1,iVar5);
        FUN_00013ffc(param_1 + 2,param_1 + 7);
      }
      goto LAB_0001417c;
    }
    pbVar3 = *(byte **)(iVar5 + 4);
    if (pbVar3 < *(byte **)(iVar5 + 8)) {
      *(byte **)(iVar5 + 4) = pbVar3 + 1;
      uVar1 = (uint)*pbVar3;
    }
    else {
      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);
    }
    if (uVar1 == 10) {
      pbVar3 = *(byte **)(iVar5 + 4);
      if (pbVar3 < *(byte **)(iVar5 + 8)) {
        *(byte **)(iVar5 + 4) = pbVar3 + 1;
        uVar1 = (uint)*pbVar3;
      }
      else {
        uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);
      }
    }
    *(undefined1 *)((int)param_1 + 0x25) = 0;
    cVar6 = uVar1 == 0xc;
  }
  else {
    *(undefined1 *)((int)param_1 + 0x25) = 0;
  }
  puVar7 = PTR_DAT_00036148;
  if (PTR_DAT_00036148[0x63f8] != '\0') {
    *(undefined1 *)((int)param_1 + 0x25) = 1;
  }
  while (uVar1 != 10) {
    if (uVar1 == 0xc) goto LAB_00014284;
    if (uVar1 == 0xffffffff) {
      FUN_00013090(param_1);
      break;
    }
    pbVar3 = *(byte **)(iVar5 + 4);
    if (pbVar3 < *(byte **)(iVar5 + 8)) {
      *(byte **)(iVar5 + 4) = pbVar3 + 1;
      uVar1 = (uint)*pbVar3;
    }
    else {
      uVar1 = (*(code *)PTR___uflow_000362f8)(iVar5);
    }
  }
LAB_0001417c:
  if (PTR_DAT_00036148[0x6050] != '\0') {
    if ((PTR_DAT_00036148[0x648f] != '\0') && (param_2 != 1)) {
      return;
    }
    if (cVar6 == '\0') {
      *(int *)(PTR_DAT_00036148 + 0x6054) = *(int *)(PTR_DAT_00036148 + 0x6054) + 1;
    }
  }
  return;
}

