
/* WARNING: Unknown calling convention */

int yylex(void)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  byte bVar6;
  YY_BUFFER_STATE pyVar5;
  undefined *puVar7;
  bool bVar9;
  FILE *pFVar8;
  int iVar10;
  byte *pbVar11;
  uint uVar12;
  int iVar13;
  byte *pbVar14;
  int iVar15;
  int iVar16;
  short sVar17;
  undefined4 *puVar18;
  byte *pbVar19;
  undefined *local_74;
  
  puVar2 = PTR_DAT_0002f0d8;
  puVar1 = PTR_optarg_0002f0c8;
  iVar15 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);
  if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {
    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;
    local_74 = PTR_optarg_0002f0c8;
    bVar6 = PTR_optarg_0002f0c8[-0xbdc];
    pbVar14 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);
    sVar17 = *(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x37b8);
    iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);
    puVar18 = (undefined4 *)PTR_yytext_0002f1b8;
    goto LAB_00014094;
  }
  *(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;
  puVar3 = PTR_yyin_0002f1bc;
  puVar7 = PTR_DAT_0002f0d8;
  if (iVar15 == 0) {
    iVar16 = 0;
    sVar17 = 0;
    iVar15 = 1;
    *(undefined4 *)(puVar1 + -0xbec) = 1;
    if (*(int *)puVar3 == 0) goto LAB_0001432c;
LAB_00014288:
    iVar10 = *(int *)PTR_yyout_0002f1cc;
  }
  else {
    iVar16 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x3a54);
    sVar17 = *(short *)(puVar2 + iVar15 * 2 + -0x37b8);
    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;
LAB_0001432c:
    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;
    iVar10 = *(int *)PTR_yyout_0002f1cc;
  }
  if (iVar10 == 0) {
    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;
  }
  puVar1 = PTR_optarg_0002f0c8;
  puVar7 = puVar7 + -0x3a54;
  if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||
     (pyVar5 = *(YY_BUFFER_STATE *)
                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4
                ), pyVar5 == (YY_BUFFER_STATE)0x0)) {
    yyensure_buffer_stack();
    iVar10 = *(int *)(puVar1 + -0xbd0);
    iVar13 = *(int *)(puVar1 + -0xbd8);
    pyVar5 = yy_create_buffer(*(FILE **)puVar3,0x4000);
    *(YY_BUFFER_STATE *)(iVar13 + iVar10 * 4) = pyVar5;
  }
  puVar18 = (undefined4 *)PTR_yytext_0002f1b8;
  puVar1 = PTR_optarg_0002f0c8;
  pbVar14 = (byte *)pyVar5->yy_buf_pos;
  pFVar8 = pyVar5->yy_input_file;
  local_74 = PTR_optarg_0002f0c8;
  iVar10 = pyVar5->yy_n_chars;
  *(byte **)PTR_yytext_0002f1b8 = pbVar14;
  *(FILE **)puVar3 = pFVar8;
  *(int *)(puVar1 + -0xbe0) = iVar10;
  *(byte **)(puVar1 + -0xbe4) = pbVar14;
  bVar6 = *pbVar14;
  puVar1[-0xbdc] = bVar6;
LAB_00014094:
  puVar4 = PTR_yyleng_0002f1c8;
  puVar3 = PTR_DAT_0002f0d8;
  puVar1 = PTR_optarg_0002f0c8;
  *pbVar14 = bVar6;
  iVar10 = *(int *)(puVar1 + -0xbf0);
  bVar9 = false;
  pbVar11 = *(byte **)(puVar1 + -0xbf4);
  pbVar19 = pbVar14;
  while( true ) {
    uVar12 = (uint)(byte)puVar3[bVar6 - 0x38b8];
    if (sVar17 != 0) {
      bVar9 = true;
      iVar10 = iVar15;
      pbVar11 = pbVar19;
    }
    while( true ) {
      iVar16 = (iVar16 + uVar12) * 2;
      if (*(short *)(puVar3 + iVar16 + -0x3f94) == iVar15) break;
      iVar15 = (int)*(short *)(puVar3 + iVar15 * 2 + -0x3bbc);
      if (0xb0 < iVar15) {
        uVar12 = (uint)(byte)puVar3[uVar12 - 0x38ec];
      }
      iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);
    }
    iVar15 = (int)*(short *)(puVar3 + iVar16 + -0x3da8);
    iVar13 = iVar15 * 2;
    iVar16 = (int)*(short *)(puVar7 + iVar13);
    pbVar19 = pbVar19 + 1;
    if (iVar16 == 0xc2) break;
    bVar6 = *pbVar19;
    sVar17 = *(short *)(puVar2 + iVar13 + -0x37b8);
  }
  if (bVar9) {
    *(byte **)(puVar1 + -0xbf4) = pbVar11;
    *(int *)(puVar1 + -0xbf0) = iVar10;
  }
  uVar12 = (uint)*(short *)(puVar2 + iVar13 + -0x37b8);
  if (uVar12 == 0) {
    pbVar19 = *(byte **)(puVar1 + -0xbf4);
    uVar12 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);
  }
  *puVar18 = pbVar14;
  *(int *)puVar4 = (int)pbVar19 - (int)pbVar14;
  bVar6 = *pbVar19;
  *(byte **)(local_74 + -0xbe4) = pbVar19;
  *pbVar19 = 0;
  local_74[-0xbdc] = bVar6;
  if (uVar12 < 0x2b) {
                    /* WARNING: Could not emulate address calculation at 0x00014238 */
                    /* WARNING: Treating indirect jump as call */
    iVar15 = (*(code *)(&_gp + *(int *)(puVar3 + uVar12 * 4 + -0x4040)))();
    return iVar15;
  }
                    /* WARNING: Subroutine does not return */
  yy_fatal_error(PTR_DAT_0002f0d8 + -0x40ec);
}



void yylex(void)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  byte bVar6;
  undefined4 *puVar5;
  undefined *puVar7;
  undefined4 uVar8;
  bool bVar10;
  undefined4 uVar9;
  int iVar11;
  byte *pbVar12;
  uint uVar13;
  int iVar14;
  byte *pbVar15;
  int iVar16;
  int iVar17;
  short sVar18;
  undefined4 *puVar19;
  byte *pbVar20;
  undefined *local_74;
  
  puVar2 = PTR_DAT_0002f0d8;
  puVar1 = PTR_optarg_0002f0c8;
  iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);
  if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {
    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;
    local_74 = PTR_optarg_0002f0c8;
    bVar6 = PTR_optarg_0002f0c8[-0xbdc];
    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);
    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);
    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);
    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;
    goto LAB_00014094;
  }
  *(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;
  puVar3 = PTR_yyin_0002f1bc;
  puVar7 = PTR_DAT_0002f0d8;
  if (iVar16 == 0) {
    iVar17 = 0;
    sVar18 = 0;
    iVar16 = 1;
    *(undefined4 *)(puVar1 + -0xbec) = 1;
    if (*(int *)puVar3 == 0) goto LAB_0001432c;
LAB_00014288:
    iVar11 = *(int *)PTR_yyout_0002f1cc;
  }
  else {
    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);
    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);
    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;
LAB_0001432c:
    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;
    iVar11 = *(int *)PTR_yyout_0002f1cc;
  }
  if (iVar11 == 0) {
    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;
  }
  puVar1 = PTR_optarg_0002f0c8;
  puVar7 = puVar7 + -0x3a54;
  if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||
     (puVar5 = *(undefined4 **)
                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4
                ), puVar5 == (undefined4 *)0x0)) {
    FUN_000139cc();
    iVar11 = *(int *)(puVar1 + -0xbd0);
    iVar14 = *(int *)(puVar1 + -0xbd8);
    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);
    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;
  }
  puVar19 = (undefined4 *)PTR_yytext_0002f1b8;
  puVar1 = PTR_optarg_0002f0c8;
  pbVar15 = (byte *)puVar5[2];
  uVar9 = *puVar5;
  local_74 = PTR_optarg_0002f0c8;
  uVar8 = puVar5[4];
  *(byte **)PTR_yytext_0002f1b8 = pbVar15;
  *(undefined4 *)puVar3 = uVar9;
  *(undefined4 *)(puVar1 + -0xbe0) = uVar8;
  *(byte **)(puVar1 + -0xbe4) = pbVar15;
  bVar6 = *pbVar15;
  puVar1[-0xbdc] = bVar6;
LAB_00014094:
  puVar4 = PTR_yyleng_0002f1c8;
  puVar3 = PTR_DAT_0002f0d8;
  puVar1 = PTR_optarg_0002f0c8;
  *pbVar15 = bVar6;
  iVar11 = *(int *)(puVar1 + -0xbf0);
  bVar10 = false;
  pbVar12 = *(byte **)(puVar1 + -0xbf4);
  pbVar20 = pbVar15;
  while( true ) {
    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];
    if (sVar18 != 0) {
      bVar10 = true;
      iVar11 = iVar16;
      pbVar12 = pbVar20;
    }
    while( true ) {
      iVar17 = (iVar17 + uVar13) * 2;
      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;
      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);
      if (0xb0 < iVar16) {
        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];
      }
      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);
    }
    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);
    iVar14 = iVar16 * 2;
    iVar17 = (int)*(short *)(puVar7 + iVar14);
    pbVar20 = pbVar20 + 1;
    if (iVar17 == 0xc2) break;
    bVar6 = *pbVar20;
    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);
  }
  if (bVar10) {
    *(byte **)(puVar1 + -0xbf4) = pbVar12;
    *(int *)(puVar1 + -0xbf0) = iVar11;
  }
  uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8);
  if (uVar13 == 0) {
    pbVar20 = *(byte **)(puVar1 + -0xbf4);
    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);
  }
  *puVar19 = pbVar15;
  *(int *)puVar4 = (int)pbVar20 - (int)pbVar15;
  bVar6 = *pbVar20;
  *(byte **)(local_74 + -0xbe4) = pbVar20;
  *pbVar20 = 0;
  local_74[-0xbdc] = bVar6;
  if (uVar13 < 0x2b) {
                    /* WARNING: Could not emulate address calculation at 0x00014238 */
                    /* WARNING: Treating indirect jump as call */
    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec);
}


lui gp,0x2
addiu gp,gp,0x30a4
addu gp,gp,t9
lw v0,-0x7fd8(gp)
addiu sp,sp,-0x90
lw v1,-0x7fd8(gp)
sw gp,0x10(sp)
or a0,v1,zero
sw v1,0x34(sp)
sw s0,0x68(sp)
sw ra,0x8c(sp)
sw s8,0x88(sp)
sw s7,0x84(sp)
sw s6,0x80(sp)
sw s5,0x7c(sp)
sw s4,0x78(sp)
sw s3,0x74(sp)
sw s2,0x70(sp)
sw s1,0x6c(sp)
lw v1,-0xbe8(v0)
beq v1,zero,0x0001424c
_lw s0,-0xbec(a0)
lw a0,-0x7fc8(gp)
sll v0,s0,0x1
lw v1,-0x7fc8(gp)
lw a1,-0x7fd8(gp)
addiu s8,a0,-0x37b8
lw a2,-0x7fd8(gp)
addiu v1,v1,-0x3a54
lw s4,-0x7ee8(gp)
addu a0,s8,v0
sw a1,0x1c(sp)
addu v0,v1,v0
sw a2,0x18(sp)
lb t7,-0xbdc(a1)
lw t2,-0xbe4(a2)
lh s3,0x0(a0)
lh s1,0x0(v0)
lw v0,-0x7fc8(gp)
or t4,s4,zero
lw t0,-0x7fc8(gp)
or s4,t2,zero
lw t1,-0x7fc8(gp)
or t2,s8,zero
addiu s6,v0,-0x38b8
lw v0,-0x7fc8(gp)
lw t3,-0x7fc8(gp)
addiu t0,t0,-0x3f94
lw t8,-0x7fd8(gp)
addiu s2,t1,-0x3bbc
addiu t5,v0,-0x3da8
lw v0,-0x7ed8(gp)
lw s5,-0x7fd8(gp)
addiu s7,t3,-0x38ec
sw v0,0x20(sp)
or s8,s4,zero
or t6,t4,zero
or s4,v1,zero
or t4,t2,zero
lw v0,-0x7fc8(gp)
or v1,s8,zero
sb t7,0x0(s8)
addiu v0,v0,-0x4040
sw v0,0x24(sp)
or v0,t7,zero
lw a2,-0xbf0(t8)
or a1,zero,zero
lw a3,-0xbf4(s5)
li a0,0xc2
andi v0,v0,0xff
addu v0,s6,v0
beq s3,zero,0x00014154
_lbu t1,0x0(v0)
or a2,s0,zero
or a3,s8,zero
b 0x00014154
_li a1,0x1
addu s0,s2,s0
lh s0,0x0(s0)
slti v0,s0,0xb1
bne v0,zero,0x0001414c
_sll v0,s0,0x1
addu t1,t1,s7
lbu t1,0x0(t1)
addu v0,s4,v0
lh s1,0x0(v0)
addu s1,s1,t1
sll s1,s1,0x1
addu v0,t0,s1
lh v0,0x0(v0)
bne v0,s0,0x00014130
_sll s0,s0,0x1
addu s1,t5,s1
lh s0,0x0(s1)
sll t1,s0,0x1
addu v0,s4,t1
lh s1,0x0(v0)
beq s1,a0,0x00014198
_addiu s8,s8,0x1
addu t1,t4,t1
lb v0,0x0(s8)
b 0x00014110
_lh s3,0x0(t1)
beq a1,zero,0x000141a8
_lw v0,-0x7fd8(gp)
sw a3,-0xbf4(s5)
sw a2,-0xbf0(t8)
or t2,s8,zero
sw s4,0x2c(sp)
or s8,t4,zero
or s4,v1,zero
sw v0,0x28(sp)
lw v0,-0x7fcc(gp)
addiu v0,v0,0x3830
sw v0,0x38(sp)
addu v0,s8,t1
lh v0,0x0(v0)
bne v0,zero,0x000141ec
_lw v1,0x20(sp)
lw v0,-0xbf0(t8)
lw t2,-0xbf4(s5)
sll v0,v0,0x1
addu v0,s8,v0
lh v0,0x0(v0)
subu a0,t2,s4
lw t3,-0x7fd8(gp)
lw t1,-0x7fd8(gp)
sw s4,0x0(t6)
sw a0,0x0(v1)
lw v1,0x18(sp)
lbu a0,0x0(t2)
sw s4,0x3c(sp)
or s4,t2,zero
sw s8,0x30(sp)
or s8,t6,zero
sw t2,-0xbe4(v1)
sb zero,0x0(t2)
lw v1,0x1c(sp)
sb a0,-0xbdc(v1)
sltiu v1,v0,0x2b
beq v1,zero,0x00014c70
_lw v1,0x24(sp)
sll v0,v0,0x2
addu v0,v1,v0
lw v0,0x0(v0)
addu v0,v0,gp
jr v0
_nop
li a1,0x1
lw a0,-0x7fc8(gp)
beq s0,zero,0x00014300
_sw a1,-0xbe8(v0)
lw v1,-0x7fc8(gp)
sll v0,s0,0x1
addiu s8,a0,-0x37b8
lw s2,-0x7ee4(gp)
addiu v1,v1,-0x3a54
addu a0,s8,v0
addu v0,v1,v0
lh s1,0x0(v0)
lw v0,0x0(s2)
beq v0,zero,0x0001432c
_lh s3,0x0(a0)
lw v0,-0x7ed4(gp)
lw a0,0x0(v0)
beq a0,zero,0x0001434c
_lw a0,-0x7de8(gp)
lw s4,-0x7fd8(gp)
lw v0,-0xbd8(s4)
beq v0,zero,0x00014358
_lw s5,-0x7fd8(gp)
lw a0,-0xbd0(s5)
sll a0,a0,0x2
addu v0,v0,a0
lw v0,0x0(v0)
beq v0,zero,0x0001435c
_lw t9,-0x7fcc(gp)
lw s4,-0x7ee8(gp)
lw t2,0x8(v0)
lw a1,0x0(v0)
lw a2,-0x7fd8(gp)
lw a3,-0x7fd8(gp)
lw a0,0x10(v0)
lw v0,-0x7fd8(gp)
sw t2,0x0(s4)
sw a1,0x0(s2)
sw a2,0x18(sp)
sw a3,0x1c(sp)
sw a0,-0xbe0(v0)
sw t2,-0xbe4(a2)
lb t7,0x0(t2)
b 0x00014094
_sb t7,-0xbdc(a3)
lw v0,0x34(sp)
or s1,zero,zero
lw s2,-0x7ee4(gp)
or s3,zero,zero
lw v1,-0x7fc8(gp)
li s0,0x1
addiu s8,a0,-0x37b8
sw a1,-0xbec(v0)
lw v0,0x0(s2)
bne v0,zero,0x00014288
_addiu v1,v1,-0x3a54
lw v0,-0x7dc8(gp)
lw v0,0x0(v0)
sw v0,0x0(s2)
lw v0,-0x7ed4(gp)
lw a0,0x0(v0)
bne a0,zero,0x0001429c
_lw s4,-0x7fd8(gp)
lw a0,-0x7de8(gp)
lw a0,0x0(a0)
b 0x00014298
_sw a0,0x0(v0)
lw t9,-0x7fcc(gp)
addiu t9,t9,0x39cc
bal 0x000139cc
_sw v1,0x18(sp)
li a1,0x4000
lw gp,0x10(sp)
lw v0,-0xbd0(s5)
lw s4,-0xbd8(s4)
lw a0,0x0(s2)
sll v0,v0,0x2
lw t9,-0x7edc(gp)
bal 0x00013e34
_addu s4,s4,v0
lw gp,0x10(sp)
lw v1,0x18(sp)
b 0x000142c0
_sw v0,0x0(s4)
li v1,0x10d
lw ra,0x8c(sp)
or v0,v1,zero
lw s8,0x88(sp)
lw s7,0x84(sp)
lw s6,0x80(sp)
lw s5,0x7c(sp)
lw s4,0x78(sp)
lw s3,0x74(sp)
lw s2,0x70(sp)
lw s1,0x6c(sp)
lw s0,0x68(sp)
jr ra
_addiu sp,sp,0x90
b 0x000143a0
_li v1,0x107
b 0x000143a0
_li v1,0x108
b 0x000143a0
_li v1,0x112
b 0x000143a0
_li v1,0x103
b 0x000143a0
_li v1,0x111
b 0x000143a0
_li v1,0x113
b 0x000143a0
_li v1,0x106
b 0x000143a0
_li v1,0x10f
b 0x000143a0
_li v1,0x109
b 0x000143a0
_li v1,0x10a
b 0x000143a0
_li v1,0x10b
b 0x000143a0
_li v1,0x10e
b 0x000143a0
_li v1,0x10c
lw t9,-0x7d60(gp)
jalr t9
_lw a0,0x0(s8)
li v1,0x104
lw gp,0x10(sp)
lw a0,-0x7f1c(gp)
b 0x000143a0
_sw v0,0x0(a0)
lw v0,0x1c(sp)
or t2,s4,zero
or t6,s8,zero
lw s4,0x3c(sp)
lw s8,0x30(sp)
lbu a0,-0xbdc(v0)
lw v0,-0xbf0(t8)
sb a0,0x0(t2)
sll t1,v0,0x1
b 0x000141c8
_lw t2,-0xbf4(s5)
b 0x000143a0
_or v1,zero,zero
lw v0,0x28(sp)
lw v1,-0xbd0(t3)
lw s3,-0xbd8(v0)
sll v1,v1,0x2
lw v0,0x1c(sp)
addu s3,s3,v1
lbu a0,-0xbdc(v0)
lw v0,0x0(s8)
sb a0,0x0(s4)
subu v0,s4,v0
lw a2,0x0(s3)
addiu v0,v0,-0x1
sw v0,0x48(sp)
lw v0,0x2c(a2)
beq v0,zero,0x00014780
_lw s0,-0x7ee4(gp)
lw v1,-0xbe0(t1)
lw v0,0x18(sp)
lw a0,0x4(a2)
lw a1,-0xbe4(v0)
addu s0,a0,v1
sltu a3,s0,a1
beq a3,zero,0x00014b88
_lw v0,0x0(s8)
addiu v1,v1,0x1
addu v1,a0,v1
sltu v1,v1,a1
bne v1,zero,0x00014d68
_lw t9,-0x7fcc(gp)
lw v1,0x28(a2)
bne v1,zero,0x00014660
_subu s1,a1,v0
li v0,0x1
bne s1,v0,0x0001479c
_or t6,s8,zero
lw v0,0x34(sp)
lw a0,0x0(s8)
lw v0,-0xbec(v0)
addiu v1,v0,-0x1
lw v0,0x18(sp)
sw a0,-0xbe4(v0)
srl v0,v1,0x1f
addu v0,v0,v1
sra v0,v0,0x1
b 0x00014228
_addiu v0,v0,0x2a
lw a0,-0x7f2c(gp)
li v1,0x102
lw v0,0x0(a0)
addiu v0,v0,0x1
b 0x000143a0
_sw v0,0x0(a0)
b 0x000143a0
_li v1,0x29
b 0x000143a0
_li v1,0x2c
lw v0,0x34(sp)
or t6,s8,zero
lw s4,0x2c(sp)
lw t4,0x30(sp)
lw s0,-0xbec(v0)
lw v0,0x1c(sp)
lb t7,-0xbdc(v0)
lw v0,0x18(sp)
lw s8,-0xbe4(v0)
sll v0,s0,0x1
addu a0,t4,v0
addu v0,s4,v0
lh s3,0x0(a0)
b 0x000140e8
_lh s1,0x0(v0)
b 0x000143a0
_li v1,0x105
lw a0,-0x7f2c(gp)
or t4,s8,zero
lw v1,0x2c(sp)
lw t2,0x30(sp)
lw v0,0x0(a0)
addiu v0,v0,0x1
sw v0,0x0(a0)
lw v0,0x34(sp)
lw s0,-0xbec(v0)
lw v0,0x1c(sp)
lb t7,-0xbdc(v0)
lw v0,0x18(sp)
lw s4,-0xbe4(v0)
sll v0,s0,0x1
addu a0,t2,v0
addu v0,v1,v0
lh s3,0x0(a0)
b 0x000140d8
_lh s1,0x0(v0)
b 0x000143a0
_li v1,0x28
lw v0,0x20(sp)
li a2,0x1
lw t2,0x30(sp)
lw t9,-0x7d50(gp)
lw a0,0x0(s8)
lw a1,0x0(v0)
lw v0,-0x7ed4(gp)
sw t8,0x40(sp)
sw t0,0x3c(sp)
sw t5,0x38(sp)
sw t2,0x28(sp)
sw s8,0x24(sp)
jalr t9
_lw a3,0x0(v0)
lw gp,0x10(sp)
lw t4,0x24(sp)
lw t2,0x28(sp)
lw v1,0x2c(sp)
lw t5,0x38(sp)
lw t0,0x3c(sp)
b 0x000145d0
_lw t8,0x40(sp)
addiu v1,s1,-0x1
blez v1,0x00014688
_sw v1,0x40(sp)
addu v1,v0,v1
addiu v0,v0,0x1
lb a2,-0x1(v0)
addiu a0,a0,0x1
bne v0,v1,0x00014670
_sb a2,-0x1(a0)
lw a2,0x0(s3)
lw v1,0x2c(a2)
li v0,0x2
beq v1,v0,0x000148b0
_lw v1,0x40(sp)
lw v0,0xc(a2)
subu v0,v0,v1
addiu v0,v0,-0x1
bgtz v0,0x000147ec
_or s0,a2,zero
sw s8,0x44(sp)
b 0x00014734
_or s8,s1,zero
lw v0,0xc(s0)
blez v0,0x0001475c
_nop
sll v0,v0,0x1
lw t9,-0x7d80(gp)
addiu a1,v0,0x2
sw t1,0x5c(sp)
sw t3,0x58(sp)
sw t8,0x54(sp)
sw t0,0x50(sp)
sw t5,0x4c(sp)
jalr t9
_sw v0,0xc(s0)
lw gp,0x10(sp)
lw t5,0x4c(sp)
lw t0,0x50(sp)
lw t8,0x54(sp)
lw t3,0x58(sp)
lw t1,0x5c(sp)
beq v0,zero,0x00014748
_sw v0,0x4(s0)
addu a1,v0,s1
lw s0,0x0(s3)
lw v0,0x18(sp)
lw v1,0x40(sp)
sw a1,-0xbe4(v0)
lw v0,0xc(s0)
subu v0,v0,v1
addiu v0,v0,-0x1
bgtz v0,0x000147e4
_or a2,s0,zero
lw a0,0x4(s0)
lw v0,0x14(s0)
bne v0,zero,0x000146b8
_subu s1,a1,a0
sw zero,0x4(s0)
lw a0,-0x7fc8(gp)
lw t9,-0x7fcc(gp)
addiu t9,t9,0x3988
bal 0x00013988
_addiu a0,a0,-0x4168
bltz v0,0x00014770
_or a1,v0,zero
sra a1,a1,0x3
b 0x000146c8
_addu v0,a1,v0
addiu a1,v0,0x7
sra a1,a1,0x3
b 0x000146c8
_addu v0,a1,v0
li v0,0x1
lw v1,0x10(a2)
sw v0,0x2c(a2)
sw v1,-0xbe0(t1)
lw v0,0x0(s0)
b 0x000144d4
_sw v0,0x0(a2)
lw s8,0x30(sp)
lw v0,0x18(sp)
lw t9,0x38(sp)
sw t6,0x44(sp)
sw t8,0x40(sp)
sw t0,0x3c(sp)
sw t5,0x30(sp)
jalr t9
_sw s0,-0xbe4(v0)
or t2,s0,zero
lw t6,0x44(sp)
sll t1,v0,0x1
lw gp,0x10(sp)
lw t5,0x30(sp)
lw t0,0x3c(sp)
lw s4,0x0(t6)
b 0x000141c8
_lw t8,0x40(sp)
or s1,s8,zero
lw s8,0x44(sp)
lw a1,0x18(a2)
li v1,0x2000
slti a0,v0,0x2001
movn v1,v0,a0
beq a1,zero,0x000149b8
_sw a1,0x44(sp)
lw s0,-0x7ee4(gp)
or s3,zero,zero
addiu a3,s1,-0x2
lw t9,-0x7e54(gp)
lw a0,0x0(s0)
sw t1,0x58(sp)
sw t3,0x54(sp)
sw t8,0x50(sp)
sw t0,0x4c(sp)
sw t5,0x44(sp)
sw a3,0x60(sp)
jalr t9
_sw v1,0x5c(sp)
li a2,-0x1
lw gp,0x10(sp)
lw t5,0x44(sp)
lw t0,0x4c(sp)
lw t8,0x50(sp)
lw t3,0x54(sp)
beq v0,a2,0x00014c98
_lw t1,0x58(sp)
lw v1,0x28(sp)
addiu s3,s3,0x1
lw a0,-0xbd0(t3)
li a1,0xa
lw a3,0x60(sp)
lw s1,-0xbd8(v1)
sll a0,a0,0x2
addu t2,a3,s3
lw v1,0x5c(sp)
addu s1,s1,a0
lw a0,0x0(s1)
lw a0,0x4(a0)
beq v0,a1,0x00014d54
_addu a0,a0,t2
bne v1,s3,0x00014810
_sb v0,0x0(a0)
lw s3,0x0(s1)
sw v1,-0xbe0(t1)
beq v1,zero,0x000148b8
_sw v1,0x10(s3)
b 0x000148ec
_sw zero,0x44(sp)
sw zero,-0xbe0(t1)
sw zero,0x10(a2)
lw v0,0x40(sp)
beq v0,zero,0x00014cf0
_lw v0,-0xbd0(t3)
lw v1,0x28(sp)
lw s1,-0xbd8(v1)
sll v0,v0,0x2
li v1,0x2
addu s1,s1,v0
sw v1,0x44(sp)
li v0,0x2
lw v1,-0xbe0(t1)
lw s3,0x0(s1)
sw v0,0x2c(s3)
lw a0,0x40(sp)
lw v0,0xc(s3)
addu a2,a0,v1
slt v0,v0,a2
bne v0,zero,0x00014b24
_lw a0,0x4(s3)
addu a0,a0,a2
sw a2,-0xbe0(t1)
li v1,0x1
sb zero,0x0(a0)
lw v0,0x0(s1)
lw a0,0x44(sp)
lw v0,0x4(v0)
addu v0,v0,a2
sb zero,0x1(v0)
lw v0,0x0(s1)
lw v0,0x4(v0)
beq a0,v1,0x0001451c
_sw v0,0x0(s8)
li v1,0x2
or t6,s8,zero
beq a0,v1,0x00014d60
_lw s8,0x30(sp)
lw v1,0x48(sp)
lw t9,-0x7fcc(gp)
lw s4,0x2c(sp)
sw s8,0x2c(sp)
addu s8,v0,v1
sw t8,0x3c(sp)
addiu t9,t9,0x3830
sw t0,0x38(sp)
sw t5,0x30(sp)
sw t6,0x28(sp)
lw v0,0x18(sp)
bal 0x00013830
_sw s8,-0xbe4(v0)
lw t6,0x28(sp)
or s0,v0,zero
lw gp,0x10(sp)
lw t4,0x2c(sp)
lw t5,0x30(sp)
lw v1,0x0(t6)
lw t0,0x38(sp)
lw t8,0x3c(sp)
sll a0,s0,0x1
lb v0,0x0(s8)
addu a1,t4,a0
addu a0,s4,a0
lh s3,0x0(a1)
b 0x00014100
_lh s1,0x0(a0)
lw t9,-0x7ddc(gp)
lw s0,-0x7ee4(gp)
sw a2,0x64(sp)
sw t1,0x60(sp)
sw t3,0x5c(sp)
sw t8,0x58(sp)
sw t0,0x54(sp)
sw t5,0x50(sp)
jalr t9
_sw v1,0x4c(sp)
lw v1,0x4c(sp)
or s1,v0,zero
lw gp,0x10(sp)
lw a2,0x64(sp)
or s3,v1,zero
lw t5,0x50(sp)
lw t0,0x54(sp)
lw t8,0x58(sp)
lw t3,0x5c(sp)
lw t1,0x60(sp)
b 0x00014aac
_sw zero,0x0(v0)
lw t9,-0x7d1c(gp)
lw a0,0x0(s0)
sw t1,0x5c(sp)
sw t3,0x58(sp)
sw t8,0x54(sp)
sw t0,0x50(sp)
jalr t9
_sw t5,0x4c(sp)
lw gp,0x10(sp)
lw t5,0x4c(sp)
lw t0,0x50(sp)
lw t8,0x54(sp)
lw t3,0x58(sp)
beq v0,zero,0x00014d8c
_lw t1,0x5c(sp)
lw v0,0x0(s1)
li v1,0x4
sw t1,0x5c(sp)
sw t3,0x58(sp)
sw t8,0x54(sp)
sw t0,0x50(sp)
bne v0,v1,0x00014d78
_sw t5,0x4c(sp)
lw t9,-0x7e24(gp)
lw a0,0x0(s0)
jalr t9
_sw zero,0x0(s1)
lw t3,0x58(sp)
lw v0,0x28(sp)
lw gp,0x10(sp)
lw t1,0x5c(sp)
lw v1,-0xbd0(t3)
lw v0,-0xbd8(v0)
lw t8,0x54(sp)
sll v1,v1,0x2
lw t0,0x50(sp)
lw t5,0x4c(sp)
addu v0,v0,v1
lw a2,0x0(v0)
lw a0,0x4(a2)
li a1,0x1
lw v0,0x40(sp)
or a2,s3,zero
lw t9,-0x7d64(gp)
lw a3,0x0(s0)
addu a0,a0,v0
sw t1,0x5c(sp)
sw t3,0x58(sp)
sw t8,0x54(sp)
sw t0,0x50(sp)
jalr t9
_sw t5,0x4c(sp)
lw t1,0x5c(sp)
lw gp,0x10(sp)
lw t5,0x4c(sp)
lw t0,0x50(sp)
lw t8,0x54(sp)
lw t3,0x58(sp)
beq v0,zero,0x00014a10
_sw v0,-0xbe0(t1)
lw a0,0x28(sp)
or v1,v0,zero
lw v0,-0xbd0(t3)
lw s1,-0xbd8(a0)
sll v0,v0,0x2
addu s1,s1,v0
lw s3,0x0(s1)
b 0x000148ec
_sw v1,0x10(s3)
sra v1,v1,0x1
lw t9,-0x7d80(gp)
sw t1,0x5c(sp)
addu s0,v1,a2
sw t3,0x58(sp)
sw t8,0x54(sp)
sw t0,0x50(sp)
or a1,s0,zero
sw t5,0x4c(sp)
jalr t9
_sw a2,0x40(sp)
lw v1,0x0(s1)
lw gp,0x10(sp)
lw a2,0x40(sp)
lw t5,0x4c(sp)
lw t0,0x50(sp)
lw t8,0x54(sp)
lw t3,0x58(sp)
lw t1,0x5c(sp)
sw v0,0x4(s3)
lw a0,0x4(v1)
beq a0,zero,0x00014c84
_addiu s0,s0,-0x2
b 0x00014904
_sw s0,0xc(v1)
lw v1,0x48(sp)
lw t9,0x38(sp)
sw t8,0x4c(sp)
addu t2,v0,v1
sw t0,0x44(sp)
sw t5,0x40(sp)
sw s8,0x3c(sp)
lw v0,0x18(sp)
lw s8,0x30(sp)
sw t2,0x30(sp)
jalr t9
_sw t2,-0xbe4(v0)
sll t1,v0,0x1
lw gp,0x10(sp)
lw t2,0x30(sp)
addu v1,s8,t1
lw t6,0x3c(sp)
lw t5,0x40(sp)
lw t0,0x44(sp)
lh v1,0x0(v1)
beq v1,zero,0x00014be8
_lw t8,0x4c(sp)
sw v0,-0xbf0(t8)
sw t2,-0xbf4(s5)
lw v1,0x2c(sp)
addu v1,v1,t1
lh v1,0x0(v1)
addiu v1,v1,0x1
sll v1,v1,0x1
addu a0,t0,v1
lh a0,0x0(a0)
beq v0,a0,0x00014c3c
_sll v0,v0,0x1
addu v0,s2,v0
lw v1,0x2c(sp)
lh a0,0x0(v0)
sll v0,a0,0x1
addu v1,v1,v0
lh v1,0x0(v1)
addiu v1,v1,0x1
sll v1,v1,0x1
addu a1,t0,v1
lh a1,0x0(a1)
bne a0,a1,0x00014c10
_addu v0,s2,v0
addu v0,t5,v1
li a0,0xb0
lh s0,0x0(v0)
beq s0,a0,0x000141c8
_lw s4,0x0(t6)
beq s0,zero,0x000141c8
_lw v0,0x18(sp)
or t4,s8,zero
addiu s8,t2,0x1
or v1,s4,zero
lw s4,0x2c(sp)
b 0x0001499c
_sw s8,-0xbe4(v0)
lw a0,-0x7fc8(gp)
lw t9,-0x7fcc(gp)
addiu t9,t9,0x3988
bal 0x00013988
_addiu a0,a0,-0x40ec
lw a0,-0x7fc8(gp)
lw t9,-0x7fcc(gp)
addiu t9,t9,0x3988
bal 0x00013988
_addiu a0,a0,-0x411c
lw t9,-0x7d1c(gp)
lw a0,0x0(s0)
sw t1,0x58(sp)
sw t3,0x54(sp)
sw t8,0x50(sp)
sw t0,0x4c(sp)
jalr t9
_sw t5,0x44(sp)
bne v0,zero,0x00014d78
_lw gp,0x10(sp)
lw t3,0x54(sp)
or v1,s3,zero
lw a0,0x28(sp)
lw t5,0x44(sp)
lw t0,0x4c(sp)
lw v0,-0xbd0(t3)
lw s1,-0xbd8(a0)
lw t8,0x50(sp)
sll v0,v0,0x2
lw t1,0x58(sp)
b 0x00014898
_addu s1,s1,v0
lw s0,-0x7ee4(gp)
lw t9,-0x7ed0(gp)
sw t1,0x5c(sp)
sw t3,0x58(sp)
sw t8,0x54(sp)
sw t0,0x50(sp)
sw t5,0x4c(sp)
bal 0x00013ee0
_lw a0,0x0(s0)
li v0,0x1
lw t3,0x58(sp)
lw v1,0x28(sp)
lw t1,0x5c(sp)
sw v0,0x44(sp)
lw v0,-0xbd0(t3)
lw s1,-0xbd8(v1)
lw gp,0x10(sp)
sll v0,v0,0x2
lw v1,-0xbe0(t1)
lw t5,0x4c(sp)
addu s1,s1,v0
lw t0,0x50(sp)
lw t8,0x54(sp)
b 0x000148ec
_lw s3,0x0(s1)
sb a1,0x0(a0)
b 0x00014898
_or v1,s3,zero
b 0x000147a0
_addu s0,v0,a2
lw a0,-0x7fc8(gp)
addiu t9,t9,0x3988
bal 0x00013988
_addiu a0,a0,-0x41a0
lw a0,-0x7fc8(gp)
lw t9,-0x7fcc(gp)
addiu t9,t9,0x3988
bal 0x00013988
_addiu a0,a0,-0x413c
lw v0,0x28(sp)
lw v1,-0xbd0(t3)
lw v0,-0xbd8(v0)
sll v1,v1,0x2
addu v0,v0,v1
lw v0,0x0(v0)
b 0x000148b8
_sw zero,0x10(v0)
(translation_unit "void yylex(void)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  byte bVar6;\n  undefined4 *puVar5;\n  undefined *puVar7;\n  undefined4 uVar8;\n  bool bVar10;\n  undefined4 uVar9;\n  int iVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  int iVar17;\n  short sVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  undefined *local_74;\n  \n  puVar2 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);\n  if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);\n    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }\n  *(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;\n  puVar3 = PTR_yyin_0002f1bc;\n  puVar7 = PTR_DAT_0002f0d8;\n  if (iVar16 == 0) {\n    iVar17 = 0;\n    sVar18 = 0;\n    iVar16 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  if (iVar11 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }\n  puVar1 = PTR_optarg_0002f0c8;\n  puVar7 = puVar7 + -0x3a54;\n  if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)) {\n    FUN_000139cc();\n    iVar11 = *(int *)(puVar1 + -0xbd0);\n    iVar14 = *(int *)(puVar1 + -0xbd8);\n    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);\n    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;\n  }\n  puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n  puVar1 = PTR_optarg_0002f0c8;\n  pbVar15 = (byte *)puVar5[2];\n  uVar9 = *puVar5;\n  local_74 = PTR_optarg_0002f0c8;\n  uVar8 = puVar5[4];\n  *(byte **)PTR_yytext_0002f1b8 = pbVar15;\n  *(undefined4 *)puVar3 = uVar9;\n  *(undefined4 *)(puVar1 + -0xbe0) = uVar8;\n  *(byte **)(puVar1 + -0xbe4) = pbVar15;\n  bVar6 = *pbVar15;\n  puVar1[-0xbdc] = bVar6;\nLAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;\n  puVar3 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  *pbVar15 = bVar6;\n  iVar11 = *(int *)(puVar1 + -0xbf0);\n  bVar10 = false;\n  pbVar12 = *(byte **)(puVar1 + -0xbf4);\n  pbVar20 = pbVar15;\n  while( true ) {\n    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }\n    while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }\n    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);\n    iVar14 = iVar16 * 2;\n    iVar17 = (int)*(short *)(puVar7 + iVar14);\n    pbVar20 = pbVar20 + 1;\n    if (iVar17 == 0xc2) break;\n    bVar6 = *pbVar20;\n    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);\n  }\n  if (bVar10) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar12;\n    *(int *)(puVar1 + -0xbf0) = iVar11;\n  }\n  uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8);\n  if (uVar13 == 0) {\n    pbVar20 = *(byte **)(puVar1 + -0xbf4);\n    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }\n  *puVar19 = pbVar15;\n  *(int *)puVar4 = (int)pbVar20 - (int)pbVar15;\n  bVar6 = *pbVar20;\n  *(byte **)(local_74 + -0xbe4) = pbVar20;\n  *pbVar20 = 0;\n  local_74[-0xbdc] = bVar6;\n  if (uVar13 < 0x2b) {\n                    /* WARNING: Could not emulate address calculation at 0x00014238 */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec);\n}\n\n" (function_definition "void yylex(void)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  byte bVar6;\n  undefined4 *puVar5;\n  undefined *puVar7;\n  undefined4 uVar8;\n  bool bVar10;\n  undefined4 uVar9;\n  int iVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  int iVar17;\n  short sVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  undefined *local_74;\n  \n  puVar2 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);\n  if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);\n    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }\n  *(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;\n  puVar3 = PTR_yyin_0002f1bc;\n  puVar7 = PTR_DAT_0002f0d8;\n  if (iVar16 == 0) {\n    iVar17 = 0;\n    sVar18 = 0;\n    iVar16 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  if (iVar11 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }\n  puVar1 = PTR_optarg_0002f0c8;\n  puVar7 = puVar7 + -0x3a54;\n  if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)) {\n    FUN_000139cc();\n    iVar11 = *(int *)(puVar1 + -0xbd0);\n    iVar14 = *(int *)(puVar1 + -0xbd8);\n    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);\n    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;\n  }\n  puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n  puVar1 = PTR_optarg_0002f0c8;\n  pbVar15 = (byte *)puVar5[2];\n  uVar9 = *puVar5;\n  local_74 = PTR_optarg_0002f0c8;\n  uVar8 = puVar5[4];\n  *(byte **)PTR_yytext_0002f1b8 = pbVar15;\n  *(undefined4 *)puVar3 = uVar9;\n  *(undefined4 *)(puVar1 + -0xbe0) = uVar8;\n  *(byte **)(puVar1 + -0xbe4) = pbVar15;\n  bVar6 = *pbVar15;\n  puVar1[-0xbdc] = bVar6;\nLAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;\n  puVar3 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  *pbVar15 = bVar6;\n  iVar11 = *(int *)(puVar1 + -0xbf0);\n  bVar10 = false;\n  pbVar12 = *(byte **)(puVar1 + -0xbf4);\n  pbVar20 = pbVar15;\n  while( true ) {\n    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }\n    while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }\n    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);\n    iVar14 = iVar16 * 2;\n    iVar17 = (int)*(short *)(puVar7 + iVar14);\n    pbVar20 = pbVar20 + 1;\n    if (iVar17 == 0xc2) break;\n    bVar6 = *pbVar20;\n    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);\n  }\n  if (bVar10) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar12;\n    *(int *)(puVar1 + -0xbf0) = iVar11;\n  }\n  uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8);\n  if (uVar13 == 0) {\n    pbVar20 = *(byte **)(puVar1 + -0xbf4);\n    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }\n  *puVar19 = pbVar15;\n  *(int *)puVar4 = (int)pbVar20 - (int)pbVar15;\n  bVar6 = *pbVar20;\n  *(byte **)(local_74 + -0xbe4) = pbVar20;\n  *pbVar20 = 0;\n  local_74[-0xbdc] = bVar6;\n  if (uVar13 < 0x2b) {\n                    /* WARNING: Could not emulate address calculation at 0x00014238 */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec);\n}" primitive_type (function_declarator "yylex(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  byte bVar6;\n  undefined4 *puVar5;\n  undefined *puVar7;\n  undefined4 uVar8;\n  bool bVar10;\n  undefined4 uVar9;\n  int iVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  int iVar17;\n  short sVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  undefined *local_74;\n  \n  puVar2 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);\n  if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);\n    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }\n  *(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;\n  puVar3 = PTR_yyin_0002f1bc;\n  puVar7 = PTR_DAT_0002f0d8;\n  if (iVar16 == 0) {\n    iVar17 = 0;\n    sVar18 = 0;\n    iVar16 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  if (iVar11 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }\n  puVar1 = PTR_optarg_0002f0c8;\n  puVar7 = puVar7 + -0x3a54;\n  if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)) {\n    FUN_000139cc();\n    iVar11 = *(int *)(puVar1 + -0xbd0);\n    iVar14 = *(int *)(puVar1 + -0xbd8);\n    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);\n    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;\n  }\n  puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n  puVar1 = PTR_optarg_0002f0c8;\n  pbVar15 = (byte *)puVar5[2];\n  uVar9 = *puVar5;\n  local_74 = PTR_optarg_0002f0c8;\n  uVar8 = puVar5[4];\n  *(byte **)PTR_yytext_0002f1b8 = pbVar15;\n  *(undefined4 *)puVar3 = uVar9;\n  *(undefined4 *)(puVar1 + -0xbe0) = uVar8;\n  *(byte **)(puVar1 + -0xbe4) = pbVar15;\n  bVar6 = *pbVar15;\n  puVar1[-0xbdc] = bVar6;\nLAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;\n  puVar3 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  *pbVar15 = bVar6;\n  iVar11 = *(int *)(puVar1 + -0xbf0);\n  bVar10 = false;\n  pbVar12 = *(byte **)(puVar1 + -0xbf4);\n  pbVar20 = pbVar15;\n  while( true ) {\n    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }\n    while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }\n    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);\n    iVar14 = iVar16 * 2;\n    iVar17 = (int)*(short *)(puVar7 + iVar14);\n    pbVar20 = pbVar20 + 1;\n    if (iVar17 == 0xc2) break;\n    bVar6 = *pbVar20;\n    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);\n  }\n  if (bVar10) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar12;\n    *(int *)(puVar1 + -0xbf0) = iVar11;\n  }\n  uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8);\n  if (uVar13 == 0) {\n    pbVar20 = *(byte **)(puVar1 + -0xbf4);\n    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }\n  *puVar19 = pbVar15;\n  *(int *)puVar4 = (int)pbVar20 - (int)pbVar15;\n  bVar6 = *pbVar20;\n  *(byte **)(local_74 + -0xbe4) = pbVar20;\n  *pbVar20 = 0;\n  local_74[-0xbdc] = bVar6;\n  if (uVar13 < 0x2b) {\n                    /* WARNING: Could not emulate address calculation at 0x00014238 */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec);\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "short sVar18;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "undefined *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (expression_statement "puVar2 = PTR_DAT_0002f0d8;" (assignment_expression "puVar2 = PTR_DAT_0002f0d8" identifier = identifier) ;) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);" (assignment_expression "iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec)" identifier = (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbec)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbec)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbec" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);\n    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }" if (parenthesized_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0)" ( (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbe8)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbe8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbe8)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbe8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);\n    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }" { (expression_statement "puVar7 = PTR_DAT_0002f0d8 + -0x3a54;" (assignment_expression "puVar7 = PTR_DAT_0002f0d8 + -0x3a54" identifier = (binary_expression "PTR_DAT_0002f0d8 + -0x3a54" identifier + number_literal)) ;) (expression_statement "local_74 = PTR_optarg_0002f0c8;" (assignment_expression "local_74 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "bVar6 = PTR_optarg_0002f0c8[-0xbdc];" (assignment_expression "bVar6 = PTR_optarg_0002f0c8[-0xbdc]" identifier = (subscript_expression "PTR_optarg_0002f0c8[-0xbdc]" identifier [ number_literal ])) ;) (expression_statement "pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);" (assignment_expression "pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4)" identifier = (pointer_expression "*(byte **)(PTR_optarg_0002f0c8 + -0xbe4)" * (cast_expression "(byte **)(PTR_optarg_0002f0c8 + -0xbe4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbe4)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbe4" identifier + number_literal) ))))) ;) (expression_statement "sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);" (assignment_expression "sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8)" identifier = (pointer_expression "*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8)" * (cast_expression "(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8)" ( (binary_expression "PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8" (binary_expression "PTR_DAT_0002f0d8 + iVar16 * 2" identifier + (binary_expression "iVar16 * 2" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);" (assignment_expression "iVar17 = (int)*(short *)(puVar7 + iVar16 * 2)" identifier = (cast_expression "(int)*(short *)(puVar7 + iVar16 * 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar7 + iVar16 * 2)" * (cast_expression "(short *)(puVar7 + iVar16 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + iVar16 * 2)" ( (binary_expression "puVar7 + iVar16 * 2" identifier + (binary_expression "iVar16 * 2" identifier * number_literal)) )))))) ;) (expression_statement "puVar19 = (undefined4 *)PTR_yytext_0002f1b8;" (assignment_expression "puVar19 = (undefined4 *)PTR_yytext_0002f1b8" identifier = (cast_expression "(undefined4 *)PTR_yytext_0002f1b8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_00014094;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;" (assignment_expression "*(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1" (pointer_expression "*(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8)" * (cast_expression "(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbe8)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbe8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar3 = PTR_yyin_0002f1bc;" (assignment_expression "puVar3 = PTR_yyin_0002f1bc" identifier = identifier) ;) (expression_statement "puVar7 = PTR_DAT_0002f0d8;" (assignment_expression "puVar7 = PTR_DAT_0002f0d8" identifier = identifier) ;) (if_statement "if (iVar16 == 0) {\n    iVar17 = 0;\n    sVar18 = 0;\n    iVar16 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar17 = 0;\n    sVar18 = 0;\n    iVar16 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }" { (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "sVar18 = 0;" (assignment_expression "sVar18 = 0" identifier = number_literal) ;) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar1 + -0xbec) = 1;" (assignment_expression "*(undefined4 *)(puVar1 + -0xbec) = 1" (pointer_expression "*(undefined4 *)(puVar1 + -0xbec)" * (cast_expression "(undefined4 *)(puVar1 + -0xbec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbec)" ( (binary_expression "puVar1 + -0xbec" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)puVar3 == 0) goto LAB_0001432c;" if (parenthesized_expression "(*(int *)puVar3 == 0)" ( (binary_expression "*(int *)puVar3 == 0" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (goto_statement "goto LAB_0001432c;" goto statement_identifier ;)) (labeled_statement "LAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;" statement_identifier : (expression_statement "iVar11 = *(int *)PTR_yyout_0002f1cc;" (assignment_expression "iVar11 = *(int *)PTR_yyout_0002f1cc" identifier = (pointer_expression "*(int *)PTR_yyout_0002f1cc" * (cast_expression "(int *)PTR_yyout_0002f1cc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) }) (else_clause "else {\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }" else (compound_statement "{\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }" { (expression_statement "iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);" (assignment_expression "iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" identifier = (cast_expression "(int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" * (cast_expression "(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" ( (binary_expression "PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54" (binary_expression "PTR_DAT_0002f0d8 + iVar16 * 2" identifier + (binary_expression "iVar16 * 2" identifier * number_literal)) + number_literal) )))))) ;) (expression_statement "sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);" (assignment_expression "sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8)" identifier = (pointer_expression "*(short *)(puVar2 + iVar16 * 2 + -0x37b8)" * (cast_expression "(short *)(puVar2 + iVar16 * 2 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + iVar16 * 2 + -0x37b8)" ( (binary_expression "puVar2 + iVar16 * 2 + -0x37b8" (binary_expression "puVar2 + iVar16 * 2" identifier + (binary_expression "iVar16 * 2" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;" if (parenthesized_expression "(*(int *)PTR_yyin_0002f1bc != 0)" ( (binary_expression "*(int *)PTR_yyin_0002f1bc != 0" (pointer_expression "*(int *)PTR_yyin_0002f1bc" * (cast_expression "(int *)PTR_yyin_0002f1bc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (goto_statement "goto LAB_00014288;" goto statement_identifier ;)) (labeled_statement "LAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;" statement_identifier : (expression_statement "*(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;" (assignment_expression "*(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8" (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)PTR_stdin_0002f2d8" * (cast_expression "(undefined4 *)PTR_stdin_0002f2d8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "iVar11 = *(int *)PTR_yyout_0002f1cc;" (assignment_expression "iVar11 = *(int *)PTR_yyout_0002f1cc" identifier = (pointer_expression "*(int *)PTR_yyout_0002f1cc" * (cast_expression "(int *)PTR_yyout_0002f1cc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (if_statement "if (iVar11 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }" { (expression_statement "*(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;" (assignment_expression "*(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8" (pointer_expression "*(undefined4 *)PTR_yyout_0002f1cc" * (cast_expression "(undefined4 *)PTR_yyout_0002f1cc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)PTR_stdout_0002f2b8" * (cast_expression "(undefined4 *)PTR_stdout_0002f2b8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "puVar7 = puVar7 + -0x3a54;" (assignment_expression "puVar7 = puVar7 + -0x3a54" identifier = (binary_expression "puVar7 + -0x3a54" identifier + number_literal)) ;) (if_statement "if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)) {\n    FUN_000139cc();\n    iVar11 = *(int *)(puVar1 + -0xbd0);\n    iVar14 = *(int *)(puVar1 + -0xbd8);\n    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);\n    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;\n  }" if (parenthesized_expression "((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0))" ( (binary_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)" (parenthesized_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0)" ( (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbd8)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbd8" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)" ( (comma_expression "puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0" (assignment_expression "puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" identifier = (pointer_expression "*(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" * (cast_expression "(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" ( (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbd8)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbd8" identifier + number_literal) )))) + (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd0)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbd0)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbd0" identifier + number_literal) )))) * number_literal)) ))))) , (binary_expression "puVar5 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    FUN_000139cc();\n    iVar11 = *(int *)(puVar1 + -0xbd0);\n    iVar14 = *(int *)(puVar1 + -0xbd8);\n    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);\n    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;\n  }" { (expression_statement "FUN_000139cc();" (call_expression "FUN_000139cc()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = *(int *)(puVar1 + -0xbd0);" (assignment_expression "iVar11 = *(int *)(puVar1 + -0xbd0)" identifier = (pointer_expression "*(int *)(puVar1 + -0xbd0)" * (cast_expression "(int *)(puVar1 + -0xbd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbd0)" ( (binary_expression "puVar1 + -0xbd0" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(puVar1 + -0xbd8);" (assignment_expression "iVar14 = *(int *)(puVar1 + -0xbd8)" identifier = (pointer_expression "*(int *)(puVar1 + -0xbd8)" * (cast_expression "(int *)(puVar1 + -0xbd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbd8)" ( (binary_expression "puVar1 + -0xbd8" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);" (assignment_expression "puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000)" identifier = (cast_expression "(undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "yy_create_buffer(*(undefined4 *)puVar3,0x4000)" identifier (argument_list "(*(undefined4 *)puVar3,0x4000)" ( (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))))) ;) (expression_statement "*(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;" (assignment_expression "*(undefined4 **)(iVar14 + iVar11 * 4) = puVar5" (pointer_expression "*(undefined4 **)(iVar14 + iVar11 * 4)" * (cast_expression "(undefined4 **)(iVar14 + iVar11 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + iVar11 * 4)" ( (binary_expression "iVar14 + iVar11 * 4" identifier + (binary_expression "iVar11 * 4" identifier * number_literal)) )))) = identifier) ;) })) (expression_statement "puVar19 = (undefined4 *)PTR_yytext_0002f1b8;" (assignment_expression "puVar19 = (undefined4 *)PTR_yytext_0002f1b8" identifier = (cast_expression "(undefined4 *)PTR_yytext_0002f1b8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "pbVar15 = (byte *)puVar5[2];" (assignment_expression "pbVar15 = (byte *)puVar5[2]" identifier = (cast_expression "(byte *)puVar5[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar9 = *puVar5;" (assignment_expression "uVar9 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) ;) (expression_statement "local_74 = PTR_optarg_0002f0c8;" (assignment_expression "local_74 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "uVar8 = puVar5[4];" (assignment_expression "uVar8 = puVar5[4]" identifier = (subscript_expression "puVar5[4]" identifier [ number_literal ])) ;) (expression_statement "*(byte **)PTR_yytext_0002f1b8 = pbVar15;" (assignment_expression "*(byte **)PTR_yytext_0002f1b8 = pbVar15" (pointer_expression "*(byte **)PTR_yytext_0002f1b8" * (cast_expression "(byte **)PTR_yytext_0002f1b8" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)puVar3 = uVar9;" (assignment_expression "*(undefined4 *)puVar3 = uVar9" (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)(puVar1 + -0xbe0) = uVar8;" (assignment_expression "*(undefined4 *)(puVar1 + -0xbe0) = uVar8" (pointer_expression "*(undefined4 *)(puVar1 + -0xbe0)" * (cast_expression "(undefined4 *)(puVar1 + -0xbe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbe0)" ( (binary_expression "puVar1 + -0xbe0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar1 + -0xbe4) = pbVar15;" (assignment_expression "*(byte **)(puVar1 + -0xbe4) = pbVar15" (pointer_expression "*(byte **)(puVar1 + -0xbe4)" * (cast_expression "(byte **)(puVar1 + -0xbe4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0xbe4)" ( (binary_expression "puVar1 + -0xbe4" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar6 = *pbVar15;" (assignment_expression "bVar6 = *pbVar15" identifier = (pointer_expression "*pbVar15" * identifier)) ;) (expression_statement "puVar1[-0xbdc] = bVar6;" (assignment_expression "puVar1[-0xbdc] = bVar6" (subscript_expression "puVar1[-0xbdc]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;" statement_identifier : (expression_statement "puVar4 = PTR_yyleng_0002f1c8;" (assignment_expression "puVar4 = PTR_yyleng_0002f1c8" identifier = identifier) ;)) (expression_statement "puVar3 = PTR_DAT_0002f0d8;" (assignment_expression "puVar3 = PTR_DAT_0002f0d8" identifier = identifier) ;) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "*pbVar15 = bVar6;" (assignment_expression "*pbVar15 = bVar6" (pointer_expression "*pbVar15" * identifier) = identifier) ;) (expression_statement "iVar11 = *(int *)(puVar1 + -0xbf0);" (assignment_expression "iVar11 = *(int *)(puVar1 + -0xbf0)" identifier = (pointer_expression "*(int *)(puVar1 + -0xbf0)" * (cast_expression "(int *)(puVar1 + -0xbf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbf0)" ( (binary_expression "puVar1 + -0xbf0" identifier + number_literal) ))))) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "pbVar12 = *(byte **)(puVar1 + -0xbf4);" (assignment_expression "pbVar12 = *(byte **)(puVar1 + -0xbf4)" identifier = (pointer_expression "*(byte **)(puVar1 + -0xbf4)" * (cast_expression "(byte **)(puVar1 + -0xbf4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0xbf4)" ( (binary_expression "puVar1 + -0xbf4" identifier + number_literal) ))))) ;) (expression_statement "pbVar20 = pbVar15;" (assignment_expression "pbVar20 = pbVar15" identifier = identifier) ;) (while_statement "while( true ) {\n    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }\n    while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }\n    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);\n    iVar14 = iVar16 * 2;\n    iVar17 = (int)*(short *)(puVar7 + iVar14);\n    pbVar20 = pbVar20 + 1;\n    if (iVar17 == 0xc2) break;\n    bVar6 = *pbVar20;\n    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }\n    while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }\n    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);\n    iVar14 = iVar16 * 2;\n    iVar17 = (int)*(short *)(puVar7 + iVar14);\n    pbVar20 = pbVar20 + 1;\n    if (iVar17 == 0xc2) break;\n    bVar6 = *pbVar20;\n    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);\n  }" { (expression_statement "uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];" (assignment_expression "uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8]" identifier = (cast_expression "(uint)(byte)puVar3[bVar6 - 0x38b8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[bVar6 - 0x38b8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[bVar6 - 0x38b8]" identifier [ (binary_expression "bVar6 - 0x38b8" identifier - number_literal) ])))) ;) (if_statement "if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }" if (parenthesized_expression "(sVar18 != 0)" ( (binary_expression "sVar18 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }" { (expression_statement "bVar10 = true;" (assignment_expression "bVar10 = true" identifier = true) ;) (expression_statement "iVar11 = iVar16;" (assignment_expression "iVar11 = iVar16" identifier = identifier) ;) (expression_statement "pbVar12 = pbVar20;" (assignment_expression "pbVar12 = pbVar20" identifier = identifier) ;) })) (while_statement "while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }" { (expression_statement "iVar17 = (iVar17 + uVar13) * 2;" (assignment_expression "iVar17 = (iVar17 + uVar13) * 2" identifier = (binary_expression "(iVar17 + uVar13) * 2" (parenthesized_expression "(iVar17 + uVar13)" ( (binary_expression "iVar17 + uVar13" identifier + identifier) )) * number_literal)) ;) (if_statement "if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;" if (parenthesized_expression "(*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16)" ( (binary_expression "*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16" (pointer_expression "*(short *)(puVar3 + iVar17 + -0x3f94)" * (cast_expression "(short *)(puVar3 + iVar17 + -0x3f94)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + iVar17 + -0x3f94)" ( (binary_expression "puVar3 + iVar17 + -0x3f94" (binary_expression "puVar3 + iVar17" identifier + identifier) + number_literal) )))) == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);" (assignment_expression "iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc)" identifier = (cast_expression "(int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar3 + iVar16 * 2 + -0x3bbc)" * (cast_expression "(short *)(puVar3 + iVar16 * 2 + -0x3bbc)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + iVar16 * 2 + -0x3bbc)" ( (binary_expression "puVar3 + iVar16 * 2 + -0x3bbc" (binary_expression "puVar3 + iVar16 * 2" identifier + (binary_expression "iVar16 * 2" identifier * number_literal)) + number_literal) )))))) ;) (if_statement "if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }" if (parenthesized_expression "(0xb0 < iVar16)" ( (binary_expression "0xb0 < iVar16" number_literal < identifier) )) (compound_statement "{\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }" { (expression_statement "uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];" (assignment_expression "uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec]" identifier = (cast_expression "(uint)(byte)puVar3[uVar13 - 0x38ec]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[uVar13 - 0x38ec]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[uVar13 - 0x38ec]" identifier [ (binary_expression "uVar13 - 0x38ec" identifier - number_literal) ])))) ;) })) (expression_statement "iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);" (assignment_expression "iVar17 = (int)*(short *)(puVar7 + iVar16 * 2)" identifier = (cast_expression "(int)*(short *)(puVar7 + iVar16 * 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar7 + iVar16 * 2)" * (cast_expression "(short *)(puVar7 + iVar16 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + iVar16 * 2)" ( (binary_expression "puVar7 + iVar16 * 2" identifier + (binary_expression "iVar16 * 2" identifier * number_literal)) )))))) ;) })) (expression_statement "iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);" (assignment_expression "iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8)" identifier = (cast_expression "(int)*(short *)(puVar3 + iVar17 + -0x3da8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar3 + iVar17 + -0x3da8)" * (cast_expression "(short *)(puVar3 + iVar17 + -0x3da8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + iVar17 + -0x3da8)" ( (binary_expression "puVar3 + iVar17 + -0x3da8" (binary_expression "puVar3 + iVar17" identifier + identifier) + number_literal) )))))) ;) (expression_statement "iVar14 = iVar16 * 2;" (assignment_expression "iVar14 = iVar16 * 2" identifier = (binary_expression "iVar16 * 2" identifier * number_literal)) ;) (expression_statement "iVar17 = (int)*(short *)(puVar7 + iVar14);" (assignment_expression "iVar17 = (int)*(short *)(puVar7 + iVar14)" identifier = (cast_expression "(int)*(short *)(puVar7 + iVar14)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar7 + iVar14)" * (cast_expression "(short *)(puVar7 + iVar14)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + iVar14)" ( (binary_expression "puVar7 + iVar14" identifier + identifier) )))))) ;) (expression_statement "pbVar20 = pbVar20 + 1;" (assignment_expression "pbVar20 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;) (if_statement "if (iVar17 == 0xc2) break;" if (parenthesized_expression "(iVar17 == 0xc2)" ( (binary_expression "iVar17 == 0xc2" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar6 = *pbVar20;" (assignment_expression "bVar6 = *pbVar20" identifier = (pointer_expression "*pbVar20" * identifier)) ;) (expression_statement "sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);" (assignment_expression "sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8)" identifier = (pointer_expression "*(short *)(puVar2 + iVar14 + -0x37b8)" * (cast_expression "(short *)(puVar2 + iVar14 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + iVar14 + -0x37b8)" ( (binary_expression "puVar2 + iVar14 + -0x37b8" (binary_expression "puVar2 + iVar14" identifier + identifier) + number_literal) ))))) ;) })) (if_statement "if (bVar10) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar12;\n    *(int *)(puVar1 + -0xbf0) = iVar11;\n  }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n    *(byte **)(puVar1 + -0xbf4) = pbVar12;\n    *(int *)(puVar1 + -0xbf0) = iVar11;\n  }" { (expression_statement "*(byte **)(puVar1 + -0xbf4) = pbVar12;" (assignment_expression "*(byte **)(puVar1 + -0xbf4) = pbVar12" (pointer_expression "*(byte **)(puVar1 + -0xbf4)" * (cast_expression "(byte **)(puVar1 + -0xbf4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0xbf4)" ( (binary_expression "puVar1 + -0xbf4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar1 + -0xbf0) = iVar11;" (assignment_expression "*(int *)(puVar1 + -0xbf0) = iVar11" (pointer_expression "*(int *)(puVar1 + -0xbf0)" * (cast_expression "(int *)(puVar1 + -0xbf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbf0)" ( (binary_expression "puVar1 + -0xbf0" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8);" (assignment_expression "uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8)" identifier = (binary_expression "(uint)*(short *)(puVar2 + iVar14 + -0x37b8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(short *)(puVar2 + iVar14 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + iVar14 + -0x37b8)" ( (binary_expression "puVar2 + iVar14 + -0x37b8" (binary_expression "puVar2 + iVar14" identifier + identifier) + number_literal) ))))) ;) (if_statement "if (uVar13 == 0) {\n    pbVar20 = *(byte **)(puVar1 + -0xbf4);\n    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }" if (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) (compound_statement "{\n    pbVar20 = *(byte **)(puVar1 + -0xbf4);\n    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }" { (expression_statement "pbVar20 = *(byte **)(puVar1 + -0xbf4);" (assignment_expression "pbVar20 = *(byte **)(puVar1 + -0xbf4)" identifier = (pointer_expression "*(byte **)(puVar1 + -0xbf4)" * (cast_expression "(byte **)(puVar1 + -0xbf4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0xbf4)" ( (binary_expression "puVar1 + -0xbf4" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);" (assignment_expression "uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" identifier = (binary_expression "(uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" ( (binary_expression "puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8" (binary_expression "puVar2 + *(int *)(puVar1 + -0xbf0) * 2" identifier + (binary_expression "*(int *)(puVar1 + -0xbf0) * 2" (pointer_expression "*(int *)(puVar1 + -0xbf0)" * (cast_expression "(int *)(puVar1 + -0xbf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbf0)" ( (binary_expression "puVar1 + -0xbf0" identifier + number_literal) )))) * number_literal)) + number_literal) ))))) ;) })) (expression_statement "*puVar19 = pbVar15;" (assignment_expression "*puVar19 = pbVar15" (pointer_expression "*puVar19" * identifier) = identifier) ;) (expression_statement "*(int *)puVar4 = (int)pbVar20 - (int)pbVar15;" (assignment_expression "*(int *)puVar4 = (int)pbVar20 - (int)pbVar15" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(int)pbVar20 - (int)pbVar15" (cast_expression "(int)pbVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "bVar6 = *pbVar20;" (assignment_expression "bVar6 = *pbVar20" identifier = (pointer_expression "*pbVar20" * identifier)) ;) (expression_statement "*(byte **)(local_74 + -0xbe4) = pbVar20;" (assignment_expression "*(byte **)(local_74 + -0xbe4) = pbVar20" (pointer_expression "*(byte **)(local_74 + -0xbe4)" * (cast_expression "(byte **)(local_74 + -0xbe4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_74 + -0xbe4)" ( (binary_expression "local_74 + -0xbe4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*pbVar20 = 0;" (assignment_expression "*pbVar20 = 0" (pointer_expression "*pbVar20" * identifier) = number_literal) ;) (expression_statement "local_74[-0xbdc] = bVar6;" (assignment_expression "local_74[-0xbdc] = bVar6" (subscript_expression "local_74[-0xbdc]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (uVar13 < 0x2b) {\n                    /* WARNING: Could not emulate address calculation at 0x00014238 */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();\n    return;\n  }" if (parenthesized_expression "(uVar13 < 0x2b)" ( (binary_expression "uVar13 < 0x2b" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x00014238 */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();\n    return;\n  }" { comment comment (expression_statement "(*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040))" * (cast_expression "(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040))" ( (binary_expression "&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(puVar3 + uVar13 * 4 + -0x4040)" * (cast_expression "(int *)(puVar3 + uVar13 * 4 + -0x4040)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + uVar13 * 4 + -0x4040)" ( (binary_expression "puVar3 + uVar13 * 4 + -0x4040" (binary_expression "puVar3 + uVar13 * 4" identifier + (binary_expression "uVar13 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) comment (expression_statement "FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec);" (call_expression "FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec)" identifier (argument_list "(PTR_DAT_0002f0d8 + -0x40ec)" ( (binary_expression "PTR_DAT_0002f0d8 + -0x40ec" identifier + number_literal) ))) ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nint yylex(void)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  byte bVar6;\n  YY_BUFFER_STATE pyVar5;\n  undefined *puVar7;\n  bool bVar9;\n  FILE *pFVar8;\n  int iVar10;\n  byte *pbVar11;\n  uint uVar12;\n  int iVar13;\n  byte *pbVar14;\n  int iVar15;\n  int iVar16;\n  short sVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  undefined *local_74;\n  \n  puVar2 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  iVar15 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);\n  if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar14 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar17 = *(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x37b8);\n    iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);\n    puVar18 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }\n  *(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;\n  puVar3 = PTR_yyin_0002f1bc;\n  puVar7 = PTR_DAT_0002f0d8;\n  if (iVar15 == 0) {\n    iVar16 = 0;\n    sVar17 = 0;\n    iVar15 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar10 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar16 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x3a54);\n    sVar17 = *(short *)(puVar2 + iVar15 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar10 = *(int *)PTR_yyout_0002f1cc;\n  }\n  if (iVar10 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }\n  puVar1 = PTR_optarg_0002f0c8;\n  puVar7 = puVar7 + -0x3a54;\n  if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (pyVar5 = *(YY_BUFFER_STATE *)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), pyVar5 == (YY_BUFFER_STATE)0x0)) {\n    yyensure_buffer_stack();\n    iVar10 = *(int *)(puVar1 + -0xbd0);\n    iVar13 = *(int *)(puVar1 + -0xbd8);\n    pyVar5 = yy_create_buffer(*(FILE **)puVar3,0x4000);\n    *(YY_BUFFER_STATE *)(iVar13 + iVar10 * 4) = pyVar5;\n  }\n  puVar18 = (undefined4 *)PTR_yytext_0002f1b8;\n  puVar1 = PTR_optarg_0002f0c8;\n  pbVar14 = (byte *)pyVar5->yy_buf_pos;\n  pFVar8 = pyVar5->yy_input_file;\n  local_74 = PTR_optarg_0002f0c8;\n  iVar10 = pyVar5->yy_n_chars;\n  *(byte **)PTR_yytext_0002f1b8 = pbVar14;\n  *(FILE **)puVar3 = pFVar8;\n  *(int *)(puVar1 + -0xbe0) = iVar10;\n  *(byte **)(puVar1 + -0xbe4) = pbVar14;\n  bVar6 = *pbVar14;\n  puVar1[-0xbdc] = bVar6;\nLAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;\n  puVar3 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  *pbVar14 = bVar6;\n  iVar10 = *(int *)(puVar1 + -0xbf0);\n  bVar9 = false;\n  pbVar11 = *(byte **)(puVar1 + -0xbf4);\n  pbVar19 = pbVar14;\n  while( true ) {\n    uVar12 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar17 != 0) {\n      bVar9 = true;\n      iVar10 = iVar15;\n      pbVar11 = pbVar19;\n    }\n    while( true ) {\n      iVar16 = (iVar16 + uVar12) * 2;\n      if (*(short *)(puVar3 + iVar16 + -0x3f94) == iVar15) break;\n      iVar15 = (int)*(short *)(puVar3 + iVar15 * 2 + -0x3bbc);\n      if (0xb0 < iVar15) {\n        uVar12 = (uint)(byte)puVar3[uVar12 - 0x38ec];\n      }\n      iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);\n    }\n    iVar15 = (int)*(short *)(puVar3 + iVar16 + -0x3da8);\n    iVar13 = iVar15 * 2;\n    iVar16 = (int)*(short *)(puVar7 + iVar13);\n    pbVar19 = pbVar19 + 1;\n    if (iVar16 == 0xc2) break;\n    bVar6 = *pbVar19;\n    sVar17 = *(short *)(puVar2 + iVar13 + -0x37b8);\n  }\n  if (bVar9) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar11;\n    *(int *)(puVar1 + -0xbf0) = iVar10;\n  }\n  uVar12 = (uint)*(short *)(puVar2 + iVar13 + -0x37b8);\n  if (uVar12 == 0) {\n    pbVar19 = *(byte **)(puVar1 + -0xbf4);\n    uVar12 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }\n  *puVar18 = pbVar14;\n  *(int *)puVar4 = (int)pbVar19 - (int)pbVar14;\n  bVar6 = *pbVar19;\n  *(byte **)(local_74 + -0xbe4) = pbVar19;\n  *pbVar19 = 0;\n  local_74[-0xbdc] = bVar6;\n  if (uVar12 < 0x2b) {\n                    /* WARNING: Could not emulate address calculation at 0x00014238 */\n                    /* WARNING: Treating indirect jump as call */\n    iVar15 = (*(code *)(&_gp + *(int *)(puVar3 + uVar12 * 4 + -0x4040)))();\n    return iVar15;\n  }\n                    /* WARNING: Subroutine does not return */\n  yy_fatal_error(PTR_DAT_0002f0d8 + -0x40ec);\n}\n\n" comment (function_definition "int yylex(void)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  byte bVar6;\n  YY_BUFFER_STATE pyVar5;\n  undefined *puVar7;\n  bool bVar9;\n  FILE *pFVar8;\n  int iVar10;\n  byte *pbVar11;\n  uint uVar12;\n  int iVar13;\n  byte *pbVar14;\n  int iVar15;\n  int iVar16;\n  short sVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  undefined *local_74;\n  \n  puVar2 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  iVar15 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);\n  if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar14 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar17 = *(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x37b8);\n    iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);\n    puVar18 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }\n  *(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;\n  puVar3 = PTR_yyin_0002f1bc;\n  puVar7 = PTR_DAT_0002f0d8;\n  if (iVar15 == 0) {\n    iVar16 = 0;\n    sVar17 = 0;\n    iVar15 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar10 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar16 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x3a54);\n    sVar17 = *(short *)(puVar2 + iVar15 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar10 = *(int *)PTR_yyout_0002f1cc;\n  }\n  if (iVar10 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }\n  puVar1 = PTR_optarg_0002f0c8;\n  puVar7 = puVar7 + -0x3a54;\n  if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (pyVar5 = *(YY_BUFFER_STATE *)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), pyVar5 == (YY_BUFFER_STATE)0x0)) {\n    yyensure_buffer_stack();\n    iVar10 = *(int *)(puVar1 + -0xbd0);\n    iVar13 = *(int *)(puVar1 + -0xbd8);\n    pyVar5 = yy_create_buffer(*(FILE **)puVar3,0x4000);\n    *(YY_BUFFER_STATE *)(iVar13 + iVar10 * 4) = pyVar5;\n  }\n  puVar18 = (undefined4 *)PTR_yytext_0002f1b8;\n  puVar1 = PTR_optarg_0002f0c8;\n  pbVar14 = (byte *)pyVar5->yy_buf_pos;\n  pFVar8 = pyVar5->yy_input_file;\n  local_74 = PTR_optarg_0002f0c8;\n  iVar10 = pyVar5->yy_n_chars;\n  *(byte **)PTR_yytext_0002f1b8 = pbVar14;\n  *(FILE **)puVar3 = pFVar8;\n  *(int *)(puVar1 + -0xbe0) = iVar10;\n  *(byte **)(puVar1 + -0xbe4) = pbVar14;\n  bVar6 = *pbVar14;\n  puVar1[-0xbdc] = bVar6;\nLAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;\n  puVar3 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  *pbVar14 = bVar6;\n  iVar10 = *(int *)(puVar1 + -0xbf0);\n  bVar9 = false;\n  pbVar11 = *(byte **)(puVar1 + -0xbf4);\n  pbVar19 = pbVar14;\n  while( true ) {\n    uVar12 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar17 != 0) {\n      bVar9 = true;\n      iVar10 = iVar15;\n      pbVar11 = pbVar19;\n    }\n    while( true ) {\n      iVar16 = (iVar16 + uVar12) * 2;\n      if (*(short *)(puVar3 + iVar16 + -0x3f94) == iVar15) break;\n      iVar15 = (int)*(short *)(puVar3 + iVar15 * 2 + -0x3bbc);\n      if (0xb0 < iVar15) {\n        uVar12 = (uint)(byte)puVar3[uVar12 - 0x38ec];\n      }\n      iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);\n    }\n    iVar15 = (int)*(short *)(puVar3 + iVar16 + -0x3da8);\n    iVar13 = iVar15 * 2;\n    iVar16 = (int)*(short *)(puVar7 + iVar13);\n    pbVar19 = pbVar19 + 1;\n    if (iVar16 == 0xc2) break;\n    bVar6 = *pbVar19;\n    sVar17 = *(short *)(puVar2 + iVar13 + -0x37b8);\n  }\n  if (bVar9) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar11;\n    *(int *)(puVar1 + -0xbf0) = iVar10;\n  }\n  uVar12 = (uint)*(short *)(puVar2 + iVar13 + -0x37b8);\n  if (uVar12 == 0) {\n    pbVar19 = *(byte **)(puVar1 + -0xbf4);\n    uVar12 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }\n  *puVar18 = pbVar14;\n  *(int *)puVar4 = (int)pbVar19 - (int)pbVar14;\n  bVar6 = *pbVar19;\n  *(byte **)(local_74 + -0xbe4) = pbVar19;\n  *pbVar19 = 0;\n  local_74[-0xbdc] = bVar6;\n  if (uVar12 < 0x2b) {\n                    /* WARNING: Could not emulate address calculation at 0x00014238 */\n                    /* WARNING: Treating indirect jump as call */\n    iVar15 = (*(code *)(&_gp + *(int *)(puVar3 + uVar12 * 4 + -0x4040)))();\n    return iVar15;\n  }\n                    /* WARNING: Subroutine does not return */\n  yy_fatal_error(PTR_DAT_0002f0d8 + -0x40ec);\n}" primitive_type (function_declarator "yylex(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  byte bVar6;\n  YY_BUFFER_STATE pyVar5;\n  undefined *puVar7;\n  bool bVar9;\n  FILE *pFVar8;\n  int iVar10;\n  byte *pbVar11;\n  uint uVar12;\n  int iVar13;\n  byte *pbVar14;\n  int iVar15;\n  int iVar16;\n  short sVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  undefined *local_74;\n  \n  puVar2 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  iVar15 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);\n  if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar14 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar17 = *(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x37b8);\n    iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);\n    puVar18 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }\n  *(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;\n  puVar3 = PTR_yyin_0002f1bc;\n  puVar7 = PTR_DAT_0002f0d8;\n  if (iVar15 == 0) {\n    iVar16 = 0;\n    sVar17 = 0;\n    iVar15 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar10 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar16 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x3a54);\n    sVar17 = *(short *)(puVar2 + iVar15 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar10 = *(int *)PTR_yyout_0002f1cc;\n  }\n  if (iVar10 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }\n  puVar1 = PTR_optarg_0002f0c8;\n  puVar7 = puVar7 + -0x3a54;\n  if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (pyVar5 = *(YY_BUFFER_STATE *)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), pyVar5 == (YY_BUFFER_STATE)0x0)) {\n    yyensure_buffer_stack();\n    iVar10 = *(int *)(puVar1 + -0xbd0);\n    iVar13 = *(int *)(puVar1 + -0xbd8);\n    pyVar5 = yy_create_buffer(*(FILE **)puVar3,0x4000);\n    *(YY_BUFFER_STATE *)(iVar13 + iVar10 * 4) = pyVar5;\n  }\n  puVar18 = (undefined4 *)PTR_yytext_0002f1b8;\n  puVar1 = PTR_optarg_0002f0c8;\n  pbVar14 = (byte *)pyVar5->yy_buf_pos;\n  pFVar8 = pyVar5->yy_input_file;\n  local_74 = PTR_optarg_0002f0c8;\n  iVar10 = pyVar5->yy_n_chars;\n  *(byte **)PTR_yytext_0002f1b8 = pbVar14;\n  *(FILE **)puVar3 = pFVar8;\n  *(int *)(puVar1 + -0xbe0) = iVar10;\n  *(byte **)(puVar1 + -0xbe4) = pbVar14;\n  bVar6 = *pbVar14;\n  puVar1[-0xbdc] = bVar6;\nLAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;\n  puVar3 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  *pbVar14 = bVar6;\n  iVar10 = *(int *)(puVar1 + -0xbf0);\n  bVar9 = false;\n  pbVar11 = *(byte **)(puVar1 + -0xbf4);\n  pbVar19 = pbVar14;\n  while( true ) {\n    uVar12 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar17 != 0) {\n      bVar9 = true;\n      iVar10 = iVar15;\n      pbVar11 = pbVar19;\n    }\n    while( true ) {\n      iVar16 = (iVar16 + uVar12) * 2;\n      if (*(short *)(puVar3 + iVar16 + -0x3f94) == iVar15) break;\n      iVar15 = (int)*(short *)(puVar3 + iVar15 * 2 + -0x3bbc);\n      if (0xb0 < iVar15) {\n        uVar12 = (uint)(byte)puVar3[uVar12 - 0x38ec];\n      }\n      iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);\n    }\n    iVar15 = (int)*(short *)(puVar3 + iVar16 + -0x3da8);\n    iVar13 = iVar15 * 2;\n    iVar16 = (int)*(short *)(puVar7 + iVar13);\n    pbVar19 = pbVar19 + 1;\n    if (iVar16 == 0xc2) break;\n    bVar6 = *pbVar19;\n    sVar17 = *(short *)(puVar2 + iVar13 + -0x37b8);\n  }\n  if (bVar9) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar11;\n    *(int *)(puVar1 + -0xbf0) = iVar10;\n  }\n  uVar12 = (uint)*(short *)(puVar2 + iVar13 + -0x37b8);\n  if (uVar12 == 0) {\n    pbVar19 = *(byte **)(puVar1 + -0xbf4);\n    uVar12 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }\n  *puVar18 = pbVar14;\n  *(int *)puVar4 = (int)pbVar19 - (int)pbVar14;\n  bVar6 = *pbVar19;\n  *(byte **)(local_74 + -0xbe4) = pbVar19;\n  *pbVar19 = 0;\n  local_74[-0xbdc] = bVar6;\n  if (uVar12 < 0x2b) {\n                    /* WARNING: Could not emulate address calculation at 0x00014238 */\n                    /* WARNING: Treating indirect jump as call */\n    iVar15 = (*(code *)(&_gp + *(int *)(puVar3 + uVar12 * 4 + -0x4040)))();\n    return iVar15;\n  }\n                    /* WARNING: Subroutine does not return */\n  yy_fatal_error(PTR_DAT_0002f0d8 + -0x40ec);\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "YY_BUFFER_STATE pyVar5;" type_identifier identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "FILE *pFVar8;" type_identifier (pointer_declarator "*pFVar8" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "short sVar17;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "undefined *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (expression_statement "puVar2 = PTR_DAT_0002f0d8;" (assignment_expression "puVar2 = PTR_DAT_0002f0d8" identifier = identifier) ;) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "iVar15 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);" (assignment_expression "iVar15 = *(int *)(PTR_optarg_0002f0c8 + -0xbec)" identifier = (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbec)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbec)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbec" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar14 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar17 = *(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x37b8);\n    iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);\n    puVar18 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }" if (parenthesized_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0)" ( (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbe8)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbe8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbe8)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbe8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar14 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar17 = *(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x37b8);\n    iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);\n    puVar18 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }" { (expression_statement "puVar7 = PTR_DAT_0002f0d8 + -0x3a54;" (assignment_expression "puVar7 = PTR_DAT_0002f0d8 + -0x3a54" identifier = (binary_expression "PTR_DAT_0002f0d8 + -0x3a54" identifier + number_literal)) ;) (expression_statement "local_74 = PTR_optarg_0002f0c8;" (assignment_expression "local_74 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "bVar6 = PTR_optarg_0002f0c8[-0xbdc];" (assignment_expression "bVar6 = PTR_optarg_0002f0c8[-0xbdc]" identifier = (subscript_expression "PTR_optarg_0002f0c8[-0xbdc]" identifier [ number_literal ])) ;) (expression_statement "pbVar14 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);" (assignment_expression "pbVar14 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4)" identifier = (pointer_expression "*(byte **)(PTR_optarg_0002f0c8 + -0xbe4)" * (cast_expression "(byte **)(PTR_optarg_0002f0c8 + -0xbe4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbe4)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbe4" identifier + number_literal) ))))) ;) (expression_statement "sVar17 = *(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x37b8);" (assignment_expression "sVar17 = *(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x37b8)" identifier = (pointer_expression "*(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x37b8)" * (cast_expression "(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x37b8)" ( (binary_expression "PTR_DAT_0002f0d8 + iVar15 * 2 + -0x37b8" (binary_expression "PTR_DAT_0002f0d8 + iVar15 * 2" identifier + (binary_expression "iVar15 * 2" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);" (assignment_expression "iVar16 = (int)*(short *)(puVar7 + iVar15 * 2)" identifier = (cast_expression "(int)*(short *)(puVar7 + iVar15 * 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar7 + iVar15 * 2)" * (cast_expression "(short *)(puVar7 + iVar15 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + iVar15 * 2)" ( (binary_expression "puVar7 + iVar15 * 2" identifier + (binary_expression "iVar15 * 2" identifier * number_literal)) )))))) ;) (expression_statement "puVar18 = (undefined4 *)PTR_yytext_0002f1b8;" (assignment_expression "puVar18 = (undefined4 *)PTR_yytext_0002f1b8" identifier = (cast_expression "(undefined4 *)PTR_yytext_0002f1b8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_00014094;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;" (assignment_expression "*(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1" (pointer_expression "*(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8)" * (cast_expression "(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbe8)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbe8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar3 = PTR_yyin_0002f1bc;" (assignment_expression "puVar3 = PTR_yyin_0002f1bc" identifier = identifier) ;) (expression_statement "puVar7 = PTR_DAT_0002f0d8;" (assignment_expression "puVar7 = PTR_DAT_0002f0d8" identifier = identifier) ;) (if_statement "if (iVar15 == 0) {\n    iVar16 = 0;\n    sVar17 = 0;\n    iVar15 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar10 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar16 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x3a54);\n    sVar17 = *(short *)(puVar2 + iVar15 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar10 = *(int *)PTR_yyout_0002f1cc;\n  }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar16 = 0;\n    sVar17 = 0;\n    iVar15 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar10 = *(int *)PTR_yyout_0002f1cc;\n  }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "sVar17 = 0;" (assignment_expression "sVar17 = 0" identifier = number_literal) ;) (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar1 + -0xbec) = 1;" (assignment_expression "*(undefined4 *)(puVar1 + -0xbec) = 1" (pointer_expression "*(undefined4 *)(puVar1 + -0xbec)" * (cast_expression "(undefined4 *)(puVar1 + -0xbec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbec)" ( (binary_expression "puVar1 + -0xbec" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)puVar3 == 0) goto LAB_0001432c;" if (parenthesized_expression "(*(int *)puVar3 == 0)" ( (binary_expression "*(int *)puVar3 == 0" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (goto_statement "goto LAB_0001432c;" goto statement_identifier ;)) (labeled_statement "LAB_00014288:\n    iVar10 = *(int *)PTR_yyout_0002f1cc;" statement_identifier : (expression_statement "iVar10 = *(int *)PTR_yyout_0002f1cc;" (assignment_expression "iVar10 = *(int *)PTR_yyout_0002f1cc" identifier = (pointer_expression "*(int *)PTR_yyout_0002f1cc" * (cast_expression "(int *)PTR_yyout_0002f1cc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) }) (else_clause "else {\n    iVar16 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x3a54);\n    sVar17 = *(short *)(puVar2 + iVar15 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar10 = *(int *)PTR_yyout_0002f1cc;\n  }" else (compound_statement "{\n    iVar16 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x3a54);\n    sVar17 = *(short *)(puVar2 + iVar15 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar10 = *(int *)PTR_yyout_0002f1cc;\n  }" { (expression_statement "iVar16 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x3a54);" (assignment_expression "iVar16 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x3a54)" identifier = (cast_expression "(int)*(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x3a54)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x3a54)" * (cast_expression "(short *)(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x3a54)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002f0d8 + iVar15 * 2 + -0x3a54)" ( (binary_expression "PTR_DAT_0002f0d8 + iVar15 * 2 + -0x3a54" (binary_expression "PTR_DAT_0002f0d8 + iVar15 * 2" identifier + (binary_expression "iVar15 * 2" identifier * number_literal)) + number_literal) )))))) ;) (expression_statement "sVar17 = *(short *)(puVar2 + iVar15 * 2 + -0x37b8);" (assignment_expression "sVar17 = *(short *)(puVar2 + iVar15 * 2 + -0x37b8)" identifier = (pointer_expression "*(short *)(puVar2 + iVar15 * 2 + -0x37b8)" * (cast_expression "(short *)(puVar2 + iVar15 * 2 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + iVar15 * 2 + -0x37b8)" ( (binary_expression "puVar2 + iVar15 * 2 + -0x37b8" (binary_expression "puVar2 + iVar15 * 2" identifier + (binary_expression "iVar15 * 2" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;" if (parenthesized_expression "(*(int *)PTR_yyin_0002f1bc != 0)" ( (binary_expression "*(int *)PTR_yyin_0002f1bc != 0" (pointer_expression "*(int *)PTR_yyin_0002f1bc" * (cast_expression "(int *)PTR_yyin_0002f1bc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (goto_statement "goto LAB_00014288;" goto statement_identifier ;)) (labeled_statement "LAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;" statement_identifier : (expression_statement "*(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;" (assignment_expression "*(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8" (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)PTR_stdin_0002f2d8" * (cast_expression "(undefined4 *)PTR_stdin_0002f2d8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "iVar10 = *(int *)PTR_yyout_0002f1cc;" (assignment_expression "iVar10 = *(int *)PTR_yyout_0002f1cc" identifier = (pointer_expression "*(int *)PTR_yyout_0002f1cc" * (cast_expression "(int *)PTR_yyout_0002f1cc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (if_statement "if (iVar10 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }" { (expression_statement "*(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;" (assignment_expression "*(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8" (pointer_expression "*(undefined4 *)PTR_yyout_0002f1cc" * (cast_expression "(undefined4 *)PTR_yyout_0002f1cc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)PTR_stdout_0002f2b8" * (cast_expression "(undefined4 *)PTR_stdout_0002f2b8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "puVar7 = puVar7 + -0x3a54;" (assignment_expression "puVar7 = puVar7 + -0x3a54" identifier = (binary_expression "puVar7 + -0x3a54" identifier + number_literal)) ;) (if_statement "if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (pyVar5 = *(YY_BUFFER_STATE *)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), pyVar5 == (YY_BUFFER_STATE)0x0)) {\n    yyensure_buffer_stack();\n    iVar10 = *(int *)(puVar1 + -0xbd0);\n    iVar13 = *(int *)(puVar1 + -0xbd8);\n    pyVar5 = yy_create_buffer(*(FILE **)puVar3,0x4000);\n    *(YY_BUFFER_STATE *)(iVar13 + iVar10 * 4) = pyVar5;\n  }" if (parenthesized_expression "((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (pyVar5 = *(YY_BUFFER_STATE *)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), pyVar5 == (YY_BUFFER_STATE)0x0))" ( (binary_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (pyVar5 = *(YY_BUFFER_STATE *)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), pyVar5 == (YY_BUFFER_STATE)0x0)" (parenthesized_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0)" ( (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbd8)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbd8" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(pyVar5 = *(YY_BUFFER_STATE *)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), pyVar5 == (YY_BUFFER_STATE)0x0)" ( (comma_expression "pyVar5 = *(YY_BUFFER_STATE *)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), pyVar5 == (YY_BUFFER_STATE)0x0" (assignment_expression "pyVar5 = *(YY_BUFFER_STATE *)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" identifier = (pointer_expression "*(YY_BUFFER_STATE *)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" * (cast_expression "(YY_BUFFER_STATE *)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" ( (type_descriptor "YY_BUFFER_STATE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" ( (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbd8)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbd8" identifier + number_literal) )))) + (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd0)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbd0)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbd0" identifier + number_literal) )))) * number_literal)) ))))) , (binary_expression "pyVar5 == (YY_BUFFER_STATE)0x0" identifier == (cast_expression "(YY_BUFFER_STATE)0x0" ( (type_descriptor "YY_BUFFER_STATE" type_identifier) ) number_literal))) ))) )) (compound_statement "{\n    yyensure_buffer_stack();\n    iVar10 = *(int *)(puVar1 + -0xbd0);\n    iVar13 = *(int *)(puVar1 + -0xbd8);\n    pyVar5 = yy_create_buffer(*(FILE **)puVar3,0x4000);\n    *(YY_BUFFER_STATE *)(iVar13 + iVar10 * 4) = pyVar5;\n  }" { (expression_statement "yyensure_buffer_stack();" (call_expression "yyensure_buffer_stack()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar10 = *(int *)(puVar1 + -0xbd0);" (assignment_expression "iVar10 = *(int *)(puVar1 + -0xbd0)" identifier = (pointer_expression "*(int *)(puVar1 + -0xbd0)" * (cast_expression "(int *)(puVar1 + -0xbd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbd0)" ( (binary_expression "puVar1 + -0xbd0" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(puVar1 + -0xbd8);" (assignment_expression "iVar13 = *(int *)(puVar1 + -0xbd8)" identifier = (pointer_expression "*(int *)(puVar1 + -0xbd8)" * (cast_expression "(int *)(puVar1 + -0xbd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbd8)" ( (binary_expression "puVar1 + -0xbd8" identifier + number_literal) ))))) ;) (expression_statement "pyVar5 = yy_create_buffer(*(FILE **)puVar3,0x4000);" (assignment_expression "pyVar5 = yy_create_buffer(*(FILE **)puVar3,0x4000)" identifier = (call_expression "yy_create_buffer(*(FILE **)puVar3,0x4000)" identifier (argument_list "(*(FILE **)puVar3,0x4000)" ( (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , number_literal )))) ;) (expression_statement "*(YY_BUFFER_STATE *)(iVar13 + iVar10 * 4) = pyVar5;" (assignment_expression "*(YY_BUFFER_STATE *)(iVar13 + iVar10 * 4) = pyVar5" (pointer_expression "*(YY_BUFFER_STATE *)(iVar13 + iVar10 * 4)" * (cast_expression "(YY_BUFFER_STATE *)(iVar13 + iVar10 * 4)" ( (type_descriptor "YY_BUFFER_STATE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + iVar10 * 4)" ( (binary_expression "iVar13 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) )))) = identifier) ;) })) (expression_statement "puVar18 = (undefined4 *)PTR_yytext_0002f1b8;" (assignment_expression "puVar18 = (undefined4 *)PTR_yytext_0002f1b8" identifier = (cast_expression "(undefined4 *)PTR_yytext_0002f1b8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "pbVar14 = (byte *)pyVar5->yy_buf_pos;" (assignment_expression "pbVar14 = (byte *)pyVar5->yy_buf_pos" identifier = (cast_expression "(byte *)pyVar5->yy_buf_pos" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pyVar5->yy_buf_pos" identifier -> field_identifier))) ;) (expression_statement "pFVar8 = pyVar5->yy_input_file;" (assignment_expression "pFVar8 = pyVar5->yy_input_file" identifier = (field_expression "pyVar5->yy_input_file" identifier -> field_identifier)) ;) (expression_statement "local_74 = PTR_optarg_0002f0c8;" (assignment_expression "local_74 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "iVar10 = pyVar5->yy_n_chars;" (assignment_expression "iVar10 = pyVar5->yy_n_chars" identifier = (field_expression "pyVar5->yy_n_chars" identifier -> field_identifier)) ;) (expression_statement "*(byte **)PTR_yytext_0002f1b8 = pbVar14;" (assignment_expression "*(byte **)PTR_yytext_0002f1b8 = pbVar14" (pointer_expression "*(byte **)PTR_yytext_0002f1b8" * (cast_expression "(byte **)PTR_yytext_0002f1b8" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(FILE **)puVar3 = pFVar8;" (assignment_expression "*(FILE **)puVar3 = pFVar8" (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(int *)(puVar1 + -0xbe0) = iVar10;" (assignment_expression "*(int *)(puVar1 + -0xbe0) = iVar10" (pointer_expression "*(int *)(puVar1 + -0xbe0)" * (cast_expression "(int *)(puVar1 + -0xbe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbe0)" ( (binary_expression "puVar1 + -0xbe0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar1 + -0xbe4) = pbVar14;" (assignment_expression "*(byte **)(puVar1 + -0xbe4) = pbVar14" (pointer_expression "*(byte **)(puVar1 + -0xbe4)" * (cast_expression "(byte **)(puVar1 + -0xbe4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0xbe4)" ( (binary_expression "puVar1 + -0xbe4" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar6 = *pbVar14;" (assignment_expression "bVar6 = *pbVar14" identifier = (pointer_expression "*pbVar14" * identifier)) ;) (expression_statement "puVar1[-0xbdc] = bVar6;" (assignment_expression "puVar1[-0xbdc] = bVar6" (subscript_expression "puVar1[-0xbdc]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;" statement_identifier : (expression_statement "puVar4 = PTR_yyleng_0002f1c8;" (assignment_expression "puVar4 = PTR_yyleng_0002f1c8" identifier = identifier) ;)) (expression_statement "puVar3 = PTR_DAT_0002f0d8;" (assignment_expression "puVar3 = PTR_DAT_0002f0d8" identifier = identifier) ;) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "*pbVar14 = bVar6;" (assignment_expression "*pbVar14 = bVar6" (pointer_expression "*pbVar14" * identifier) = identifier) ;) (expression_statement "iVar10 = *(int *)(puVar1 + -0xbf0);" (assignment_expression "iVar10 = *(int *)(puVar1 + -0xbf0)" identifier = (pointer_expression "*(int *)(puVar1 + -0xbf0)" * (cast_expression "(int *)(puVar1 + -0xbf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbf0)" ( (binary_expression "puVar1 + -0xbf0" identifier + number_literal) ))))) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "pbVar11 = *(byte **)(puVar1 + -0xbf4);" (assignment_expression "pbVar11 = *(byte **)(puVar1 + -0xbf4)" identifier = (pointer_expression "*(byte **)(puVar1 + -0xbf4)" * (cast_expression "(byte **)(puVar1 + -0xbf4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0xbf4)" ( (binary_expression "puVar1 + -0xbf4" identifier + number_literal) ))))) ;) (expression_statement "pbVar19 = pbVar14;" (assignment_expression "pbVar19 = pbVar14" identifier = identifier) ;) (while_statement "while( true ) {\n    uVar12 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar17 != 0) {\n      bVar9 = true;\n      iVar10 = iVar15;\n      pbVar11 = pbVar19;\n    }\n    while( true ) {\n      iVar16 = (iVar16 + uVar12) * 2;\n      if (*(short *)(puVar3 + iVar16 + -0x3f94) == iVar15) break;\n      iVar15 = (int)*(short *)(puVar3 + iVar15 * 2 + -0x3bbc);\n      if (0xb0 < iVar15) {\n        uVar12 = (uint)(byte)puVar3[uVar12 - 0x38ec];\n      }\n      iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);\n    }\n    iVar15 = (int)*(short *)(puVar3 + iVar16 + -0x3da8);\n    iVar13 = iVar15 * 2;\n    iVar16 = (int)*(short *)(puVar7 + iVar13);\n    pbVar19 = pbVar19 + 1;\n    if (iVar16 == 0xc2) break;\n    bVar6 = *pbVar19;\n    sVar17 = *(short *)(puVar2 + iVar13 + -0x37b8);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar12 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar17 != 0) {\n      bVar9 = true;\n      iVar10 = iVar15;\n      pbVar11 = pbVar19;\n    }\n    while( true ) {\n      iVar16 = (iVar16 + uVar12) * 2;\n      if (*(short *)(puVar3 + iVar16 + -0x3f94) == iVar15) break;\n      iVar15 = (int)*(short *)(puVar3 + iVar15 * 2 + -0x3bbc);\n      if (0xb0 < iVar15) {\n        uVar12 = (uint)(byte)puVar3[uVar12 - 0x38ec];\n      }\n      iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);\n    }\n    iVar15 = (int)*(short *)(puVar3 + iVar16 + -0x3da8);\n    iVar13 = iVar15 * 2;\n    iVar16 = (int)*(short *)(puVar7 + iVar13);\n    pbVar19 = pbVar19 + 1;\n    if (iVar16 == 0xc2) break;\n    bVar6 = *pbVar19;\n    sVar17 = *(short *)(puVar2 + iVar13 + -0x37b8);\n  }" { (expression_statement "uVar12 = (uint)(byte)puVar3[bVar6 - 0x38b8];" (assignment_expression "uVar12 = (uint)(byte)puVar3[bVar6 - 0x38b8]" identifier = (cast_expression "(uint)(byte)puVar3[bVar6 - 0x38b8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[bVar6 - 0x38b8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[bVar6 - 0x38b8]" identifier [ (binary_expression "bVar6 - 0x38b8" identifier - number_literal) ])))) ;) (if_statement "if (sVar17 != 0) {\n      bVar9 = true;\n      iVar10 = iVar15;\n      pbVar11 = pbVar19;\n    }" if (parenthesized_expression "(sVar17 != 0)" ( (binary_expression "sVar17 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar9 = true;\n      iVar10 = iVar15;\n      pbVar11 = pbVar19;\n    }" { (expression_statement "bVar9 = true;" (assignment_expression "bVar9 = true" identifier = true) ;) (expression_statement "iVar10 = iVar15;" (assignment_expression "iVar10 = iVar15" identifier = identifier) ;) (expression_statement "pbVar11 = pbVar19;" (assignment_expression "pbVar11 = pbVar19" identifier = identifier) ;) })) (while_statement "while( true ) {\n      iVar16 = (iVar16 + uVar12) * 2;\n      if (*(short *)(puVar3 + iVar16 + -0x3f94) == iVar15) break;\n      iVar15 = (int)*(short *)(puVar3 + iVar15 * 2 + -0x3bbc);\n      if (0xb0 < iVar15) {\n        uVar12 = (uint)(byte)puVar3[uVar12 - 0x38ec];\n      }\n      iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      iVar16 = (iVar16 + uVar12) * 2;\n      if (*(short *)(puVar3 + iVar16 + -0x3f94) == iVar15) break;\n      iVar15 = (int)*(short *)(puVar3 + iVar15 * 2 + -0x3bbc);\n      if (0xb0 < iVar15) {\n        uVar12 = (uint)(byte)puVar3[uVar12 - 0x38ec];\n      }\n      iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);\n    }" { (expression_statement "iVar16 = (iVar16 + uVar12) * 2;" (assignment_expression "iVar16 = (iVar16 + uVar12) * 2" identifier = (binary_expression "(iVar16 + uVar12) * 2" (parenthesized_expression "(iVar16 + uVar12)" ( (binary_expression "iVar16 + uVar12" identifier + identifier) )) * number_literal)) ;) (if_statement "if (*(short *)(puVar3 + iVar16 + -0x3f94) == iVar15) break;" if (parenthesized_expression "(*(short *)(puVar3 + iVar16 + -0x3f94) == iVar15)" ( (binary_expression "*(short *)(puVar3 + iVar16 + -0x3f94) == iVar15" (pointer_expression "*(short *)(puVar3 + iVar16 + -0x3f94)" * (cast_expression "(short *)(puVar3 + iVar16 + -0x3f94)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + iVar16 + -0x3f94)" ( (binary_expression "puVar3 + iVar16 + -0x3f94" (binary_expression "puVar3 + iVar16" identifier + identifier) + number_literal) )))) == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = (int)*(short *)(puVar3 + iVar15 * 2 + -0x3bbc);" (assignment_expression "iVar15 = (int)*(short *)(puVar3 + iVar15 * 2 + -0x3bbc)" identifier = (cast_expression "(int)*(short *)(puVar3 + iVar15 * 2 + -0x3bbc)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar3 + iVar15 * 2 + -0x3bbc)" * (cast_expression "(short *)(puVar3 + iVar15 * 2 + -0x3bbc)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + iVar15 * 2 + -0x3bbc)" ( (binary_expression "puVar3 + iVar15 * 2 + -0x3bbc" (binary_expression "puVar3 + iVar15 * 2" identifier + (binary_expression "iVar15 * 2" identifier * number_literal)) + number_literal) )))))) ;) (if_statement "if (0xb0 < iVar15) {\n        uVar12 = (uint)(byte)puVar3[uVar12 - 0x38ec];\n      }" if (parenthesized_expression "(0xb0 < iVar15)" ( (binary_expression "0xb0 < iVar15" number_literal < identifier) )) (compound_statement "{\n        uVar12 = (uint)(byte)puVar3[uVar12 - 0x38ec];\n      }" { (expression_statement "uVar12 = (uint)(byte)puVar3[uVar12 - 0x38ec];" (assignment_expression "uVar12 = (uint)(byte)puVar3[uVar12 - 0x38ec]" identifier = (cast_expression "(uint)(byte)puVar3[uVar12 - 0x38ec]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[uVar12 - 0x38ec]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[uVar12 - 0x38ec]" identifier [ (binary_expression "uVar12 - 0x38ec" identifier - number_literal) ])))) ;) })) (expression_statement "iVar16 = (int)*(short *)(puVar7 + iVar15 * 2);" (assignment_expression "iVar16 = (int)*(short *)(puVar7 + iVar15 * 2)" identifier = (cast_expression "(int)*(short *)(puVar7 + iVar15 * 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar7 + iVar15 * 2)" * (cast_expression "(short *)(puVar7 + iVar15 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + iVar15 * 2)" ( (binary_expression "puVar7 + iVar15 * 2" identifier + (binary_expression "iVar15 * 2" identifier * number_literal)) )))))) ;) })) (expression_statement "iVar15 = (int)*(short *)(puVar3 + iVar16 + -0x3da8);" (assignment_expression "iVar15 = (int)*(short *)(puVar3 + iVar16 + -0x3da8)" identifier = (cast_expression "(int)*(short *)(puVar3 + iVar16 + -0x3da8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar3 + iVar16 + -0x3da8)" * (cast_expression "(short *)(puVar3 + iVar16 + -0x3da8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + iVar16 + -0x3da8)" ( (binary_expression "puVar3 + iVar16 + -0x3da8" (binary_expression "puVar3 + iVar16" identifier + identifier) + number_literal) )))))) ;) (expression_statement "iVar13 = iVar15 * 2;" (assignment_expression "iVar13 = iVar15 * 2" identifier = (binary_expression "iVar15 * 2" identifier * number_literal)) ;) (expression_statement "iVar16 = (int)*(short *)(puVar7 + iVar13);" (assignment_expression "iVar16 = (int)*(short *)(puVar7 + iVar13)" identifier = (cast_expression "(int)*(short *)(puVar7 + iVar13)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar7 + iVar13)" * (cast_expression "(short *)(puVar7 + iVar13)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + iVar13)" ( (binary_expression "puVar7 + iVar13" identifier + identifier) )))))) ;) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (if_statement "if (iVar16 == 0xc2) break;" if (parenthesized_expression "(iVar16 == 0xc2)" ( (binary_expression "iVar16 == 0xc2" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar6 = *pbVar19;" (assignment_expression "bVar6 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) (expression_statement "sVar17 = *(short *)(puVar2 + iVar13 + -0x37b8);" (assignment_expression "sVar17 = *(short *)(puVar2 + iVar13 + -0x37b8)" identifier = (pointer_expression "*(short *)(puVar2 + iVar13 + -0x37b8)" * (cast_expression "(short *)(puVar2 + iVar13 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + iVar13 + -0x37b8)" ( (binary_expression "puVar2 + iVar13 + -0x37b8" (binary_expression "puVar2 + iVar13" identifier + identifier) + number_literal) ))))) ;) })) (if_statement "if (bVar9) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar11;\n    *(int *)(puVar1 + -0xbf0) = iVar10;\n  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n    *(byte **)(puVar1 + -0xbf4) = pbVar11;\n    *(int *)(puVar1 + -0xbf0) = iVar10;\n  }" { (expression_statement "*(byte **)(puVar1 + -0xbf4) = pbVar11;" (assignment_expression "*(byte **)(puVar1 + -0xbf4) = pbVar11" (pointer_expression "*(byte **)(puVar1 + -0xbf4)" * (cast_expression "(byte **)(puVar1 + -0xbf4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0xbf4)" ( (binary_expression "puVar1 + -0xbf4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar1 + -0xbf0) = iVar10;" (assignment_expression "*(int *)(puVar1 + -0xbf0) = iVar10" (pointer_expression "*(int *)(puVar1 + -0xbf0)" * (cast_expression "(int *)(puVar1 + -0xbf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbf0)" ( (binary_expression "puVar1 + -0xbf0" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "uVar12 = (uint)*(short *)(puVar2 + iVar13 + -0x37b8);" (assignment_expression "uVar12 = (uint)*(short *)(puVar2 + iVar13 + -0x37b8)" identifier = (binary_expression "(uint)*(short *)(puVar2 + iVar13 + -0x37b8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(short *)(puVar2 + iVar13 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + iVar13 + -0x37b8)" ( (binary_expression "puVar2 + iVar13 + -0x37b8" (binary_expression "puVar2 + iVar13" identifier + identifier) + number_literal) ))))) ;) (if_statement "if (uVar12 == 0) {\n    pbVar19 = *(byte **)(puVar1 + -0xbf4);\n    uVar12 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (compound_statement "{\n    pbVar19 = *(byte **)(puVar1 + -0xbf4);\n    uVar12 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }" { (expression_statement "pbVar19 = *(byte **)(puVar1 + -0xbf4);" (assignment_expression "pbVar19 = *(byte **)(puVar1 + -0xbf4)" identifier = (pointer_expression "*(byte **)(puVar1 + -0xbf4)" * (cast_expression "(byte **)(puVar1 + -0xbf4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0xbf4)" ( (binary_expression "puVar1 + -0xbf4" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);" (assignment_expression "uVar12 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" identifier = (binary_expression "(uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" ( (binary_expression "puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8" (binary_expression "puVar2 + *(int *)(puVar1 + -0xbf0) * 2" identifier + (binary_expression "*(int *)(puVar1 + -0xbf0) * 2" (pointer_expression "*(int *)(puVar1 + -0xbf0)" * (cast_expression "(int *)(puVar1 + -0xbf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbf0)" ( (binary_expression "puVar1 + -0xbf0" identifier + number_literal) )))) * number_literal)) + number_literal) ))))) ;) })) (expression_statement "*puVar18 = pbVar14;" (assignment_expression "*puVar18 = pbVar14" (pointer_expression "*puVar18" * identifier) = identifier) ;) (expression_statement "*(int *)puVar4 = (int)pbVar19 - (int)pbVar14;" (assignment_expression "*(int *)puVar4 = (int)pbVar19 - (int)pbVar14" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(int)pbVar19 - (int)pbVar14" (cast_expression "(int)pbVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "bVar6 = *pbVar19;" (assignment_expression "bVar6 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) (expression_statement "*(byte **)(local_74 + -0xbe4) = pbVar19;" (assignment_expression "*(byte **)(local_74 + -0xbe4) = pbVar19" (pointer_expression "*(byte **)(local_74 + -0xbe4)" * (cast_expression "(byte **)(local_74 + -0xbe4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_74 + -0xbe4)" ( (binary_expression "local_74 + -0xbe4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*pbVar19 = 0;" (assignment_expression "*pbVar19 = 0" (pointer_expression "*pbVar19" * identifier) = number_literal) ;) (expression_statement "local_74[-0xbdc] = bVar6;" (assignment_expression "local_74[-0xbdc] = bVar6" (subscript_expression "local_74[-0xbdc]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (uVar12 < 0x2b) {\n                    /* WARNING: Could not emulate address calculation at 0x00014238 */\n                    /* WARNING: Treating indirect jump as call */\n    iVar15 = (*(code *)(&_gp + *(int *)(puVar3 + uVar12 * 4 + -0x4040)))();\n    return iVar15;\n  }" if (parenthesized_expression "(uVar12 < 0x2b)" ( (binary_expression "uVar12 < 0x2b" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x00014238 */\n                    /* WARNING: Treating indirect jump as call */\n    iVar15 = (*(code *)(&_gp + *(int *)(puVar3 + uVar12 * 4 + -0x4040)))();\n    return iVar15;\n  }" { comment comment (expression_statement "iVar15 = (*(code *)(&_gp + *(int *)(puVar3 + uVar12 * 4 + -0x4040)))();" (assignment_expression "iVar15 = (*(code *)(&_gp + *(int *)(puVar3 + uVar12 * 4 + -0x4040)))()" identifier = (call_expression "(*(code *)(&_gp + *(int *)(puVar3 + uVar12 * 4 + -0x4040)))()" (parenthesized_expression "(*(code *)(&_gp + *(int *)(puVar3 + uVar12 * 4 + -0x4040)))" ( (pointer_expression "*(code *)(&_gp + *(int *)(puVar3 + uVar12 * 4 + -0x4040))" * (cast_expression "(code *)(&_gp + *(int *)(puVar3 + uVar12 * 4 + -0x4040))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp + *(int *)(puVar3 + uVar12 * 4 + -0x4040))" ( (binary_expression "&_gp + *(int *)(puVar3 + uVar12 * 4 + -0x4040)" (pointer_expression "&_gp" & identifier) + (pointer_expression "*(int *)(puVar3 + uVar12 * 4 + -0x4040)" * (cast_expression "(int *)(puVar3 + uVar12 * 4 + -0x4040)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + uVar12 * 4 + -0x4040)" ( (binary_expression "puVar3 + uVar12 * 4 + -0x4040" (binary_expression "puVar3 + uVar12 * 4" identifier + (binary_expression "uVar12 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar15;" return identifier ;) })) comment (expression_statement "yy_fatal_error(PTR_DAT_0002f0d8 + -0x40ec);" (call_expression "yy_fatal_error(PTR_DAT_0002f0d8 + -0x40ec)" identifier (argument_list "(PTR_DAT_0002f0d8 + -0x40ec)" ( (binary_expression "PTR_DAT_0002f0d8 + -0x40ec" identifier + number_literal) ))) ;) })))
(translation_unit "void yylex(void)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  byte bVar6;\n  undefined4 *puVar5;\n  undefined *puVar7;\n  undefined4 uVar8;\n  bool bVar10;\n  undefined4 uVar9;\n  int iVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  int iVar17;\n  short sVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  undefined *local_74;\n  \n  puVar2 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);\n  if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);\n    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }\n  *(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;\n  puVar3 = PTR_yyin_0002f1bc;\n  puVar7 = PTR_DAT_0002f0d8;\n  if (iVar16 == 0) {\n    iVar17 = 0;\n    sVar18 = 0;\n    iVar16 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  if (iVar11 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }\n  puVar1 = PTR_optarg_0002f0c8;\n  puVar7 = puVar7 + -0x3a54;\n  if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)) {\n    FUN_000139cc();\n    iVar11 = *(int *)(puVar1 + -0xbd0);\n    iVar14 = *(int *)(puVar1 + -0xbd8);\n    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);\n    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;\n  }\n  puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n  puVar1 = PTR_optarg_0002f0c8;\n  pbVar15 = (byte *)puVar5[2];\n  uVar9 = *puVar5;\n  local_74 = PTR_optarg_0002f0c8;\n  uVar8 = puVar5[4];\n  *(byte **)PTR_yytext_0002f1b8 = pbVar15;\n  *(undefined4 *)puVar3 = uVar9;\n  *(undefined4 *)(puVar1 + -0xbe0) = uVar8;\n  *(byte **)(puVar1 + -0xbe4) = pbVar15;\n  bVar6 = *pbVar15;\n  puVar1[-0xbdc] = bVar6;\nLAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;\n  puVar3 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  *pbVar15 = bVar6;\n  iVar11 = *(int *)(puVar1 + -0xbf0);\n  bVar10 = false;\n  pbVar12 = *(byte **)(puVar1 + -0xbf4);\n  pbVar20 = pbVar15;\n  while( true ) {\n    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }\n    while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }\n    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);\n    iVar14 = iVar16 * 2;\n    iVar17 = (int)*(short *)(puVar7 + iVar14);\n    pbVar20 = pbVar20 + 1;\n    if (iVar17 == 0xc2) break;\n    bVar6 = *pbVar20;\n    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);\n  }\n  if (bVar10) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar12;\n    *(int *)(puVar1 + -0xbf0) = iVar11;\n  }\n  uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8);\n  if (uVar13 == 0) {\n    pbVar20 = *(byte **)(puVar1 + -0xbf4);\n    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }\n  *puVar19 = pbVar15;\n  *(int *)puVar4 = (int)pbVar20 - (int)pbVar15;\n  bVar6 = *pbVar20;\n  *(byte **)(local_74 + -0xbe4) = pbVar20;\n  *pbVar20 = 0;\n  local_74[-0xbdc] = bVar6;\n  if (uVar13 < 0x2b) {\n                    \n                    \n    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();\n    return;\n  }\n                    \n  FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec);\n}\n\n" (function_definition "void yylex(void)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  byte bVar6;\n  undefined4 *puVar5;\n  undefined *puVar7;\n  undefined4 uVar8;\n  bool bVar10;\n  undefined4 uVar9;\n  int iVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  int iVar17;\n  short sVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  undefined *local_74;\n  \n  puVar2 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);\n  if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);\n    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }\n  *(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;\n  puVar3 = PTR_yyin_0002f1bc;\n  puVar7 = PTR_DAT_0002f0d8;\n  if (iVar16 == 0) {\n    iVar17 = 0;\n    sVar18 = 0;\n    iVar16 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  if (iVar11 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }\n  puVar1 = PTR_optarg_0002f0c8;\n  puVar7 = puVar7 + -0x3a54;\n  if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)) {\n    FUN_000139cc();\n    iVar11 = *(int *)(puVar1 + -0xbd0);\n    iVar14 = *(int *)(puVar1 + -0xbd8);\n    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);\n    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;\n  }\n  puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n  puVar1 = PTR_optarg_0002f0c8;\n  pbVar15 = (byte *)puVar5[2];\n  uVar9 = *puVar5;\n  local_74 = PTR_optarg_0002f0c8;\n  uVar8 = puVar5[4];\n  *(byte **)PTR_yytext_0002f1b8 = pbVar15;\n  *(undefined4 *)puVar3 = uVar9;\n  *(undefined4 *)(puVar1 + -0xbe0) = uVar8;\n  *(byte **)(puVar1 + -0xbe4) = pbVar15;\n  bVar6 = *pbVar15;\n  puVar1[-0xbdc] = bVar6;\nLAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;\n  puVar3 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  *pbVar15 = bVar6;\n  iVar11 = *(int *)(puVar1 + -0xbf0);\n  bVar10 = false;\n  pbVar12 = *(byte **)(puVar1 + -0xbf4);\n  pbVar20 = pbVar15;\n  while( true ) {\n    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }\n    while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }\n    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);\n    iVar14 = iVar16 * 2;\n    iVar17 = (int)*(short *)(puVar7 + iVar14);\n    pbVar20 = pbVar20 + 1;\n    if (iVar17 == 0xc2) break;\n    bVar6 = *pbVar20;\n    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);\n  }\n  if (bVar10) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar12;\n    *(int *)(puVar1 + -0xbf0) = iVar11;\n  }\n  uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8);\n  if (uVar13 == 0) {\n    pbVar20 = *(byte **)(puVar1 + -0xbf4);\n    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }\n  *puVar19 = pbVar15;\n  *(int *)puVar4 = (int)pbVar20 - (int)pbVar15;\n  bVar6 = *pbVar20;\n  *(byte **)(local_74 + -0xbe4) = pbVar20;\n  *pbVar20 = 0;\n  local_74[-0xbdc] = bVar6;\n  if (uVar13 < 0x2b) {\n                    \n                    \n    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();\n    return;\n  }\n                    \n  FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec);\n}" primitive_type (function_declarator "yylex(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  byte bVar6;\n  undefined4 *puVar5;\n  undefined *puVar7;\n  undefined4 uVar8;\n  bool bVar10;\n  undefined4 uVar9;\n  int iVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  int iVar17;\n  short sVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  undefined *local_74;\n  \n  puVar2 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);\n  if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);\n    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }\n  *(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;\n  puVar3 = PTR_yyin_0002f1bc;\n  puVar7 = PTR_DAT_0002f0d8;\n  if (iVar16 == 0) {\n    iVar17 = 0;\n    sVar18 = 0;\n    iVar16 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  if (iVar11 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }\n  puVar1 = PTR_optarg_0002f0c8;\n  puVar7 = puVar7 + -0x3a54;\n  if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)) {\n    FUN_000139cc();\n    iVar11 = *(int *)(puVar1 + -0xbd0);\n    iVar14 = *(int *)(puVar1 + -0xbd8);\n    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);\n    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;\n  }\n  puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n  puVar1 = PTR_optarg_0002f0c8;\n  pbVar15 = (byte *)puVar5[2];\n  uVar9 = *puVar5;\n  local_74 = PTR_optarg_0002f0c8;\n  uVar8 = puVar5[4];\n  *(byte **)PTR_yytext_0002f1b8 = pbVar15;\n  *(undefined4 *)puVar3 = uVar9;\n  *(undefined4 *)(puVar1 + -0xbe0) = uVar8;\n  *(byte **)(puVar1 + -0xbe4) = pbVar15;\n  bVar6 = *pbVar15;\n  puVar1[-0xbdc] = bVar6;\nLAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;\n  puVar3 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  *pbVar15 = bVar6;\n  iVar11 = *(int *)(puVar1 + -0xbf0);\n  bVar10 = false;\n  pbVar12 = *(byte **)(puVar1 + -0xbf4);\n  pbVar20 = pbVar15;\n  while( true ) {\n    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }\n    while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }\n    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);\n    iVar14 = iVar16 * 2;\n    iVar17 = (int)*(short *)(puVar7 + iVar14);\n    pbVar20 = pbVar20 + 1;\n    if (iVar17 == 0xc2) break;\n    bVar6 = *pbVar20;\n    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);\n  }\n  if (bVar10) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar12;\n    *(int *)(puVar1 + -0xbf0) = iVar11;\n  }\n  uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8);\n  if (uVar13 == 0) {\n    pbVar20 = *(byte **)(puVar1 + -0xbf4);\n    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }\n  *puVar19 = pbVar15;\n  *(int *)puVar4 = (int)pbVar20 - (int)pbVar15;\n  bVar6 = *pbVar20;\n  *(byte **)(local_74 + -0xbe4) = pbVar20;\n  *pbVar20 = 0;\n  local_74[-0xbdc] = bVar6;\n  if (uVar13 < 0x2b) {\n                    \n                    \n    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();\n    return;\n  }\n                    \n  FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec);\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "short sVar18;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "undefined *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (expression_statement "puVar2 = PTR_DAT_0002f0d8;" (assignment_expression "puVar2 = PTR_DAT_0002f0d8" identifier = identifier) ;) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);" (assignment_expression "iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec)" identifier = (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbec)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbec)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbec" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);\n    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }" if (parenthesized_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0)" ( (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbe8)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbe8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbe8)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbe8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);\n    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }" { (expression_statement "puVar7 = PTR_DAT_0002f0d8 + -0x3a54;" (assignment_expression "puVar7 = PTR_DAT_0002f0d8 + -0x3a54" identifier = (binary_expression "PTR_DAT_0002f0d8 + -0x3a54" identifier + number_literal)) ;) (expression_statement "local_74 = PTR_optarg_0002f0c8;" (assignment_expression "local_74 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "bVar6 = PTR_optarg_0002f0c8[-0xbdc];" (assignment_expression "bVar6 = PTR_optarg_0002f0c8[-0xbdc]" identifier = (subscript_expression "PTR_optarg_0002f0c8[-0xbdc]" identifier [ number_literal ])) ;) (expression_statement "pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);" (assignment_expression "pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4)" identifier = (pointer_expression "*(byte **)(PTR_optarg_0002f0c8 + -0xbe4)" * (cast_expression "(byte **)(PTR_optarg_0002f0c8 + -0xbe4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbe4)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbe4" identifier + number_literal) ))))) ;) (expression_statement "sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);" (assignment_expression "sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8)" identifier = (pointer_expression "*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8)" * (cast_expression "(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8)" ( (binary_expression "PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8" (binary_expression "PTR_DAT_0002f0d8 + iVar16 * 2" identifier + (binary_expression "iVar16 * 2" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);" (assignment_expression "iVar17 = (int)*(short *)(puVar7 + iVar16 * 2)" identifier = (cast_expression "(int)*(short *)(puVar7 + iVar16 * 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar7 + iVar16 * 2)" * (cast_expression "(short *)(puVar7 + iVar16 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + iVar16 * 2)" ( (binary_expression "puVar7 + iVar16 * 2" identifier + (binary_expression "iVar16 * 2" identifier * number_literal)) )))))) ;) (expression_statement "puVar19 = (undefined4 *)PTR_yytext_0002f1b8;" (assignment_expression "puVar19 = (undefined4 *)PTR_yytext_0002f1b8" identifier = (cast_expression "(undefined4 *)PTR_yytext_0002f1b8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_00014094;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;" (assignment_expression "*(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1" (pointer_expression "*(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8)" * (cast_expression "(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbe8)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbe8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar3 = PTR_yyin_0002f1bc;" (assignment_expression "puVar3 = PTR_yyin_0002f1bc" identifier = identifier) ;) (expression_statement "puVar7 = PTR_DAT_0002f0d8;" (assignment_expression "puVar7 = PTR_DAT_0002f0d8" identifier = identifier) ;) (if_statement "if (iVar16 == 0) {\n    iVar17 = 0;\n    sVar18 = 0;\n    iVar16 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar17 = 0;\n    sVar18 = 0;\n    iVar16 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }" { (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "sVar18 = 0;" (assignment_expression "sVar18 = 0" identifier = number_literal) ;) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar1 + -0xbec) = 1;" (assignment_expression "*(undefined4 *)(puVar1 + -0xbec) = 1" (pointer_expression "*(undefined4 *)(puVar1 + -0xbec)" * (cast_expression "(undefined4 *)(puVar1 + -0xbec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbec)" ( (binary_expression "puVar1 + -0xbec" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)puVar3 == 0) goto LAB_0001432c;" if (parenthesized_expression "(*(int *)puVar3 == 0)" ( (binary_expression "*(int *)puVar3 == 0" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (goto_statement "goto LAB_0001432c;" goto statement_identifier ;)) (labeled_statement "LAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;" statement_identifier : (expression_statement "iVar11 = *(int *)PTR_yyout_0002f1cc;" (assignment_expression "iVar11 = *(int *)PTR_yyout_0002f1cc" identifier = (pointer_expression "*(int *)PTR_yyout_0002f1cc" * (cast_expression "(int *)PTR_yyout_0002f1cc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) }) (else_clause "else {\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }" else (compound_statement "{\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }" { (expression_statement "iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);" (assignment_expression "iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" identifier = (cast_expression "(int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" * (cast_expression "(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" ( (binary_expression "PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54" (binary_expression "PTR_DAT_0002f0d8 + iVar16 * 2" identifier + (binary_expression "iVar16 * 2" identifier * number_literal)) + number_literal) )))))) ;) (expression_statement "sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);" (assignment_expression "sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8)" identifier = (pointer_expression "*(short *)(puVar2 + iVar16 * 2 + -0x37b8)" * (cast_expression "(short *)(puVar2 + iVar16 * 2 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + iVar16 * 2 + -0x37b8)" ( (binary_expression "puVar2 + iVar16 * 2 + -0x37b8" (binary_expression "puVar2 + iVar16 * 2" identifier + (binary_expression "iVar16 * 2" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;" if (parenthesized_expression "(*(int *)PTR_yyin_0002f1bc != 0)" ( (binary_expression "*(int *)PTR_yyin_0002f1bc != 0" (pointer_expression "*(int *)PTR_yyin_0002f1bc" * (cast_expression "(int *)PTR_yyin_0002f1bc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (goto_statement "goto LAB_00014288;" goto statement_identifier ;)) (labeled_statement "LAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;" statement_identifier : (expression_statement "*(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;" (assignment_expression "*(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8" (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)PTR_stdin_0002f2d8" * (cast_expression "(undefined4 *)PTR_stdin_0002f2d8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "iVar11 = *(int *)PTR_yyout_0002f1cc;" (assignment_expression "iVar11 = *(int *)PTR_yyout_0002f1cc" identifier = (pointer_expression "*(int *)PTR_yyout_0002f1cc" * (cast_expression "(int *)PTR_yyout_0002f1cc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (if_statement "if (iVar11 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }" { (expression_statement "*(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;" (assignment_expression "*(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8" (pointer_expression "*(undefined4 *)PTR_yyout_0002f1cc" * (cast_expression "(undefined4 *)PTR_yyout_0002f1cc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)PTR_stdout_0002f2b8" * (cast_expression "(undefined4 *)PTR_stdout_0002f2b8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "puVar7 = puVar7 + -0x3a54;" (assignment_expression "puVar7 = puVar7 + -0x3a54" identifier = (binary_expression "puVar7 + -0x3a54" identifier + number_literal)) ;) (if_statement "if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)) {\n    FUN_000139cc();\n    iVar11 = *(int *)(puVar1 + -0xbd0);\n    iVar14 = *(int *)(puVar1 + -0xbd8);\n    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);\n    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;\n  }" if (parenthesized_expression "((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0))" ( (binary_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)" (parenthesized_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0)" ( (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbd8)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbd8" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)" ( (comma_expression "puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0" (assignment_expression "puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" identifier = (pointer_expression "*(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" * (cast_expression "(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" ( (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbd8)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbd8" identifier + number_literal) )))) + (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd0)" * (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbd0)" ( (binary_expression "PTR_optarg_0002f0c8 + -0xbd0" identifier + number_literal) )))) * number_literal)) ))))) , (binary_expression "puVar5 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    FUN_000139cc();\n    iVar11 = *(int *)(puVar1 + -0xbd0);\n    iVar14 = *(int *)(puVar1 + -0xbd8);\n    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);\n    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;\n  }" { (expression_statement "FUN_000139cc();" (call_expression "FUN_000139cc()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = *(int *)(puVar1 + -0xbd0);" (assignment_expression "iVar11 = *(int *)(puVar1 + -0xbd0)" identifier = (pointer_expression "*(int *)(puVar1 + -0xbd0)" * (cast_expression "(int *)(puVar1 + -0xbd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbd0)" ( (binary_expression "puVar1 + -0xbd0" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(puVar1 + -0xbd8);" (assignment_expression "iVar14 = *(int *)(puVar1 + -0xbd8)" identifier = (pointer_expression "*(int *)(puVar1 + -0xbd8)" * (cast_expression "(int *)(puVar1 + -0xbd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbd8)" ( (binary_expression "puVar1 + -0xbd8" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);" (assignment_expression "puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000)" identifier = (cast_expression "(undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "yy_create_buffer(*(undefined4 *)puVar3,0x4000)" identifier (argument_list "(*(undefined4 *)puVar3,0x4000)" ( (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))))) ;) (expression_statement "*(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;" (assignment_expression "*(undefined4 **)(iVar14 + iVar11 * 4) = puVar5" (pointer_expression "*(undefined4 **)(iVar14 + iVar11 * 4)" * (cast_expression "(undefined4 **)(iVar14 + iVar11 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + iVar11 * 4)" ( (binary_expression "iVar14 + iVar11 * 4" identifier + (binary_expression "iVar11 * 4" identifier * number_literal)) )))) = identifier) ;) })) (expression_statement "puVar19 = (undefined4 *)PTR_yytext_0002f1b8;" (assignment_expression "puVar19 = (undefined4 *)PTR_yytext_0002f1b8" identifier = (cast_expression "(undefined4 *)PTR_yytext_0002f1b8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "pbVar15 = (byte *)puVar5[2];" (assignment_expression "pbVar15 = (byte *)puVar5[2]" identifier = (cast_expression "(byte *)puVar5[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar9 = *puVar5;" (assignment_expression "uVar9 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) ;) (expression_statement "local_74 = PTR_optarg_0002f0c8;" (assignment_expression "local_74 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "uVar8 = puVar5[4];" (assignment_expression "uVar8 = puVar5[4]" identifier = (subscript_expression "puVar5[4]" identifier [ number_literal ])) ;) (expression_statement "*(byte **)PTR_yytext_0002f1b8 = pbVar15;" (assignment_expression "*(byte **)PTR_yytext_0002f1b8 = pbVar15" (pointer_expression "*(byte **)PTR_yytext_0002f1b8" * (cast_expression "(byte **)PTR_yytext_0002f1b8" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)puVar3 = uVar9;" (assignment_expression "*(undefined4 *)puVar3 = uVar9" (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)(puVar1 + -0xbe0) = uVar8;" (assignment_expression "*(undefined4 *)(puVar1 + -0xbe0) = uVar8" (pointer_expression "*(undefined4 *)(puVar1 + -0xbe0)" * (cast_expression "(undefined4 *)(puVar1 + -0xbe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbe0)" ( (binary_expression "puVar1 + -0xbe0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar1 + -0xbe4) = pbVar15;" (assignment_expression "*(byte **)(puVar1 + -0xbe4) = pbVar15" (pointer_expression "*(byte **)(puVar1 + -0xbe4)" * (cast_expression "(byte **)(puVar1 + -0xbe4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0xbe4)" ( (binary_expression "puVar1 + -0xbe4" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar6 = *pbVar15;" (assignment_expression "bVar6 = *pbVar15" identifier = (pointer_expression "*pbVar15" * identifier)) ;) (expression_statement "puVar1[-0xbdc] = bVar6;" (assignment_expression "puVar1[-0xbdc] = bVar6" (subscript_expression "puVar1[-0xbdc]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;" statement_identifier : (expression_statement "puVar4 = PTR_yyleng_0002f1c8;" (assignment_expression "puVar4 = PTR_yyleng_0002f1c8" identifier = identifier) ;)) (expression_statement "puVar3 = PTR_DAT_0002f0d8;" (assignment_expression "puVar3 = PTR_DAT_0002f0d8" identifier = identifier) ;) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" identifier = identifier) ;) (expression_statement "*pbVar15 = bVar6;" (assignment_expression "*pbVar15 = bVar6" (pointer_expression "*pbVar15" * identifier) = identifier) ;) (expression_statement "iVar11 = *(int *)(puVar1 + -0xbf0);" (assignment_expression "iVar11 = *(int *)(puVar1 + -0xbf0)" identifier = (pointer_expression "*(int *)(puVar1 + -0xbf0)" * (cast_expression "(int *)(puVar1 + -0xbf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbf0)" ( (binary_expression "puVar1 + -0xbf0" identifier + number_literal) ))))) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "pbVar12 = *(byte **)(puVar1 + -0xbf4);" (assignment_expression "pbVar12 = *(byte **)(puVar1 + -0xbf4)" identifier = (pointer_expression "*(byte **)(puVar1 + -0xbf4)" * (cast_expression "(byte **)(puVar1 + -0xbf4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0xbf4)" ( (binary_expression "puVar1 + -0xbf4" identifier + number_literal) ))))) ;) (expression_statement "pbVar20 = pbVar15;" (assignment_expression "pbVar20 = pbVar15" identifier = identifier) ;) (while_statement "while( true ) {\n    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }\n    while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }\n    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);\n    iVar14 = iVar16 * 2;\n    iVar17 = (int)*(short *)(puVar7 + iVar14);\n    pbVar20 = pbVar20 + 1;\n    if (iVar17 == 0xc2) break;\n    bVar6 = *pbVar20;\n    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }\n    while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }\n    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);\n    iVar14 = iVar16 * 2;\n    iVar17 = (int)*(short *)(puVar7 + iVar14);\n    pbVar20 = pbVar20 + 1;\n    if (iVar17 == 0xc2) break;\n    bVar6 = *pbVar20;\n    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);\n  }" { (expression_statement "uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];" (assignment_expression "uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8]" identifier = (cast_expression "(uint)(byte)puVar3[bVar6 - 0x38b8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[bVar6 - 0x38b8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[bVar6 - 0x38b8]" identifier [ (binary_expression "bVar6 - 0x38b8" identifier - number_literal) ])))) ;) (if_statement "if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }" if (parenthesized_expression "(sVar18 != 0)" ( (binary_expression "sVar18 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }" { (expression_statement "bVar10 = true;" (assignment_expression "bVar10 = true" identifier = true) ;) (expression_statement "iVar11 = iVar16;" (assignment_expression "iVar11 = iVar16" identifier = identifier) ;) (expression_statement "pbVar12 = pbVar20;" (assignment_expression "pbVar12 = pbVar20" identifier = identifier) ;) })) (while_statement "while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }" { (expression_statement "iVar17 = (iVar17 + uVar13) * 2;" (assignment_expression "iVar17 = (iVar17 + uVar13) * 2" identifier = (binary_expression "(iVar17 + uVar13) * 2" (parenthesized_expression "(iVar17 + uVar13)" ( (binary_expression "iVar17 + uVar13" identifier + identifier) )) * number_literal)) ;) (if_statement "if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;" if (parenthesized_expression "(*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16)" ( (binary_expression "*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16" (pointer_expression "*(short *)(puVar3 + iVar17 + -0x3f94)" * (cast_expression "(short *)(puVar3 + iVar17 + -0x3f94)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + iVar17 + -0x3f94)" ( (binary_expression "puVar3 + iVar17 + -0x3f94" (binary_expression "puVar3 + iVar17" identifier + identifier) + number_literal) )))) == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);" (assignment_expression "iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc)" identifier = (cast_expression "(int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar3 + iVar16 * 2 + -0x3bbc)" * (cast_expression "(short *)(puVar3 + iVar16 * 2 + -0x3bbc)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + iVar16 * 2 + -0x3bbc)" ( (binary_expression "puVar3 + iVar16 * 2 + -0x3bbc" (binary_expression "puVar3 + iVar16 * 2" identifier + (binary_expression "iVar16 * 2" identifier * number_literal)) + number_literal) )))))) ;) (if_statement "if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }" if (parenthesized_expression "(0xb0 < iVar16)" ( (binary_expression "0xb0 < iVar16" number_literal < identifier) )) (compound_statement "{\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }" { (expression_statement "uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];" (assignment_expression "uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec]" identifier = (cast_expression "(uint)(byte)puVar3[uVar13 - 0x38ec]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar3[uVar13 - 0x38ec]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar3[uVar13 - 0x38ec]" identifier [ (binary_expression "uVar13 - 0x38ec" identifier - number_literal) ])))) ;) })) (expression_statement "iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);" (assignment_expression "iVar17 = (int)*(short *)(puVar7 + iVar16 * 2)" identifier = (cast_expression "(int)*(short *)(puVar7 + iVar16 * 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar7 + iVar16 * 2)" * (cast_expression "(short *)(puVar7 + iVar16 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + iVar16 * 2)" ( (binary_expression "puVar7 + iVar16 * 2" identifier + (binary_expression "iVar16 * 2" identifier * number_literal)) )))))) ;) })) (expression_statement "iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);" (assignment_expression "iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8)" identifier = (cast_expression "(int)*(short *)(puVar3 + iVar17 + -0x3da8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar3 + iVar17 + -0x3da8)" * (cast_expression "(short *)(puVar3 + iVar17 + -0x3da8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + iVar17 + -0x3da8)" ( (binary_expression "puVar3 + iVar17 + -0x3da8" (binary_expression "puVar3 + iVar17" identifier + identifier) + number_literal) )))))) ;) (expression_statement "iVar14 = iVar16 * 2;" (assignment_expression "iVar14 = iVar16 * 2" identifier = (binary_expression "iVar16 * 2" identifier * number_literal)) ;) (expression_statement "iVar17 = (int)*(short *)(puVar7 + iVar14);" (assignment_expression "iVar17 = (int)*(short *)(puVar7 + iVar14)" identifier = (cast_expression "(int)*(short *)(puVar7 + iVar14)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(puVar7 + iVar14)" * (cast_expression "(short *)(puVar7 + iVar14)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + iVar14)" ( (binary_expression "puVar7 + iVar14" identifier + identifier) )))))) ;) (expression_statement "pbVar20 = pbVar20 + 1;" (assignment_expression "pbVar20 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;) (if_statement "if (iVar17 == 0xc2) break;" if (parenthesized_expression "(iVar17 == 0xc2)" ( (binary_expression "iVar17 == 0xc2" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar6 = *pbVar20;" (assignment_expression "bVar6 = *pbVar20" identifier = (pointer_expression "*pbVar20" * identifier)) ;) (expression_statement "sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);" (assignment_expression "sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8)" identifier = (pointer_expression "*(short *)(puVar2 + iVar14 + -0x37b8)" * (cast_expression "(short *)(puVar2 + iVar14 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + iVar14 + -0x37b8)" ( (binary_expression "puVar2 + iVar14 + -0x37b8" (binary_expression "puVar2 + iVar14" identifier + identifier) + number_literal) ))))) ;) })) (if_statement "if (bVar10) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar12;\n    *(int *)(puVar1 + -0xbf0) = iVar11;\n  }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n    *(byte **)(puVar1 + -0xbf4) = pbVar12;\n    *(int *)(puVar1 + -0xbf0) = iVar11;\n  }" { (expression_statement "*(byte **)(puVar1 + -0xbf4) = pbVar12;" (assignment_expression "*(byte **)(puVar1 + -0xbf4) = pbVar12" (pointer_expression "*(byte **)(puVar1 + -0xbf4)" * (cast_expression "(byte **)(puVar1 + -0xbf4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0xbf4)" ( (binary_expression "puVar1 + -0xbf4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar1 + -0xbf0) = iVar11;" (assignment_expression "*(int *)(puVar1 + -0xbf0) = iVar11" (pointer_expression "*(int *)(puVar1 + -0xbf0)" * (cast_expression "(int *)(puVar1 + -0xbf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbf0)" ( (binary_expression "puVar1 + -0xbf0" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8);" (assignment_expression "uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8)" identifier = (binary_expression "(uint)*(short *)(puVar2 + iVar14 + -0x37b8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(short *)(puVar2 + iVar14 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + iVar14 + -0x37b8)" ( (binary_expression "puVar2 + iVar14 + -0x37b8" (binary_expression "puVar2 + iVar14" identifier + identifier) + number_literal) ))))) ;) (if_statement "if (uVar13 == 0) {\n    pbVar20 = *(byte **)(puVar1 + -0xbf4);\n    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }" if (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) (compound_statement "{\n    pbVar20 = *(byte **)(puVar1 + -0xbf4);\n    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }" { (expression_statement "pbVar20 = *(byte **)(puVar1 + -0xbf4);" (assignment_expression "pbVar20 = *(byte **)(puVar1 + -0xbf4)" identifier = (pointer_expression "*(byte **)(puVar1 + -0xbf4)" * (cast_expression "(byte **)(puVar1 + -0xbf4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0xbf4)" ( (binary_expression "puVar1 + -0xbf4" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);" (assignment_expression "uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" identifier = (binary_expression "(uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" ( (binary_expression "puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8" (binary_expression "puVar2 + *(int *)(puVar1 + -0xbf0) * 2" identifier + (binary_expression "*(int *)(puVar1 + -0xbf0) * 2" (pointer_expression "*(int *)(puVar1 + -0xbf0)" * (cast_expression "(int *)(puVar1 + -0xbf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0xbf0)" ( (binary_expression "puVar1 + -0xbf0" identifier + number_literal) )))) * number_literal)) + number_literal) ))))) ;) })) (expression_statement "*puVar19 = pbVar15;" (assignment_expression "*puVar19 = pbVar15" (pointer_expression "*puVar19" * identifier) = identifier) ;) (expression_statement "*(int *)puVar4 = (int)pbVar20 - (int)pbVar15;" (assignment_expression "*(int *)puVar4 = (int)pbVar20 - (int)pbVar15" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(int)pbVar20 - (int)pbVar15" (cast_expression "(int)pbVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "bVar6 = *pbVar20;" (assignment_expression "bVar6 = *pbVar20" identifier = (pointer_expression "*pbVar20" * identifier)) ;) (expression_statement "*(byte **)(local_74 + -0xbe4) = pbVar20;" (assignment_expression "*(byte **)(local_74 + -0xbe4) = pbVar20" (pointer_expression "*(byte **)(local_74 + -0xbe4)" * (cast_expression "(byte **)(local_74 + -0xbe4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_74 + -0xbe4)" ( (binary_expression "local_74 + -0xbe4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*pbVar20 = 0;" (assignment_expression "*pbVar20 = 0" (pointer_expression "*pbVar20" * identifier) = number_literal) ;) (expression_statement "local_74[-0xbdc] = bVar6;" (assignment_expression "local_74[-0xbdc] = bVar6" (subscript_expression "local_74[-0xbdc]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (uVar13 < 0x2b) {\n                    \n                    \n    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();\n    return;\n  }" if (parenthesized_expression "(uVar13 < 0x2b)" ( (binary_expression "uVar13 < 0x2b" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();\n    return;\n  }" { (expression_statement "(*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040))" * (cast_expression "(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040))" ( (binary_expression "&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(puVar3 + uVar13 * 4 + -0x4040)" * (cast_expression "(int *)(puVar3 + uVar13 * 4 + -0x4040)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + uVar13 * 4 + -0x4040)" ( (binary_expression "puVar3 + uVar13 * 4 + -0x4040" (binary_expression "puVar3 + uVar13 * 4" identifier + (binary_expression "uVar13 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec);" (call_expression "FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec)" identifier (argument_list "(PTR_DAT_0002f0d8 + -0x40ec)" ( (binary_expression "PTR_DAT_0002f0d8 + -0x40ec" identifier + number_literal) ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier short) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_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)) ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression IDENT - LIT) ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression IDENT - LIT) ])))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (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) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) + LIT) ))))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) )))) )) (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) })))
(function_definition "void yylex(void)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  byte bVar6;\n  undefined4 *puVar5;\n  undefined *puVar7;\n  undefined4 uVar8;\n  bool bVar10;\n  undefined4 uVar9;\n  int iVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  int iVar17;\n  short sVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  undefined *local_74;\n  \n  puVar2 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);\n  if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);\n    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }\n  *(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;\n  puVar3 = PTR_yyin_0002f1bc;\n  puVar7 = PTR_DAT_0002f0d8;\n  if (iVar16 == 0) {\n    iVar17 = 0;\n    sVar18 = 0;\n    iVar16 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  if (iVar11 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }\n  puVar1 = PTR_optarg_0002f0c8;\n  puVar7 = puVar7 + -0x3a54;\n  if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)) {\n    FUN_000139cc();\n    iVar11 = *(int *)(puVar1 + -0xbd0);\n    iVar14 = *(int *)(puVar1 + -0xbd8);\n    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);\n    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;\n  }\n  puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n  puVar1 = PTR_optarg_0002f0c8;\n  pbVar15 = (byte *)puVar5[2];\n  uVar9 = *puVar5;\n  local_74 = PTR_optarg_0002f0c8;\n  uVar8 = puVar5[4];\n  *(byte **)PTR_yytext_0002f1b8 = pbVar15;\n  *(undefined4 *)puVar3 = uVar9;\n  *(undefined4 *)(puVar1 + -0xbe0) = uVar8;\n  *(byte **)(puVar1 + -0xbe4) = pbVar15;\n  bVar6 = *pbVar15;\n  puVar1[-0xbdc] = bVar6;\nLAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;\n  puVar3 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  *pbVar15 = bVar6;\n  iVar11 = *(int *)(puVar1 + -0xbf0);\n  bVar10 = false;\n  pbVar12 = *(byte **)(puVar1 + -0xbf4);\n  pbVar20 = pbVar15;\n  while( true ) {\n    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }\n    while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }\n    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);\n    iVar14 = iVar16 * 2;\n    iVar17 = (int)*(short *)(puVar7 + iVar14);\n    pbVar20 = pbVar20 + 1;\n    if (iVar17 == 0xc2) break;\n    bVar6 = *pbVar20;\n    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);\n  }\n  if (bVar10) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar12;\n    *(int *)(puVar1 + -0xbf0) = iVar11;\n  }\n  uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8);\n  if (uVar13 == 0) {\n    pbVar20 = *(byte **)(puVar1 + -0xbf4);\n    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }\n  *puVar19 = pbVar15;\n  *(int *)puVar4 = (int)pbVar20 - (int)pbVar15;\n  bVar6 = *pbVar20;\n  *(byte **)(local_74 + -0xbe4) = pbVar20;\n  *pbVar20 = 0;\n  local_74[-0xbdc] = bVar6;\n  if (uVar13 < 0x2b) {\n                    \n                    \n    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();\n    return;\n  }\n                    \n  FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec);\n}" (primitive_type "void") (function_declarator "yylex(void)" (identifier "yylex") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  byte bVar6;\n  undefined4 *puVar5;\n  undefined *puVar7;\n  undefined4 uVar8;\n  bool bVar10;\n  undefined4 uVar9;\n  int iVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  int iVar17;\n  short sVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  undefined *local_74;\n  \n  puVar2 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);\n  if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);\n    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }\n  *(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;\n  puVar3 = PTR_yyin_0002f1bc;\n  puVar7 = PTR_DAT_0002f0d8;\n  if (iVar16 == 0) {\n    iVar17 = 0;\n    sVar18 = 0;\n    iVar16 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  if (iVar11 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }\n  puVar1 = PTR_optarg_0002f0c8;\n  puVar7 = puVar7 + -0x3a54;\n  if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)) {\n    FUN_000139cc();\n    iVar11 = *(int *)(puVar1 + -0xbd0);\n    iVar14 = *(int *)(puVar1 + -0xbd8);\n    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);\n    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;\n  }\n  puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n  puVar1 = PTR_optarg_0002f0c8;\n  pbVar15 = (byte *)puVar5[2];\n  uVar9 = *puVar5;\n  local_74 = PTR_optarg_0002f0c8;\n  uVar8 = puVar5[4];\n  *(byte **)PTR_yytext_0002f1b8 = pbVar15;\n  *(undefined4 *)puVar3 = uVar9;\n  *(undefined4 *)(puVar1 + -0xbe0) = uVar8;\n  *(byte **)(puVar1 + -0xbe4) = pbVar15;\n  bVar6 = *pbVar15;\n  puVar1[-0xbdc] = bVar6;\nLAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;\n  puVar3 = PTR_DAT_0002f0d8;\n  puVar1 = PTR_optarg_0002f0c8;\n  *pbVar15 = bVar6;\n  iVar11 = *(int *)(puVar1 + -0xbf0);\n  bVar10 = false;\n  pbVar12 = *(byte **)(puVar1 + -0xbf4);\n  pbVar20 = pbVar15;\n  while( true ) {\n    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }\n    while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }\n    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);\n    iVar14 = iVar16 * 2;\n    iVar17 = (int)*(short *)(puVar7 + iVar14);\n    pbVar20 = pbVar20 + 1;\n    if (iVar17 == 0xc2) break;\n    bVar6 = *pbVar20;\n    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);\n  }\n  if (bVar10) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar12;\n    *(int *)(puVar1 + -0xbf0) = iVar11;\n  }\n  uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8);\n  if (uVar13 == 0) {\n    pbVar20 = *(byte **)(puVar1 + -0xbf4);\n    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }\n  *puVar19 = pbVar15;\n  *(int *)puVar4 = (int)pbVar20 - (int)pbVar15;\n  bVar6 = *pbVar20;\n  *(byte **)(local_74 + -0xbe4) = pbVar20;\n  *pbVar20 = 0;\n  local_74[-0xbdc] = bVar6;\n  if (uVar13 < 0x2b) {\n                    \n                    \n    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();\n    return;\n  }\n                    \n  FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec);\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "byte bVar6;" (type_identifier "byte") (identifier "bVar6") (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "bool bVar10;" (primitive_type "bool") (identifier "bVar10") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "byte *pbVar12;" (type_identifier "byte") (pointer_declarator "*pbVar12" (* "*") (identifier "pbVar12")) (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "byte *pbVar15;" (type_identifier "byte") (pointer_declarator "*pbVar15" (* "*") (identifier "pbVar15")) (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "short sVar18;" (sized_type_specifier "short" (short "short")) (identifier "sVar18") (; ";")) (declaration "undefined4 *puVar19;" (type_identifier "undefined4") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "undefined *local_74;" (type_identifier "undefined") (pointer_declarator "*local_74" (* "*") (identifier "local_74")) (; ";")) (expression_statement "puVar2 = PTR_DAT_0002f0d8;" (assignment_expression "puVar2 = PTR_DAT_0002f0d8" (identifier "puVar2") (= "=") (identifier "PTR_DAT_0002f0d8")) (; ";")) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" (identifier "puVar1") (= "=") (identifier "PTR_optarg_0002f0c8")) (; ";")) (expression_statement "iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);" (assignment_expression "iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbec)" (* "*") (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbec)" (( "(") (binary_expression "PTR_optarg_0002f0c8 + -0xbec" (identifier "PTR_optarg_0002f0c8") (+ "+") (number_literal "-0xbec")) () ")"))))) (; ";")) (if_statement "if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);\n    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }" (if "if") (parenthesized_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0)" (( "(") (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbe8)" (* "*") (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbe8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbe8)" (( "(") (binary_expression "PTR_optarg_0002f0c8 + -0xbe8" (identifier "PTR_optarg_0002f0c8") (+ "+") (number_literal "-0xbe8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;\n    local_74 = PTR_optarg_0002f0c8;\n    bVar6 = PTR_optarg_0002f0c8[-0xbdc];\n    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);\n    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);\n    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;\n    goto LAB_00014094;\n  }" ({ "{") (expression_statement "puVar7 = PTR_DAT_0002f0d8 + -0x3a54;" (assignment_expression "puVar7 = PTR_DAT_0002f0d8 + -0x3a54" (identifier "puVar7") (= "=") (binary_expression "PTR_DAT_0002f0d8 + -0x3a54" (identifier "PTR_DAT_0002f0d8") (+ "+") (number_literal "-0x3a54"))) (; ";")) (expression_statement "local_74 = PTR_optarg_0002f0c8;" (assignment_expression "local_74 = PTR_optarg_0002f0c8" (identifier "local_74") (= "=") (identifier "PTR_optarg_0002f0c8")) (; ";")) (expression_statement "bVar6 = PTR_optarg_0002f0c8[-0xbdc];" (assignment_expression "bVar6 = PTR_optarg_0002f0c8[-0xbdc]" (identifier "bVar6") (= "=") (subscript_expression "PTR_optarg_0002f0c8[-0xbdc]" (identifier "PTR_optarg_0002f0c8") ([ "[") (number_literal "-0xbdc") (] "]"))) (; ";")) (expression_statement "pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);" (assignment_expression "pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4)" (identifier "pbVar15") (= "=") (pointer_expression "*(byte **)(PTR_optarg_0002f0c8 + -0xbe4)" (* "*") (cast_expression "(byte **)(PTR_optarg_0002f0c8 + -0xbe4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbe4)" (( "(") (binary_expression "PTR_optarg_0002f0c8 + -0xbe4" (identifier "PTR_optarg_0002f0c8") (+ "+") (number_literal "-0xbe4")) () ")"))))) (; ";")) (expression_statement "sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);" (assignment_expression "sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8)" (identifier "sVar18") (= "=") (pointer_expression "*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8)" (* "*") (cast_expression "(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8)" (( "(") (binary_expression "PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8" (binary_expression "PTR_DAT_0002f0d8 + iVar16 * 2" (identifier "PTR_DAT_0002f0d8") (+ "+") (binary_expression "iVar16 * 2" (identifier "iVar16") (* "*") (number_literal "2"))) (+ "+") (number_literal "-0x37b8")) () ")"))))) (; ";")) (expression_statement "iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);" (assignment_expression "iVar17 = (int)*(short *)(puVar7 + iVar16 * 2)" (identifier "iVar17") (= "=") (cast_expression "(int)*(short *)(puVar7 + iVar16 * 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(puVar7 + iVar16 * 2)" (* "*") (cast_expression "(short *)(puVar7 + iVar16 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + iVar16 * 2)" (( "(") (binary_expression "puVar7 + iVar16 * 2" (identifier "puVar7") (+ "+") (binary_expression "iVar16 * 2" (identifier "iVar16") (* "*") (number_literal "2"))) () ")")))))) (; ";")) (expression_statement "puVar19 = (undefined4 *)PTR_yytext_0002f1b8;" (assignment_expression "puVar19 = (undefined4 *)PTR_yytext_0002f1b8" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)PTR_yytext_0002f1b8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_yytext_0002f1b8"))) (; ";")) (goto_statement "goto LAB_00014094;" (goto "goto") (statement_identifier "LAB_00014094") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;" (assignment_expression "*(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1" (pointer_expression "*(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8)" (* "*") (cast_expression "(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbe8)" (( "(") (binary_expression "PTR_optarg_0002f0c8 + -0xbe8" (identifier "PTR_optarg_0002f0c8") (+ "+") (number_literal "-0xbe8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar3 = PTR_yyin_0002f1bc;" (assignment_expression "puVar3 = PTR_yyin_0002f1bc" (identifier "puVar3") (= "=") (identifier "PTR_yyin_0002f1bc")) (; ";")) (expression_statement "puVar7 = PTR_DAT_0002f0d8;" (assignment_expression "puVar7 = PTR_DAT_0002f0d8" (identifier "puVar7") (= "=") (identifier "PTR_DAT_0002f0d8")) (; ";")) (if_statement "if (iVar16 == 0) {\n    iVar17 = 0;\n    sVar18 = 0;\n    iVar16 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }\n  else {\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar17 = 0;\n    sVar18 = 0;\n    iVar16 = 1;\n    *(undefined4 *)(puVar1 + -0xbec) = 1;\n    if (*(int *)puVar3 == 0) goto LAB_0001432c;\nLAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }" ({ "{") (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" (identifier "iVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "sVar18 = 0;" (assignment_expression "sVar18 = 0" (identifier "sVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" (identifier "iVar16") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar1 + -0xbec) = 1;" (assignment_expression "*(undefined4 *)(puVar1 + -0xbec) = 1" (pointer_expression "*(undefined4 *)(puVar1 + -0xbec)" (* "*") (cast_expression "(undefined4 *)(puVar1 + -0xbec)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + -0xbec)" (( "(") (binary_expression "puVar1 + -0xbec" (identifier "puVar1") (+ "+") (number_literal "-0xbec")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if (*(int *)puVar3 == 0) goto LAB_0001432c;" (if "if") (parenthesized_expression "(*(int *)puVar3 == 0)" (( "(") (binary_expression "*(int *)puVar3 == 0" (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001432c;" (goto "goto") (statement_identifier "LAB_0001432c") (; ";"))) (labeled_statement "LAB_00014288:\n    iVar11 = *(int *)PTR_yyout_0002f1cc;" (statement_identifier "LAB_00014288") (: ":") (expression_statement "iVar11 = *(int *)PTR_yyout_0002f1cc;" (assignment_expression "iVar11 = *(int *)PTR_yyout_0002f1cc" (identifier "iVar11") (= "=") (pointer_expression "*(int *)PTR_yyout_0002f1cc" (* "*") (cast_expression "(int *)PTR_yyout_0002f1cc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_yyout_0002f1cc")))) (; ";"))) (} "}")) (else_clause "else {\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }" (else "else") (compound_statement "{\n    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);\n    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);\n    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;\nLAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;\n    iVar11 = *(int *)PTR_yyout_0002f1cc;\n  }" ({ "{") (expression_statement "iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);" (assignment_expression "iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" (identifier "iVar17") (= "=") (cast_expression "(int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" (* "*") (cast_expression "(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54)" (( "(") (binary_expression "PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54" (binary_expression "PTR_DAT_0002f0d8 + iVar16 * 2" (identifier "PTR_DAT_0002f0d8") (+ "+") (binary_expression "iVar16 * 2" (identifier "iVar16") (* "*") (number_literal "2"))) (+ "+") (number_literal "-0x3a54")) () ")")))))) (; ";")) (expression_statement "sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);" (assignment_expression "sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8)" (identifier "sVar18") (= "=") (pointer_expression "*(short *)(puVar2 + iVar16 * 2 + -0x37b8)" (* "*") (cast_expression "(short *)(puVar2 + iVar16 * 2 + -0x37b8)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + iVar16 * 2 + -0x37b8)" (( "(") (binary_expression "puVar2 + iVar16 * 2 + -0x37b8" (binary_expression "puVar2 + iVar16 * 2" (identifier "puVar2") (+ "+") (binary_expression "iVar16 * 2" (identifier "iVar16") (* "*") (number_literal "2"))) (+ "+") (number_literal "-0x37b8")) () ")"))))) (; ";")) (if_statement "if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;" (if "if") (parenthesized_expression "(*(int *)PTR_yyin_0002f1bc != 0)" (( "(") (binary_expression "*(int *)PTR_yyin_0002f1bc != 0" (pointer_expression "*(int *)PTR_yyin_0002f1bc" (* "*") (cast_expression "(int *)PTR_yyin_0002f1bc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_yyin_0002f1bc"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014288;" (goto "goto") (statement_identifier "LAB_00014288") (; ";"))) (labeled_statement "LAB_0001432c:\n    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;" (statement_identifier "LAB_0001432c") (: ":") (expression_statement "*(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;" (assignment_expression "*(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8" (pointer_expression "*(undefined4 *)puVar3" (* "*") (cast_expression "(undefined4 *)puVar3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (= "=") (pointer_expression "*(undefined4 *)PTR_stdin_0002f2d8" (* "*") (cast_expression "(undefined4 *)PTR_stdin_0002f2d8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdin_0002f2d8")))) (; ";"))) (expression_statement "iVar11 = *(int *)PTR_yyout_0002f1cc;" (assignment_expression "iVar11 = *(int *)PTR_yyout_0002f1cc" (identifier "iVar11") (= "=") (pointer_expression "*(int *)PTR_yyout_0002f1cc" (* "*") (cast_expression "(int *)PTR_yyout_0002f1cc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_yyout_0002f1cc")))) (; ";")) (} "}")))) (if_statement "if (iVar11 == 0) {\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;\n  }" ({ "{") (expression_statement "*(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;" (assignment_expression "*(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8" (pointer_expression "*(undefined4 *)PTR_yyout_0002f1cc" (* "*") (cast_expression "(undefined4 *)PTR_yyout_0002f1cc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_yyout_0002f1cc"))) (= "=") (pointer_expression "*(undefined4 *)PTR_stdout_0002f2b8" (* "*") (cast_expression "(undefined4 *)PTR_stdout_0002f2b8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_0002f2b8")))) (; ";")) (} "}"))) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" (identifier "puVar1") (= "=") (identifier "PTR_optarg_0002f0c8")) (; ";")) (expression_statement "puVar7 = puVar7 + -0x3a54;" (assignment_expression "puVar7 = puVar7 + -0x3a54" (identifier "puVar7") (= "=") (binary_expression "puVar7 + -0x3a54" (identifier "puVar7") (+ "+") (number_literal "-0x3a54"))) (; ";")) (if_statement "if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)) {\n    FUN_000139cc();\n    iVar11 = *(int *)(puVar1 + -0xbd0);\n    iVar14 = *(int *)(puVar1 + -0xbd8);\n    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);\n    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;\n  }" (if "if") (parenthesized_expression "((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0))" (( "(") (binary_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||\n     (puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)" (parenthesized_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0)" (( "(") (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8)" (* "*") (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbd8)" (( "(") (binary_expression "PTR_optarg_0002f0c8 + -0xbd8" (identifier "PTR_optarg_0002f0c8") (+ "+") (number_literal "-0xbd8")) () ")")))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0)" (( "(") (comma_expression "puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                ), puVar5 == (undefined4 *)0x0" (assignment_expression "puVar5 = *(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" (identifier "puVar5") (= "=") (pointer_expression "*(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" (* "*") (cast_expression "(undefined4 **)\n                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4\n                )" (( "(") (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd8)" (* "*") (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbd8)" (( "(") (binary_expression "PTR_optarg_0002f0c8 + -0xbd8" (identifier "PTR_optarg_0002f0c8") (+ "+") (number_literal "-0xbd8")) () ")")))) (+ "+") (binary_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4" (pointer_expression "*(int *)(PTR_optarg_0002f0c8 + -0xbd0)" (* "*") (cast_expression "(int *)(PTR_optarg_0002f0c8 + -0xbd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_optarg_0002f0c8 + -0xbd0)" (( "(") (binary_expression "PTR_optarg_0002f0c8 + -0xbd0" (identifier "PTR_optarg_0002f0c8") (+ "+") (number_literal "-0xbd0")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (, ",") (binary_expression "puVar5 == (undefined4 *)0x0" (identifier "puVar5") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n    FUN_000139cc();\n    iVar11 = *(int *)(puVar1 + -0xbd0);\n    iVar14 = *(int *)(puVar1 + -0xbd8);\n    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);\n    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;\n  }" ({ "{") (expression_statement "FUN_000139cc();" (call_expression "FUN_000139cc()" (identifier "FUN_000139cc") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar11 = *(int *)(puVar1 + -0xbd0);" (assignment_expression "iVar11 = *(int *)(puVar1 + -0xbd0)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(puVar1 + -0xbd0)" (* "*") (cast_expression "(int *)(puVar1 + -0xbd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + -0xbd0)" (( "(") (binary_expression "puVar1 + -0xbd0" (identifier "puVar1") (+ "+") (number_literal "-0xbd0")) () ")"))))) (; ";")) (expression_statement "iVar14 = *(int *)(puVar1 + -0xbd8);" (assignment_expression "iVar14 = *(int *)(puVar1 + -0xbd8)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(puVar1 + -0xbd8)" (* "*") (cast_expression "(int *)(puVar1 + -0xbd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + -0xbd8)" (( "(") (binary_expression "puVar1 + -0xbd8" (identifier "puVar1") (+ "+") (number_literal "-0xbd8")) () ")"))))) (; ";")) (expression_statement "puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);" (assignment_expression "puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "yy_create_buffer(*(undefined4 *)puVar3,0x4000)" (identifier "yy_create_buffer") (argument_list "(*(undefined4 *)puVar3,0x4000)" (( "(") (pointer_expression "*(undefined4 *)puVar3" (* "*") (cast_expression "(undefined4 *)puVar3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (, ",") (number_literal "0x4000") () ")"))))) (; ";")) (expression_statement "*(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;" (assignment_expression "*(undefined4 **)(iVar14 + iVar11 * 4) = puVar5" (pointer_expression "*(undefined4 **)(iVar14 + iVar11 * 4)" (* "*") (cast_expression "(undefined4 **)(iVar14 + iVar11 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + iVar11 * 4)" (( "(") (binary_expression "iVar14 + iVar11 * 4" (identifier "iVar14") (+ "+") (binary_expression "iVar11 * 4" (identifier "iVar11") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar5")) (; ";")) (} "}"))) (expression_statement "puVar19 = (undefined4 *)PTR_yytext_0002f1b8;" (assignment_expression "puVar19 = (undefined4 *)PTR_yytext_0002f1b8" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)PTR_yytext_0002f1b8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_yytext_0002f1b8"))) (; ";")) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" (identifier "puVar1") (= "=") (identifier "PTR_optarg_0002f0c8")) (; ";")) (expression_statement "pbVar15 = (byte *)puVar5[2];" (assignment_expression "pbVar15 = (byte *)puVar5[2]" (identifier "pbVar15") (= "=") (cast_expression "(byte *)puVar5[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "uVar9 = *puVar5;" (assignment_expression "uVar9 = *puVar5" (identifier "uVar9") (= "=") (pointer_expression "*puVar5" (* "*") (identifier "puVar5"))) (; ";")) (expression_statement "local_74 = PTR_optarg_0002f0c8;" (assignment_expression "local_74 = PTR_optarg_0002f0c8" (identifier "local_74") (= "=") (identifier "PTR_optarg_0002f0c8")) (; ";")) (expression_statement "uVar8 = puVar5[4];" (assignment_expression "uVar8 = puVar5[4]" (identifier "uVar8") (= "=") (subscript_expression "puVar5[4]" (identifier "puVar5") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "*(byte **)PTR_yytext_0002f1b8 = pbVar15;" (assignment_expression "*(byte **)PTR_yytext_0002f1b8 = pbVar15" (pointer_expression "*(byte **)PTR_yytext_0002f1b8" (* "*") (cast_expression "(byte **)PTR_yytext_0002f1b8" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_yytext_0002f1b8"))) (= "=") (identifier "pbVar15")) (; ";")) (expression_statement "*(undefined4 *)puVar3 = uVar9;" (assignment_expression "*(undefined4 *)puVar3 = uVar9" (pointer_expression "*(undefined4 *)puVar3" (* "*") (cast_expression "(undefined4 *)puVar3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar1 + -0xbe0) = uVar8;" (assignment_expression "*(undefined4 *)(puVar1 + -0xbe0) = uVar8" (pointer_expression "*(undefined4 *)(puVar1 + -0xbe0)" (* "*") (cast_expression "(undefined4 *)(puVar1 + -0xbe0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + -0xbe0)" (( "(") (binary_expression "puVar1 + -0xbe0" (identifier "puVar1") (+ "+") (number_literal "-0xbe0")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(byte **)(puVar1 + -0xbe4) = pbVar15;" (assignment_expression "*(byte **)(puVar1 + -0xbe4) = pbVar15" (pointer_expression "*(byte **)(puVar1 + -0xbe4)" (* "*") (cast_expression "(byte **)(puVar1 + -0xbe4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar1 + -0xbe4)" (( "(") (binary_expression "puVar1 + -0xbe4" (identifier "puVar1") (+ "+") (number_literal "-0xbe4")) () ")")))) (= "=") (identifier "pbVar15")) (; ";")) (expression_statement "bVar6 = *pbVar15;" (assignment_expression "bVar6 = *pbVar15" (identifier "bVar6") (= "=") (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15"))) (; ";")) (expression_statement "puVar1[-0xbdc] = bVar6;" (assignment_expression "puVar1[-0xbdc] = bVar6" (subscript_expression "puVar1[-0xbdc]" (identifier "puVar1") ([ "[") (number_literal "-0xbdc") (] "]")) (= "=") (identifier "bVar6")) (; ";")) (labeled_statement "LAB_00014094:\n  puVar4 = PTR_yyleng_0002f1c8;" (statement_identifier "LAB_00014094") (: ":") (expression_statement "puVar4 = PTR_yyleng_0002f1c8;" (assignment_expression "puVar4 = PTR_yyleng_0002f1c8" (identifier "puVar4") (= "=") (identifier "PTR_yyleng_0002f1c8")) (; ";"))) (expression_statement "puVar3 = PTR_DAT_0002f0d8;" (assignment_expression "puVar3 = PTR_DAT_0002f0d8" (identifier "puVar3") (= "=") (identifier "PTR_DAT_0002f0d8")) (; ";")) (expression_statement "puVar1 = PTR_optarg_0002f0c8;" (assignment_expression "puVar1 = PTR_optarg_0002f0c8" (identifier "puVar1") (= "=") (identifier "PTR_optarg_0002f0c8")) (; ";")) (expression_statement "*pbVar15 = bVar6;" (assignment_expression "*pbVar15 = bVar6" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (= "=") (identifier "bVar6")) (; ";")) (expression_statement "iVar11 = *(int *)(puVar1 + -0xbf0);" (assignment_expression "iVar11 = *(int *)(puVar1 + -0xbf0)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(puVar1 + -0xbf0)" (* "*") (cast_expression "(int *)(puVar1 + -0xbf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + -0xbf0)" (( "(") (binary_expression "puVar1 + -0xbf0" (identifier "puVar1") (+ "+") (number_literal "-0xbf0")) () ")"))))) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "pbVar12 = *(byte **)(puVar1 + -0xbf4);" (assignment_expression "pbVar12 = *(byte **)(puVar1 + -0xbf4)" (identifier "pbVar12") (= "=") (pointer_expression "*(byte **)(puVar1 + -0xbf4)" (* "*") (cast_expression "(byte **)(puVar1 + -0xbf4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar1 + -0xbf4)" (( "(") (binary_expression "puVar1 + -0xbf4" (identifier "puVar1") (+ "+") (number_literal "-0xbf4")) () ")"))))) (; ";")) (expression_statement "pbVar20 = pbVar15;" (assignment_expression "pbVar20 = pbVar15" (identifier "pbVar20") (= "=") (identifier "pbVar15")) (; ";")) (while_statement "while( true ) {\n    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }\n    while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }\n    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);\n    iVar14 = iVar16 * 2;\n    iVar17 = (int)*(short *)(puVar7 + iVar14);\n    pbVar20 = pbVar20 + 1;\n    if (iVar17 == 0xc2) break;\n    bVar6 = *pbVar20;\n    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];\n    if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }\n    while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }\n    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);\n    iVar14 = iVar16 * 2;\n    iVar17 = (int)*(short *)(puVar7 + iVar14);\n    pbVar20 = pbVar20 + 1;\n    if (iVar17 == 0xc2) break;\n    bVar6 = *pbVar20;\n    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);\n  }" ({ "{") (expression_statement "uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];" (assignment_expression "uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8]" (identifier "uVar13") (= "=") (cast_expression "(uint)(byte)puVar3[bVar6 - 0x38b8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar3[bVar6 - 0x38b8]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar3[bVar6 - 0x38b8]" (identifier "puVar3") ([ "[") (binary_expression "bVar6 - 0x38b8" (identifier "bVar6") (- "-") (number_literal "0x38b8")) (] "]"))))) (; ";")) (if_statement "if (sVar18 != 0) {\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }" (if "if") (parenthesized_expression "(sVar18 != 0)" (( "(") (binary_expression "sVar18 != 0" (identifier "sVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      bVar10 = true;\n      iVar11 = iVar16;\n      pbVar12 = pbVar20;\n    }" ({ "{") (expression_statement "bVar10 = true;" (assignment_expression "bVar10 = true" (identifier "bVar10") (= "=") (true "true")) (; ";")) (expression_statement "iVar11 = iVar16;" (assignment_expression "iVar11 = iVar16" (identifier "iVar11") (= "=") (identifier "iVar16")) (; ";")) (expression_statement "pbVar12 = pbVar20;" (assignment_expression "pbVar12 = pbVar20" (identifier "pbVar12") (= "=") (identifier "pbVar20")) (; ";")) (} "}"))) (while_statement "while( true ) {\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      iVar17 = (iVar17 + uVar13) * 2;\n      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;\n      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);\n      if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }\n      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);\n    }" ({ "{") (expression_statement "iVar17 = (iVar17 + uVar13) * 2;" (assignment_expression "iVar17 = (iVar17 + uVar13) * 2" (identifier "iVar17") (= "=") (binary_expression "(iVar17 + uVar13) * 2" (parenthesized_expression "(iVar17 + uVar13)" (( "(") (binary_expression "iVar17 + uVar13" (identifier "iVar17") (+ "+") (identifier "uVar13")) () ")")) (* "*") (number_literal "2"))) (; ";")) (if_statement "if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;" (if "if") (parenthesized_expression "(*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16)" (( "(") (binary_expression "*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16" (pointer_expression "*(short *)(puVar3 + iVar17 + -0x3f94)" (* "*") (cast_expression "(short *)(puVar3 + iVar17 + -0x3f94)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + iVar17 + -0x3f94)" (( "(") (binary_expression "puVar3 + iVar17 + -0x3f94" (binary_expression "puVar3 + iVar17" (identifier "puVar3") (+ "+") (identifier "iVar17")) (+ "+") (number_literal "-0x3f94")) () ")")))) (== "==") (identifier "iVar16")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);" (assignment_expression "iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc)" (identifier "iVar16") (= "=") (cast_expression "(int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(puVar3 + iVar16 * 2 + -0x3bbc)" (* "*") (cast_expression "(short *)(puVar3 + iVar16 * 2 + -0x3bbc)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + iVar16 * 2 + -0x3bbc)" (( "(") (binary_expression "puVar3 + iVar16 * 2 + -0x3bbc" (binary_expression "puVar3 + iVar16 * 2" (identifier "puVar3") (+ "+") (binary_expression "iVar16 * 2" (identifier "iVar16") (* "*") (number_literal "2"))) (+ "+") (number_literal "-0x3bbc")) () ")")))))) (; ";")) (if_statement "if (0xb0 < iVar16) {\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }" (if "if") (parenthesized_expression "(0xb0 < iVar16)" (( "(") (binary_expression "0xb0 < iVar16" (number_literal "0xb0") (< "<") (identifier "iVar16")) () ")")) (compound_statement "{\n        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];\n      }" ({ "{") (expression_statement "uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];" (assignment_expression "uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec]" (identifier "uVar13") (= "=") (cast_expression "(uint)(byte)puVar3[uVar13 - 0x38ec]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar3[uVar13 - 0x38ec]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar3[uVar13 - 0x38ec]" (identifier "puVar3") ([ "[") (binary_expression "uVar13 - 0x38ec" (identifier "uVar13") (- "-") (number_literal "0x38ec")) (] "]"))))) (; ";")) (} "}"))) (expression_statement "iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);" (assignment_expression "iVar17 = (int)*(short *)(puVar7 + iVar16 * 2)" (identifier "iVar17") (= "=") (cast_expression "(int)*(short *)(puVar7 + iVar16 * 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(puVar7 + iVar16 * 2)" (* "*") (cast_expression "(short *)(puVar7 + iVar16 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + iVar16 * 2)" (( "(") (binary_expression "puVar7 + iVar16 * 2" (identifier "puVar7") (+ "+") (binary_expression "iVar16 * 2" (identifier "iVar16") (* "*") (number_literal "2"))) () ")")))))) (; ";")) (} "}"))) (expression_statement "iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);" (assignment_expression "iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8)" (identifier "iVar16") (= "=") (cast_expression "(int)*(short *)(puVar3 + iVar17 + -0x3da8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(puVar3 + iVar17 + -0x3da8)" (* "*") (cast_expression "(short *)(puVar3 + iVar17 + -0x3da8)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + iVar17 + -0x3da8)" (( "(") (binary_expression "puVar3 + iVar17 + -0x3da8" (binary_expression "puVar3 + iVar17" (identifier "puVar3") (+ "+") (identifier "iVar17")) (+ "+") (number_literal "-0x3da8")) () ")")))))) (; ";")) (expression_statement "iVar14 = iVar16 * 2;" (assignment_expression "iVar14 = iVar16 * 2" (identifier "iVar14") (= "=") (binary_expression "iVar16 * 2" (identifier "iVar16") (* "*") (number_literal "2"))) (; ";")) (expression_statement "iVar17 = (int)*(short *)(puVar7 + iVar14);" (assignment_expression "iVar17 = (int)*(short *)(puVar7 + iVar14)" (identifier "iVar17") (= "=") (cast_expression "(int)*(short *)(puVar7 + iVar14)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(puVar7 + iVar14)" (* "*") (cast_expression "(short *)(puVar7 + iVar14)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + iVar14)" (( "(") (binary_expression "puVar7 + iVar14" (identifier "puVar7") (+ "+") (identifier "iVar14")) () ")")))))) (; ";")) (expression_statement "pbVar20 = pbVar20 + 1;" (assignment_expression "pbVar20 = pbVar20 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + 1" (identifier "pbVar20") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar17 == 0xc2) break;" (if "if") (parenthesized_expression "(iVar17 == 0xc2)" (( "(") (binary_expression "iVar17 == 0xc2" (identifier "iVar17") (== "==") (number_literal "0xc2")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "bVar6 = *pbVar20;" (assignment_expression "bVar6 = *pbVar20" (identifier "bVar6") (= "=") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20"))) (; ";")) (expression_statement "sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);" (assignment_expression "sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8)" (identifier "sVar18") (= "=") (pointer_expression "*(short *)(puVar2 + iVar14 + -0x37b8)" (* "*") (cast_expression "(short *)(puVar2 + iVar14 + -0x37b8)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + iVar14 + -0x37b8)" (( "(") (binary_expression "puVar2 + iVar14 + -0x37b8" (binary_expression "puVar2 + iVar14" (identifier "puVar2") (+ "+") (identifier "iVar14")) (+ "+") (number_literal "-0x37b8")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (bVar10) {\n    *(byte **)(puVar1 + -0xbf4) = pbVar12;\n    *(int *)(puVar1 + -0xbf0) = iVar11;\n  }" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (compound_statement "{\n    *(byte **)(puVar1 + -0xbf4) = pbVar12;\n    *(int *)(puVar1 + -0xbf0) = iVar11;\n  }" ({ "{") (expression_statement "*(byte **)(puVar1 + -0xbf4) = pbVar12;" (assignment_expression "*(byte **)(puVar1 + -0xbf4) = pbVar12" (pointer_expression "*(byte **)(puVar1 + -0xbf4)" (* "*") (cast_expression "(byte **)(puVar1 + -0xbf4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar1 + -0xbf4)" (( "(") (binary_expression "puVar1 + -0xbf4" (identifier "puVar1") (+ "+") (number_literal "-0xbf4")) () ")")))) (= "=") (identifier "pbVar12")) (; ";")) (expression_statement "*(int *)(puVar1 + -0xbf0) = iVar11;" (assignment_expression "*(int *)(puVar1 + -0xbf0) = iVar11" (pointer_expression "*(int *)(puVar1 + -0xbf0)" (* "*") (cast_expression "(int *)(puVar1 + -0xbf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + -0xbf0)" (( "(") (binary_expression "puVar1 + -0xbf0" (identifier "puVar1") (+ "+") (number_literal "-0xbf0")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (} "}"))) (expression_statement "uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8);" (assignment_expression "uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8)" (identifier "uVar13") (= "=") (binary_expression "(uint)*(short *)(puVar2 + iVar14 + -0x37b8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(short *)(puVar2 + iVar14 + -0x37b8)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + iVar14 + -0x37b8)" (( "(") (binary_expression "puVar2 + iVar14 + -0x37b8" (binary_expression "puVar2 + iVar14" (identifier "puVar2") (+ "+") (identifier "iVar14")) (+ "+") (number_literal "-0x37b8")) () ")"))))) (; ";")) (if_statement "if (uVar13 == 0) {\n    pbVar20 = *(byte **)(puVar1 + -0xbf4);\n    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }" (if "if") (parenthesized_expression "(uVar13 == 0)" (( "(") (binary_expression "uVar13 == 0" (identifier "uVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pbVar20 = *(byte **)(puVar1 + -0xbf4);\n    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);\n  }" ({ "{") (expression_statement "pbVar20 = *(byte **)(puVar1 + -0xbf4);" (assignment_expression "pbVar20 = *(byte **)(puVar1 + -0xbf4)" (identifier "pbVar20") (= "=") (pointer_expression "*(byte **)(puVar1 + -0xbf4)" (* "*") (cast_expression "(byte **)(puVar1 + -0xbf4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar1 + -0xbf4)" (( "(") (binary_expression "puVar1 + -0xbf4" (identifier "puVar1") (+ "+") (number_literal "-0xbf4")) () ")"))))) (; ";")) (expression_statement "uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);" (assignment_expression "uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" (identifier "uVar13") (= "=") (binary_expression "(uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8)" (( "(") (binary_expression "puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8" (binary_expression "puVar2 + *(int *)(puVar1 + -0xbf0) * 2" (identifier "puVar2") (+ "+") (binary_expression "*(int *)(puVar1 + -0xbf0) * 2" (pointer_expression "*(int *)(puVar1 + -0xbf0)" (* "*") (cast_expression "(int *)(puVar1 + -0xbf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + -0xbf0)" (( "(") (binary_expression "puVar1 + -0xbf0" (identifier "puVar1") (+ "+") (number_literal "-0xbf0")) () ")")))) (* "*") (number_literal "2"))) (+ "+") (number_literal "-0x37b8")) () ")"))))) (; ";")) (} "}"))) (expression_statement "*puVar19 = pbVar15;" (assignment_expression "*puVar19 = pbVar15" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (identifier "pbVar15")) (; ";")) (expression_statement "*(int *)puVar4 = (int)pbVar20 - (int)pbVar15;" (assignment_expression "*(int *)puVar4 = (int)pbVar20 - (int)pbVar15" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (= "=") (binary_expression "(int)pbVar20 - (int)pbVar15" (cast_expression "(int)pbVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar20")) (- "-") (cast_expression "(int)pbVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar15")))) (; ";")) (expression_statement "bVar6 = *pbVar20;" (assignment_expression "bVar6 = *pbVar20" (identifier "bVar6") (= "=") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20"))) (; ";")) (expression_statement "*(byte **)(local_74 + -0xbe4) = pbVar20;" (assignment_expression "*(byte **)(local_74 + -0xbe4) = pbVar20" (pointer_expression "*(byte **)(local_74 + -0xbe4)" (* "*") (cast_expression "(byte **)(local_74 + -0xbe4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_74 + -0xbe4)" (( "(") (binary_expression "local_74 + -0xbe4" (identifier "local_74") (+ "+") (number_literal "-0xbe4")) () ")")))) (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "*pbVar20 = 0;" (assignment_expression "*pbVar20 = 0" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_74[-0xbdc] = bVar6;" (assignment_expression "local_74[-0xbdc] = bVar6" (subscript_expression "local_74[-0xbdc]" (identifier "local_74") ([ "[") (number_literal "-0xbdc") (] "]")) (= "=") (identifier "bVar6")) (; ";")) (if_statement "if (uVar13 < 0x2b) {\n                    \n                    \n    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();\n    return;\n  }" (if "if") (parenthesized_expression "(uVar13 < 0x2b)" (( "(") (binary_expression "uVar13 < 0x2b" (identifier "uVar13") (< "<") (number_literal "0x2b")) () ")")) (compound_statement "{\n                    \n                    \n    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();\n    return;\n  }" ({ "{") (expression_statement "(*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))" (( "(") (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040))" (* "*") (cast_expression "(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040))" (( "(") (binary_expression "&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)" (pointer_expression "&_gp_1" (& "&") (identifier "_gp_1")) (+ "+") (pointer_expression "*(int *)(puVar3 + uVar13 * 4 + -0x4040)" (* "*") (cast_expression "(int *)(puVar3 + uVar13 * 4 + -0x4040)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + uVar13 * 4 + -0x4040)" (( "(") (binary_expression "puVar3 + uVar13 * 4 + -0x4040" (binary_expression "puVar3 + uVar13 * 4" (identifier "puVar3") (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) (+ "+") (number_literal "-0x4040")) () ")"))))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec);" (call_expression "FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec)" (identifier "FUN_00013988") (argument_list "(PTR_DAT_0002f0d8 + -0x40ec)" (( "(") (binary_expression "PTR_DAT_0002f0d8 + -0x40ec" (identifier "PTR_DAT_0002f0d8") (+ "+") (number_literal "-0x40ec")) () ")"))) (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (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: (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))))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (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: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))))) arguments: (argument_list))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))))

void MASKED(void)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  byte bVar6;
  undefined4 *puVar5;
  undefined *puVar7;
  undefined4 uVar8;
  bool bVar10;
  undefined4 uVar9;
  int iVar11;
  byte *pbVar12;
  uint uVar13;
  int iVar14;
  byte *pbVar15;
  int iVar16;
  int iVar17;
  short sVar18;
  undefined4 *puVar19;
  byte *pbVar20;
  undefined *local_74;
  
  puVar2 = PTR_DAT_0002f0d8;
  puVar1 = PTR_optarg_0002f0c8;
  iVar16 = *(int *)(PTR_optarg_0002f0c8 + -0xbec);
  if (*(int *)(PTR_optarg_0002f0c8 + -0xbe8) != 0) {
    puVar7 = PTR_DAT_0002f0d8 + -0x3a54;
    local_74 = PTR_optarg_0002f0c8;
    bVar6 = PTR_optarg_0002f0c8[-0xbdc];
    pbVar15 = *(byte **)(PTR_optarg_0002f0c8 + -0xbe4);
    sVar18 = *(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x37b8);
    iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);
    puVar19 = (undefined4 *)PTR_yytext_0002f1b8;
    goto LAB_00014094;
  }
  *(undefined4 *)(PTR_optarg_0002f0c8 + -0xbe8) = 1;
  puVar3 = PTR_yyin_0002f1bc;
  puVar7 = PTR_DAT_0002f0d8;
  if (iVar16 == 0) {
    iVar17 = 0;
    sVar18 = 0;
    iVar16 = 1;
    *(undefined4 *)(puVar1 + -0xbec) = 1;
    if (*(int *)puVar3 == 0) goto LAB_0001432c;
LAB_00014288:
    iVar11 = *(int *)PTR_yyout_0002f1cc;
  }
  else {
    iVar17 = (int)*(short *)(PTR_DAT_0002f0d8 + iVar16 * 2 + -0x3a54);
    sVar18 = *(short *)(puVar2 + iVar16 * 2 + -0x37b8);
    if (*(int *)PTR_yyin_0002f1bc != 0) goto LAB_00014288;
LAB_0001432c:
    *(undefined4 *)puVar3 = *(undefined4 *)PTR_stdin_0002f2d8;
    iVar11 = *(int *)PTR_yyout_0002f1cc;
  }
  if (iVar11 == 0) {
    *(undefined4 *)PTR_yyout_0002f1cc = *(undefined4 *)PTR_stdout_0002f2b8;
  }
  puVar1 = PTR_optarg_0002f0c8;
  puVar7 = puVar7 + -0x3a54;
  if ((*(int *)(PTR_optarg_0002f0c8 + -0xbd8) == 0) ||
     (puVar5 = *(undefined4 **)
                (*(int *)(PTR_optarg_0002f0c8 + -0xbd8) + *(int *)(PTR_optarg_0002f0c8 + -0xbd0) * 4
                ), puVar5 == (undefined4 *)0x0)) {
    FUN_000139cc();
    iVar11 = *(int *)(puVar1 + -0xbd0);
    iVar14 = *(int *)(puVar1 + -0xbd8);
    puVar5 = (undefined4 *)yy_create_buffer(*(undefined4 *)puVar3,0x4000);
    *(undefined4 **)(iVar14 + iVar11 * 4) = puVar5;
  }
  puVar19 = (undefined4 *)PTR_yytext_0002f1b8;
  puVar1 = PTR_optarg_0002f0c8;
  pbVar15 = (byte *)puVar5[2];
  uVar9 = *puVar5;
  local_74 = PTR_optarg_0002f0c8;
  uVar8 = puVar5[4];
  *(byte **)PTR_yytext_0002f1b8 = pbVar15;
  *(undefined4 *)puVar3 = uVar9;
  *(undefined4 *)(puVar1 + -0xbe0) = uVar8;
  *(byte **)(puVar1 + -0xbe4) = pbVar15;
  bVar6 = *pbVar15;
  puVar1[-0xbdc] = bVar6;
LAB_00014094:
  puVar4 = PTR_yyleng_0002f1c8;
  puVar3 = PTR_DAT_0002f0d8;
  puVar1 = PTR_optarg_0002f0c8;
  *pbVar15 = bVar6;
  iVar11 = *(int *)(puVar1 + -0xbf0);
  bVar10 = false;
  pbVar12 = *(byte **)(puVar1 + -0xbf4);
  pbVar20 = pbVar15;
  while( true ) {
    uVar13 = (uint)(byte)puVar3[bVar6 - 0x38b8];
    if (sVar18 != 0) {
      bVar10 = true;
      iVar11 = iVar16;
      pbVar12 = pbVar20;
    }
    while( true ) {
      iVar17 = (iVar17 + uVar13) * 2;
      if (*(short *)(puVar3 + iVar17 + -0x3f94) == iVar16) break;
      iVar16 = (int)*(short *)(puVar3 + iVar16 * 2 + -0x3bbc);
      if (0xb0 < iVar16) {
        uVar13 = (uint)(byte)puVar3[uVar13 - 0x38ec];
      }
      iVar17 = (int)*(short *)(puVar7 + iVar16 * 2);
    }
    iVar16 = (int)*(short *)(puVar3 + iVar17 + -0x3da8);
    iVar14 = iVar16 * 2;
    iVar17 = (int)*(short *)(puVar7 + iVar14);
    pbVar20 = pbVar20 + 1;
    if (iVar17 == 0xc2) break;
    bVar6 = *pbVar20;
    sVar18 = *(short *)(puVar2 + iVar14 + -0x37b8);
  }
  if (bVar10) {
    *(byte **)(puVar1 + -0xbf4) = pbVar12;
    *(int *)(puVar1 + -0xbf0) = iVar11;
  }
  uVar13 = (uint)*(short *)(puVar2 + iVar14 + -0x37b8);
  if (uVar13 == 0) {
    pbVar20 = *(byte **)(puVar1 + -0xbf4);
    uVar13 = (uint)*(short *)(puVar2 + *(int *)(puVar1 + -0xbf0) * 2 + -0x37b8);
  }
  *puVar19 = pbVar15;
  *(int *)puVar4 = (int)pbVar20 - (int)pbVar15;
  bVar6 = *pbVar20;
  *(byte **)(local_74 + -0xbe4) = pbVar20;
  *pbVar20 = 0;
  local_74[-0xbdc] = bVar6;
  if (uVar13 < 0x2b) {
                    /* WARNING: Could not emulate address calculation at 0x00014238 */
                    /* WARNING: Treating indirect jump as call */
    (*(code *)(&_gp_1 + *(int *)(puVar3 + uVar13 * 4 + -0x4040)))();
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00013988(PTR_DAT_0002f0d8 + -0x40ec);
}

