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

void yyerror(char *m,...)

{
  int iVar1;
  uint uVar2;
  uint uVar3;
  size_t sVar4;
  char *pcVar5;
  char *pcVar6;
  int *piVar7;
  char *pcVar8;
  char *pcVar9;
  char *pcVar10;
  uint *puVar11;
  uint *puVar12;
  char *__s;
  char *pcVar13;
  bool bVar14;
  char *local_28;
  
  iVar1 = strncmp(m,yyerror::syntax_error,0xc);
  print_included_from();
  pcVar5 = lexptr_begin;
  pcVar13 = lexeme;
  errcount = errcount + 1;
  if ((lexptr == (char *)0x0) || (local_28 = lexeme, lexeme == (char *)0x0)) {
    thisline = yyerror::end_of_file_line;
    puVar12 = (uint *)yyerror::end_of_file_line;
    do {
      puVar11 = puVar12;
      uVar2 = *puVar11 + 0xfefefeff & ~*puVar11;
      uVar3 = uVar2 & 0x80808080;
      puVar12 = puVar11 + 1;
    } while (uVar3 == 0);
    bVar14 = (uVar2 & 0x8080) == 0;
    if (bVar14) {
      uVar3 = uVar3 >> 0x10;
    }
    if (bVar14) {
      puVar12 = (uint *)((int)puVar11 + 6);
    }
    pcVar13 = (char *)((int)puVar12 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));
    __s = (char *)0x0;
  }
  else {
    __s = (char *)0x0;
    if (thisline == (char *)0x0) {
      if (*lexeme == '\n') {
        local_28 = lexeme + -(uint)(lexptr_begin < lexeme);
        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);
        if (local_28 != pcVar5) goto LAB_0001c000;
LAB_0001c059:
        local_28 = pcVar5;
        thisline = pcVar5;
        if (*pcVar5 == '\n') goto LAB_0001c009;
      }
      else {
        thisline = pcVar5;
        if (lexeme != lexptr_begin) {
          do {
            local_28 = local_28 + -1;
            if (local_28 == pcVar5) goto LAB_0001c059;
LAB_0001c000:
          } while (*local_28 != '\n');
LAB_0001c009:
          thisline = local_28 + 1;
        }
      }
    }
    if (pcVar13 < thisline) {
      pcVar13 = thisline + 1;
    }
    if (pcVar13 < lexend) {
      do {
        if (*pcVar13 == '\0') {
          if (lexeof == false) goto LAB_0001bdc0;
          goto LAB_0001be27;
        }
      } while ((*pcVar13 != '\n') && (pcVar13 = pcVar13 + 1, pcVar13 != lexend));
    }
  }
  if (lexeof != false) {
LAB_0001be27:
    if ((__s == (char *)0x0) && (iVar1 == 0)) {
      msg("%s",yyerror::end_of_file_line);
      __s = (char *)dcgettext(0,
                              "source files / command-line arguments must contain complete functions or rules"
                              ,5);
      goto LAB_0001be5d;
    }
  }
LAB_0001bdc0:
  msg("%.*s",(int)pcVar13 - (int)thisline,thisline);
LAB_0001be5d:
  if (__s == (char *)0x0) {
    __s = m;
  }
  sVar4 = strlen(__s);
  pcVar13 = (char *)(sVar4 + 1);
  if (lexptr != (char *)0x0) {
    pcVar13 = lexeme + ((sVar4 + 3) - (int)thisline);
  }
  pcVar13 = pcVar13 + 1;
  if (pcVar13 == (char *)0x0) {
    set_loc("awk.h",0x7d7);
    r_fatal("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);
  }
  pcVar5 = (char *)calloc(1,(size_t)pcVar13);
  if (pcVar5 == (char *)0x0) {
    set_loc("awk.h",0x7db);
    piVar7 = __errno_location();
    pcVar8 = strerror(*piVar7);
    pcVar9 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
    r_fatal(pcVar9,"awkgram.y",0xa18,"yyerror","buf",pcVar13,pcVar8);
  }
  pcVar8 = lexeme;
  pcVar13 = pcVar5;
  pcVar9 = thisline;
  pcVar10 = pcVar5;
  if (lexptr != (char *)0x0) {
    while (pcVar13 = pcVar10, pcVar9 < pcVar8) {
      while( true ) {
        pcVar6 = pcVar9 + 1;
        pcVar10 = pcVar13 + 1;
        if (*pcVar9 == '\t') break;
        *pcVar13 = ' ';
        pcVar9 = pcVar6;
        pcVar13 = pcVar10;
        if (pcVar8 <= pcVar6) goto LAB_0001bee6;
      }
      *pcVar13 = '\t';
      pcVar9 = pcVar6;
    }
LAB_0001bee6:
    pcVar13 = pcVar10 + 2;
    pcVar10[0] = '^';
    pcVar10[1] = ' ';
  }
  strcpy(pcVar13,__s);
  err(false,"",pcVar5,&stack0x00000008);
  free(pcVar5);
  return;
}



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

void FUN_0001bd20(char *param_1)

{
  int iVar1;
  uint uVar2;
  uint uVar3;
  size_t sVar4;
  char *pcVar5;
  char *pcVar6;
  char *pcVar7;
  int *piVar8;
  char *pcVar9;
  undefined4 uVar10;
  char *pcVar11;
  uint *puVar12;
  uint *puVar13;
  char *__s;
  char *pcVar14;
  bool bVar15;
  char *local_28;
  
  iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc);
  FUN_0001a600();
  pcVar5 = DAT_000c0f18;
  pcVar14 = DAT_000c0f14;
  DAT_000bfbe4 = DAT_000bfbe4 + 1;
  if ((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)) {
    DAT_000c0f0c = s__END_OF_FILE__000bf010;
    puVar13 = (uint *)s__END_OF_FILE__000bf010;
    do {
      puVar12 = puVar13;
      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;
      uVar3 = uVar2 & 0x80808080;
      puVar13 = puVar12 + 1;
    } while (uVar3 == 0);
    bVar15 = (uVar2 & 0x8080) == 0;
    if (bVar15) {
      uVar3 = uVar3 >> 0x10;
    }
    if (bVar15) {
      puVar13 = (uint *)((int)puVar12 + 6);
    }
    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));
    __s = (char *)0x0;
  }
  else {
    __s = (char *)0x0;
    if (DAT_000c0f0c == (char *)0x0) {
      if (*DAT_000c0f14 == '\n') {
        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);
        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);
        if (local_28 != pcVar5) goto LAB_0001c000;
LAB_0001c059:
        local_28 = pcVar5;
        DAT_000c0f0c = pcVar5;
        if (*pcVar5 == '\n') goto LAB_0001c009;
      }
      else {
        DAT_000c0f0c = pcVar5;
        if (DAT_000c0f14 != DAT_000c0f18) {
          do {
            local_28 = local_28 + -1;
            if (local_28 == pcVar5) goto LAB_0001c059;
LAB_0001c000:
          } while (*local_28 != '\n');
LAB_0001c009:
          DAT_000c0f0c = local_28 + 1;
        }
      }
    }
    if (pcVar14 < DAT_000c0f0c) {
      pcVar14 = DAT_000c0f0c + 1;
    }
    if (pcVar14 < DAT_000c0f1c) {
      do {
        if (*pcVar14 == '\0') {
          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;
          goto LAB_0001be27;
        }
      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));
    }
  }
  if (DAT_000c0f10 != '\0') {
LAB_0001be27:
    if ((__s == (char *)0x0) && (iVar1 == 0)) {
      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);
      __s = (char *)dcgettext(0,
                              "source files / command-line arguments must contain complete functions or rules"
                              ,5);
      goto LAB_0001be5d;
    }
  }
LAB_0001bdc0:
  FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);
LAB_0001be5d:
  if (__s == (char *)0x0) {
    __s = param_1;
  }
  sVar4 = strlen(__s);
  pcVar14 = (char *)(sVar4 + 1);
  if (DAT_000c0f20 != 0) {
    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);
  }
  pcVar14 = pcVar14 + 1;
  if (pcVar14 == (char *)0x0) {
    FUN_000660d0("awk.h",0x7d7);
    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);
  }
  pcVar5 = (char *)calloc(1,(size_t)pcVar14);
  if (pcVar5 == (char *)0x0) {
    FUN_000660d0("awk.h",0x7db);
    piVar8 = __errno_location();
    pcVar9 = strerror(*piVar8);
    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);
  }
  pcVar9 = DAT_000c0f14;
  pcVar14 = pcVar5;
  pcVar6 = DAT_000c0f0c;
  pcVar11 = pcVar5;
  if (DAT_000c0f20 != 0) {
    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {
      while( true ) {
        pcVar7 = pcVar6 + 1;
        pcVar11 = pcVar14 + 1;
        if (*pcVar6 == '\t') break;
        *pcVar14 = ' ';
        pcVar6 = pcVar7;
        pcVar14 = pcVar11;
        if (pcVar9 <= pcVar7) goto LAB_0001bee6;
      }
      *pcVar14 = '\t';
      pcVar6 = pcVar7;
    }
LAB_0001bee6:
    pcVar14 = pcVar11 + 2;
    pcVar11[0] = '^';
    pcVar11[1] = ' ';
  }
  strcpy(pcVar14,__s);
  err(0,&DAT_000954d0,pcVar5,&stack0x00000008);
  free(pcVar5);
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016f50
ADD EBX,0xa2fbb
SUB ESP,0x20
MOV EDI,dword ptr [ESP + 0x34]
LEA EAX,[EBX + 0x33c]
PUSH 0xc
PUSH EAX
PUSH EDI
CALL 0x000145a0
ADD ESP,0x10
MOV EBP,EAX
CALL 0x0001a600
MOV ESI,dword ptr [EBX + 0x223c]
ADD dword ptr [EBX + 0xf00],0x1
TEST ESI,ESI
JZ 0x0001bde0
MOV EDX,dword ptr [EBX + 0x2230]
TEST EDX,EDX
JZ 0x0001bde0
MOV ECX,dword ptr [EBX + 0x2228]
XOR ESI,ESI
TEST ECX,ECX
JZ 0x0001bfe0
CMP EDX,ECX
LEA EAX,[ECX + 0x1]
MOV ECX,dword ptr [EBX + 0x2238]
CMOVC EDX,EAX
CMP EDX,ECX
JC 0x0001bda7
JMP 0x0001be1e
CMP AL,0xa
JZ 0x0001be1e
ADD EDX,0x1
CMP EDX,ECX
JZ 0x0001be1e
MOVZX EAX,byte ptr [EDX]
TEST AL,AL
JNZ 0x0001bd98
CMP byte ptr [EBX + 0x222c],0x0
JNZ 0x0001be27
MOV ESI,ESI
LEA EDI,[EDI]
MOV EAX,dword ptr [EBX + 0x2228]
SUB ESP,0x4
PUSH EAX
SUB EDX,EAX
LEA EAX,[EBX + 0xfffc94d8]
PUSH EDX
PUSH EAX
CALL 0x000663c0
ADD ESP,0x10
JMP 0x0001be5d
LEA EDX,[EBX + 0x32c]
MOV dword ptr [EBX + 0x2228],EDX
MOV ECX,dword ptr [EDX]
ADD EDX,0x4
LEA EAX,[ECX + 0xfefefeff]
NOT ECX
AND EAX,ECX
AND EAX,0x80808080
JZ 0x0001bdec
MOV ECX,EAX
SHR ECX,0x10
TEST EAX,0x8080
CMOVZ EAX,ECX
LEA ECX,[EDX + 0x2]
CMOVZ EDX,ECX
MOV ECX,EAX
ADD CL,AL
SBB EDX,0x3
XOR ESI,ESI
CMP byte ptr [EBX + 0x222c],0x0
JZ 0x0001bdc0
TEST ESI,ESI
JNZ 0x0001bdc0
TEST EBP,EBP
JNZ 0x0001bdc0
LEA EAX,[EBX + 0x32c]
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xfffd02d7]
PUSH EAX
CALL 0x000663c0
LEA EAX,[EBX + 0xfffc99cc]
ADD ESP,0xc
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013f40
ADD ESP,0x10
MOV ESI,EAX
LEA EAX,[ESP + 0x34]
TEST ESI,ESI
CMOVZ ESI,EDI
SUB ESP,0xc
MOV dword ptr [ESP + 0x10],EAX
PUSH ESI
CALL 0x00014230
MOV ECX,dword ptr [EBX + 0x223c]
ADD ESP,0x10
LEA EDI,[EAX + 0x1]
TEST ECX,ECX
JZ 0x0001be93
MOV EAX,dword ptr [EBX + 0x2230]
SUB EAX,dword ptr [EBX + 0x2228]
LEA EDI,[EDI + EAX*0x1 + 0x2]
ADD EDI,0x1
JZ 0x0001bf30
SUB ESP,0x8
PUSH EDI
PUSH 0x1
CALL 0x000146a0
ADD ESP,0x10
TEST EAX,EAX
MOV EBP,EAX
JZ 0x0001bf70
MOV ECX,dword ptr [EBX + 0x223c]
MOV EAX,EBP
TEST ECX,ECX
JZ 0x0001bef1
MOV EAX,dword ptr [EBX + 0x2228]
MOV EDI,dword ptr [EBX + 0x2230]
MOV ECX,EBP
CMP EDI,EAX
JBE 0x0001bee6
ADD EAX,0x1
ADD ECX,0x1
CMP byte ptr [EAX + -0x1],0x9
JZ 0x0001bf20
CMP EDI,EAX
MOV byte ptr [ECX + -0x1],0x20
JA 0x0001bed2
MOV EDX,0x205e
LEA EAX,[ECX + 0x2]
MOV word ptr [ECX],DX
SUB ESP,0x8
PUSH ESI
PUSH EAX
CALL 0x000140d0
LEA EAX,[EBX + 0xfffd67ec]
PUSH dword ptr [ESP + 0x14]
PUSH EBP
PUSH EAX
PUSH 0x0
CALL 0x00066160
ADD ESP,0x14
PUSH EBP
CALL 0x00013e50
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV byte ptr [ECX + -0x1],0x9
JMP 0x0001bece
LEA EAX,[EBX + 0xfffc8f86]
SUB ESP,0x8
PUSH 0x7d7
PUSH EAX
CALL 0x000660d0
LEA EAX,[EBX + 0xfffc9479]
ADD ESP,0xc
PUSH 0xa18
PUSH EAX
LEA EAX,[EBX + 0xfffc9a1c]
PUSH EAX
CALL 0x00066470
ADD ESP,0x10
JMP 0x0001be9c
LEA EAX,[EBX + 0xfffc8f86]
SUB ESP,0x8
PUSH 0x7db
PUSH EAX
CALL 0x000660d0
CALL 0x00014330
POP EDX
PUSH dword ptr [EAX]
CALL 0x00014180
MOV dword ptr [ESP + 0x18],EAX
LEA EAX,[EBX + 0xfffc9134]
ADD ESP,0xc
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013f40
ADD ESP,0xc
MOV ECX,dword ptr [ESP + 0xc]
PUSH ECX
LEA ECX,[EBX + 0xfffccc6e]
PUSH EDI
PUSH ECX
LEA ECX,[EBX + 0xfffc94dd]
PUSH ECX
LEA ECX,[EBX + 0xfffc9479]
PUSH 0xa18
PUSH ECX
PUSH EAX
CALL 0x00066470
ADD ESP,0x20
JMP 0x0001beb4
CMP byte ptr [EDX],0xa
MOV ECX,dword ptr [EBX + 0x2234]
JZ 0x0001c020
CMP EDX,ECX
MOV dword ptr [ESP + 0x4],EDX
JZ 0x0001c010
SUB dword ptr [ESP + 0x4],0x1
MOV EAX,dword ptr [ESP + 0x4]
CMP EAX,ECX
JZ 0x0001c059
MOV EAX,dword ptr [ESP + 0x4]
CMP byte ptr [EAX],0xa
JNZ 0x0001bff3
MOV ECX,dword ptr [ESP + 0x4]
ADD ECX,0x1
MOV dword ptr [EBX + 0x2228],ECX
JMP 0x0001bd7e
CMP ECX,EDX
MOV EAX,EDX
MOV dword ptr [ESP + 0xc],ECX
SBB EAX,0x0
MOV dword ptr [ESP + 0x8],EDX
SUB ESP,0x4
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[EBX + 0xfffc99a8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013f40
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0xc]
MOV ESI,EAX
CMP dword ptr [ESP + 0x4],ECX
MOV EDX,dword ptr [ESP + 0x8]
JNZ 0x0001c000
CMP byte ptr [ECX],0xa
JNZ 0x0001c010
MOV dword ptr [ESP + 0x4],ECX
JMP 0x0001c009
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0001bd20(char *param_1)\n\n{\n  int iVar1;\n  uint uVar2;\n  uint uVar3;\n  size_t sVar4;\n  char *pcVar5;\n  char *pcVar6;\n  char *pcVar7;\n  int *piVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint *puVar12;\n  uint *puVar13;\n  char *__s;\n  char *pcVar14;\n  bool bVar15;\n  char *local_28;\n  \n  iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc);\n  FUN_0001a600();\n  pcVar5 = DAT_000c0f18;\n  pcVar14 = DAT_000c0f14;\n  DAT_000bfbe4 = DAT_000bfbe4 + 1;\n  if ((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)) {\n    DAT_000c0f0c = s__END_OF_FILE__000bf010;\n    puVar13 = (uint *)s__END_OF_FILE__000bf010;\n    do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);\n    bVar15 = (uVar2 & 0x8080) == 0;\n    if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }\n    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }\n  if (DAT_000c0f10 != '\0') {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }\nLAB_0001bdc0:\n  FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);\nLAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = param_1;\n  }\n  sVar4 = strlen(__s);\n  pcVar14 = (char *)(sVar4 + 1);\n  if (DAT_000c0f20 != 0) {\n    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);\n  }\n  pcVar14 = pcVar14 + 1;\n  if (pcVar14 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7d7);\n    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }\n  pcVar5 = (char *)calloc(1,(size_t)pcVar14);\n  if (pcVar5 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7db);\n    piVar8 = __errno_location();\n    pcVar9 = strerror(*piVar8);\n    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);\n  }\n  pcVar9 = DAT_000c0f14;\n  pcVar14 = pcVar5;\n  pcVar6 = DAT_000c0f0c;\n  pcVar11 = pcVar5;\n  if (DAT_000c0f20 != 0) {\n    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }\nLAB_0001bee6:\n    pcVar14 = pcVar11 + 2;\n    pcVar11[0] = '^';\n    pcVar11[1] = ' ';\n  }\n  strcpy(pcVar14,__s);\n  err(0,&DAT_000954d0,pcVar5,&stack0x00000008);\n  free(pcVar5);\n  return;\n}\n\n" comment (function_definition "void FUN_0001bd20(char *param_1)\n\n{\n  int iVar1;\n  uint uVar2;\n  uint uVar3;\n  size_t sVar4;\n  char *pcVar5;\n  char *pcVar6;\n  char *pcVar7;\n  int *piVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint *puVar12;\n  uint *puVar13;\n  char *__s;\n  char *pcVar14;\n  bool bVar15;\n  char *local_28;\n  \n  iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc);\n  FUN_0001a600();\n  pcVar5 = DAT_000c0f18;\n  pcVar14 = DAT_000c0f14;\n  DAT_000bfbe4 = DAT_000bfbe4 + 1;\n  if ((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)) {\n    DAT_000c0f0c = s__END_OF_FILE__000bf010;\n    puVar13 = (uint *)s__END_OF_FILE__000bf010;\n    do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);\n    bVar15 = (uVar2 & 0x8080) == 0;\n    if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }\n    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }\n  if (DAT_000c0f10 != '\0') {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }\nLAB_0001bdc0:\n  FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);\nLAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = param_1;\n  }\n  sVar4 = strlen(__s);\n  pcVar14 = (char *)(sVar4 + 1);\n  if (DAT_000c0f20 != 0) {\n    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);\n  }\n  pcVar14 = pcVar14 + 1;\n  if (pcVar14 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7d7);\n    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }\n  pcVar5 = (char *)calloc(1,(size_t)pcVar14);\n  if (pcVar5 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7db);\n    piVar8 = __errno_location();\n    pcVar9 = strerror(*piVar8);\n    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);\n  }\n  pcVar9 = DAT_000c0f14;\n  pcVar14 = pcVar5;\n  pcVar6 = DAT_000c0f0c;\n  pcVar11 = pcVar5;\n  if (DAT_000c0f20 != 0) {\n    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }\nLAB_0001bee6:\n    pcVar14 = pcVar11 + 2;\n    pcVar11[0] = '^';\n    pcVar11[1] = ' ';\n  }\n  strcpy(pcVar14,__s);\n  err(0,&DAT_000954d0,pcVar5,&stack0x00000008);\n  free(pcVar5);\n  return;\n}" primitive_type (function_declarator "FUN_0001bd20(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  uint uVar2;\n  uint uVar3;\n  size_t sVar4;\n  char *pcVar5;\n  char *pcVar6;\n  char *pcVar7;\n  int *piVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint *puVar12;\n  uint *puVar13;\n  char *__s;\n  char *pcVar14;\n  bool bVar15;\n  char *local_28;\n  \n  iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc);\n  FUN_0001a600();\n  pcVar5 = DAT_000c0f18;\n  pcVar14 = DAT_000c0f14;\n  DAT_000bfbe4 = DAT_000bfbe4 + 1;\n  if ((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)) {\n    DAT_000c0f0c = s__END_OF_FILE__000bf010;\n    puVar13 = (uint *)s__END_OF_FILE__000bf010;\n    do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);\n    bVar15 = (uVar2 & 0x8080) == 0;\n    if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }\n    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }\n  if (DAT_000c0f10 != '\0') {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }\nLAB_0001bdc0:\n  FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);\nLAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = param_1;\n  }\n  sVar4 = strlen(__s);\n  pcVar14 = (char *)(sVar4 + 1);\n  if (DAT_000c0f20 != 0) {\n    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);\n  }\n  pcVar14 = pcVar14 + 1;\n  if (pcVar14 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7d7);\n    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }\n  pcVar5 = (char *)calloc(1,(size_t)pcVar14);\n  if (pcVar5 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7db);\n    piVar8 = __errno_location();\n    pcVar9 = strerror(*piVar8);\n    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);\n  }\n  pcVar9 = DAT_000c0f14;\n  pcVar14 = pcVar5;\n  pcVar6 = DAT_000c0f0c;\n  pcVar11 = pcVar5;\n  if (DAT_000c0f20 != 0) {\n    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }\nLAB_0001bee6:\n    pcVar14 = pcVar11 + 2;\n    pcVar11[0] = '^';\n    pcVar11[1] = ' ';\n  }\n  strcpy(pcVar14,__s);\n  err(0,&DAT_000954d0,pcVar5,&stack0x00000008);\n  free(pcVar5);\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "char *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (expression_statement "iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc);" (assignment_expression "iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc)" identifier = (call_expression "strncmp(param_1,s_syntax_error_000bf020,0xc)" identifier (argument_list "(param_1,s_syntax_error_000bf020,0xc)" ( identifier , identifier , number_literal )))) ;) (expression_statement "FUN_0001a600();" (call_expression "FUN_0001a600()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = DAT_000c0f18;" (assignment_expression "pcVar5 = DAT_000c0f18" identifier = identifier) ;) (expression_statement "pcVar14 = DAT_000c0f14;" (assignment_expression "pcVar14 = DAT_000c0f14" identifier = identifier) ;) (expression_statement "DAT_000bfbe4 = DAT_000bfbe4 + 1;" (assignment_expression "DAT_000bfbe4 = DAT_000bfbe4 + 1" identifier = (binary_expression "DAT_000bfbe4 + 1" identifier + number_literal)) ;) (if_statement "if ((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)) {\n    DAT_000c0f0c = s__END_OF_FILE__000bf010;\n    puVar13 = (uint *)s__END_OF_FILE__000bf010;\n    do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);\n    bVar15 = (uVar2 & 0x8080) == 0;\n    if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }\n    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }" if (parenthesized_expression "((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0))" ( (binary_expression "(DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)" (parenthesized_expression "(DAT_000c0f20 == 0)" ( (binary_expression "DAT_000c0f20 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)" ( (comma_expression "local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0" (assignment_expression "local_28 = DAT_000c0f14" identifier = identifier) , (binary_expression "DAT_000c0f14 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    DAT_000c0f0c = s__END_OF_FILE__000bf010;\n    puVar13 = (uint *)s__END_OF_FILE__000bf010;\n    do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);\n    bVar15 = (uVar2 & 0x8080) == 0;\n    if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }\n    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }" { (expression_statement "DAT_000c0f0c = s__END_OF_FILE__000bf010;" (assignment_expression "DAT_000c0f0c = s__END_OF_FILE__000bf010" identifier = identifier) ;) (expression_statement "puVar13 = (uint *)s__END_OF_FILE__000bf010;" (assignment_expression "puVar13 = (uint *)s__END_OF_FILE__000bf010" identifier = (cast_expression "(uint *)s__END_OF_FILE__000bf010" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);" do (compound_statement "{\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    }" { (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) (expression_statement "uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;" (assignment_expression "uVar2 = *puVar12 + 0xfefefeff & ~*puVar12" identifier = (binary_expression "*puVar12 + 0xfefefeff & ~*puVar12" (binary_expression "*puVar12 + 0xfefefeff" (pointer_expression "*puVar12" * identifier) + number_literal) & (unary_expression "~*puVar12" ~ (pointer_expression "*puVar12" * identifier)))) ;) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" identifier = (binary_expression "uVar2 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar13 = puVar12 + 1;" (assignment_expression "puVar13 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) ;) (expression_statement "bVar15 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar15 = (uVar2 & 0x8080) == 0" identifier = (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" ( (binary_expression "uVar2 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n      uVar3 = uVar3 >> 0x10;\n    }" { (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" identifier = (binary_expression "uVar3 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }" { (expression_statement "puVar13 = (uint *)((int)puVar12 + 6);" (assignment_expression "puVar13 = (uint *)((int)puVar12 + 6)" identifier = (cast_expression "(uint *)((int)puVar12 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 6)" ( (binary_expression "(int)puVar12 + 6" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));" (assignment_expression "pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)))" identifier = (cast_expression "(char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)))" ( (binary_expression "(int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3))" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar3,(byte)uVar3)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" identifier (argument_list "((byte)uVar3,(byte)uVar3)" ( (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) )))) ;) (expression_statement "__s = (char *)0x0;" (assignment_expression "__s = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }" else (compound_statement "{\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }" { (expression_statement "__s = (char *)0x0;" (assignment_expression "__s = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }" if (parenthesized_expression "(DAT_000c0f0c == (char *)0x0)" ( (binary_expression "DAT_000c0f0c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }" { (if_statement "if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }" if (parenthesized_expression "(*DAT_000c0f14 == '\n')" ( (binary_expression "*DAT_000c0f14 == '\n'" (pointer_expression "*DAT_000c0f14" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }" { (expression_statement "local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);" (assignment_expression "local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14)" identifier = (binary_expression "DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14)" identifier + (unary_expression "-(uint)(DAT_000c0f18 < DAT_000c0f14)" - (call_expression "(uint)(DAT_000c0f18 < DAT_000c0f14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_000c0f18 < DAT_000c0f14)" ( (binary_expression "DAT_000c0f18 < DAT_000c0f14" identifier < identifier) )))))) ;) (expression_statement "__s = (char *)dcgettext(0,"unexpected newline or end of string",5);" (assignment_expression "__s = (char *)dcgettext(0,"unexpected newline or end of string",5)" identifier = (cast_expression "(char *)dcgettext(0,"unexpected newline or end of string",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"unexpected newline or end of string",5)" identifier (argument_list "(0,"unexpected newline or end of string",5)" ( number_literal , (string_literal ""unexpected newline or end of string"" " string_content ") , number_literal ))))) ;) (if_statement "if (local_28 != pcVar5) goto LAB_0001c000;" if (parenthesized_expression "(local_28 != pcVar5)" ( (binary_expression "local_28 != pcVar5" identifier != identifier) )) (goto_statement "goto LAB_0001c000;" goto statement_identifier ;)) (labeled_statement "LAB_0001c059:\n        local_28 = pcVar5;" statement_identifier : (expression_statement "local_28 = pcVar5;" (assignment_expression "local_28 = pcVar5" identifier = identifier) ;)) (expression_statement "DAT_000c0f0c = pcVar5;" (assignment_expression "DAT_000c0f0c = pcVar5" identifier = identifier) ;) (if_statement "if (*pcVar5 == '\n') goto LAB_0001c009;" if (parenthesized_expression "(*pcVar5 == '\n')" ( (binary_expression "*pcVar5 == '\n'" (pointer_expression "*pcVar5" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001c009;" goto statement_identifier ;)) }) (else_clause "else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }" else (compound_statement "{\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }" { (expression_statement "DAT_000c0f0c = pcVar5;" (assignment_expression "DAT_000c0f0c = pcVar5" identifier = identifier) ;) (if_statement "if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }" if (parenthesized_expression "(DAT_000c0f14 != DAT_000c0f18)" ( (binary_expression "DAT_000c0f14 != DAT_000c0f18" identifier != identifier) )) (compound_statement "{\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }" { (do_statement "do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');" do (compound_statement "{\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          }" { (expression_statement "local_28 = local_28 + -1;" (assignment_expression "local_28 = local_28 + -1" identifier = (binary_expression "local_28 + -1" identifier + number_literal)) ;) (if_statement "if (local_28 == pcVar5) goto LAB_0001c059;" if (parenthesized_expression "(local_28 == pcVar5)" ( (binary_expression "local_28 == pcVar5" identifier == identifier) )) (goto_statement "goto LAB_0001c059;" goto statement_identifier ;)) (labeled_statement "LAB_0001c000:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(*local_28 != '\n')" ( (binary_expression "*local_28 != '\n'" (pointer_expression "*local_28" * identifier) != (char_literal "'\n'" ' escape_sequence ')) )) ;) (labeled_statement "LAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;" statement_identifier : (expression_statement "DAT_000c0f0c = local_28 + 1;" (assignment_expression "DAT_000c0f0c = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) ;)) })) }))) })) (if_statement "if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }" if (parenthesized_expression "(pcVar14 < DAT_000c0f0c)" ( (binary_expression "pcVar14 < DAT_000c0f0c" identifier < identifier) )) (compound_statement "{\n      pcVar14 = DAT_000c0f0c + 1;\n    }" { (expression_statement "pcVar14 = DAT_000c0f0c + 1;" (assignment_expression "pcVar14 = DAT_000c0f0c + 1" identifier = (binary_expression "DAT_000c0f0c + 1" identifier + number_literal)) ;) })) (if_statement "if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }" if (parenthesized_expression "(pcVar14 < DAT_000c0f1c)" ( (binary_expression "pcVar14 < DAT_000c0f1c" identifier < identifier) )) (compound_statement "{\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }" { (do_statement "do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));" do (compound_statement "{\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      }" { (if_statement "if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }" if (parenthesized_expression "(*pcVar14 == '\0')" ( (binary_expression "*pcVar14 == '\0'" (pointer_expression "*pcVar14" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }" { (if_statement "if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;" if (parenthesized_expression "(DAT_000c0f10 == '\0')" ( (binary_expression "DAT_000c0f10 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001bdc0;" goto statement_identifier ;)) (goto_statement "goto LAB_0001be27;" goto statement_identifier ;) })) }) while (parenthesized_expression "((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c))" ( (binary_expression "(*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c)" (parenthesized_expression "(*pcVar14 != '\n')" ( (binary_expression "*pcVar14 != '\n'" (pointer_expression "*pcVar14" * identifier) != (char_literal "'\n'" ' escape_sequence ')) )) && (parenthesized_expression "(pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c)" ( (comma_expression "pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c" (assignment_expression "pcVar14 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) , (binary_expression "pcVar14 != DAT_000c0f1c" identifier != identifier)) ))) )) ;) })) }))) (if_statement "if (DAT_000c0f10 != '\0') {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }" if (parenthesized_expression "(DAT_000c0f10 != '\0')" ( (binary_expression "DAT_000c0f10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }" { (labeled_statement "LAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }" statement_identifier : (if_statement "if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }" if (parenthesized_expression "((__s == (char *)0x0) && (iVar1 == 0))" ( (binary_expression "(__s == (char *)0x0) && (iVar1 == 0)" (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) ))) )) (compound_statement "{\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }" { (expression_statement "FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);" (call_expression "FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010)" identifier (argument_list "(&DAT_0008efbb,s__END_OF_FILE__000bf010)" ( (pointer_expression "&DAT_0008efbb" & identifier) , identifier ))) ;) (expression_statement "__s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);" (assignment_expression "__s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" identifier (argument_list "(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" ( number_literal , (string_literal ""source files / command-line arguments must contain complete functions or rules"" " string_content ") , number_literal ))))) ;) (goto_statement "goto LAB_0001be5d;" goto statement_identifier ;) }))) })) (labeled_statement "LAB_0001bdc0:\n  FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);" statement_identifier : (expression_statement "FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);" (call_expression "FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c)" identifier (argument_list "(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c)" ( (pointer_expression "&DAT_000881bc" & identifier) , (binary_expression "(int)pcVar14 - (int)DAT_000c0f0c" (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)DAT_000c0f0c" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier ))) ;)) (labeled_statement "LAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = param_1;\n  }" statement_identifier : (if_statement "if (__s == (char *)0x0) {\n    __s = param_1;\n  }" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    __s = param_1;\n  }" { (expression_statement "__s = param_1;" (assignment_expression "__s = param_1" identifier = identifier) ;) }))) (expression_statement "sVar4 = strlen(__s);" (assignment_expression "sVar4 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "pcVar14 = (char *)(sVar4 + 1);" (assignment_expression "pcVar14 = (char *)(sVar4 + 1)" identifier = (cast_expression "(char *)(sVar4 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar4 + 1)" ( (binary_expression "sVar4 + 1" identifier + number_literal) )))) ;) (if_statement "if (DAT_000c0f20 != 0) {\n    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);\n  }" if (parenthesized_expression "(DAT_000c0f20 != 0)" ( (binary_expression "DAT_000c0f20 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);\n  }" { (expression_statement "pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);" (assignment_expression "pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c)" identifier = (binary_expression "DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c)" identifier + (parenthesized_expression "((sVar4 + 3) - (int)DAT_000c0f0c)" ( (binary_expression "(sVar4 + 3) - (int)DAT_000c0f0c" (parenthesized_expression "(sVar4 + 3)" ( (binary_expression "sVar4 + 3" identifier + number_literal) )) - (cast_expression "(int)DAT_000c0f0c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "pcVar14 = pcVar14 + 1;" (assignment_expression "pcVar14 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar14 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7d7);\n    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }" if (parenthesized_expression "(pcVar14 == (char *)0x0)" ( (binary_expression "pcVar14 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_000660d0("awk.h",0x7d7);\n    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }" { (expression_statement "FUN_000660d0("awk.h",0x7d7);" (call_expression "FUN_000660d0("awk.h",0x7d7)" identifier (argument_list "("awk.h",0x7d7)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);" (call_expression "FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18)" identifier (argument_list "("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18)" ( (string_literal ""%s:%d: ezalloc called with zero bytes"" " string_content ") , (string_literal ""awkgram.y"" " string_content ") , number_literal ))) ;) })) (expression_statement "pcVar5 = (char *)calloc(1,(size_t)pcVar14);" (assignment_expression "pcVar5 = (char *)calloc(1,(size_t)pcVar14)" identifier = (cast_expression "(char *)calloc(1,(size_t)pcVar14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(1,(size_t)pcVar14)" identifier (argument_list "(1,(size_t)pcVar14)" ( number_literal , (cast_expression "(size_t)pcVar14" ( (type_descriptor "size_t" primitive_type) ) identifier) ))))) ;) (if_statement "if (pcVar5 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7db);\n    piVar8 = __errno_location();\n    pcVar9 = strerror(*piVar8);\n    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);\n  }" if (parenthesized_expression "(pcVar5 == (char *)0x0)" ( (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_000660d0("awk.h",0x7db);\n    piVar8 = __errno_location();\n    pcVar9 = strerror(*piVar8);\n    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);\n  }" { (expression_statement "FUN_000660d0("awk.h",0x7db);" (call_expression "FUN_000660d0("awk.h",0x7db)" identifier (argument_list "("awk.h",0x7db)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar9 = strerror(*piVar8);" (assignment_expression "pcVar9 = strerror(*piVar8)" identifier = (call_expression "strerror(*piVar8)" identifier (argument_list "(*piVar8)" ( (pointer_expression "*piVar8" * identifier) )))) ;) (expression_statement "uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);" (call_expression "FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9)" identifier (argument_list "(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9)" ( identifier , (string_literal ""awkgram.y"" " string_content ") , number_literal , (string_literal ""yyerror"" " string_content ") , (string_literal ""buf"" " string_content ") , identifier , identifier ))) ;) })) (expression_statement "pcVar9 = DAT_000c0f14;" (assignment_expression "pcVar9 = DAT_000c0f14" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar5;" (assignment_expression "pcVar14 = pcVar5" identifier = identifier) ;) (expression_statement "pcVar6 = DAT_000c0f0c;" (assignment_expression "pcVar6 = DAT_000c0f0c" identifier = identifier) ;) (expression_statement "pcVar11 = pcVar5;" (assignment_expression "pcVar11 = pcVar5" identifier = identifier) ;) (if_statement "if (DAT_000c0f20 != 0) {\n    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }\nLAB_0001bee6:\n    pcVar14 = pcVar11 + 2;\n    pcVar11[0] = '^';\n    pcVar11[1] = ' ';\n  }" if (parenthesized_expression "(DAT_000c0f20 != 0)" ( (binary_expression "DAT_000c0f20 != 0" identifier != number_literal) )) (compound_statement "{\n    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }\nLAB_0001bee6:\n    pcVar14 = pcVar11 + 2;\n    pcVar11[0] = '^';\n    pcVar11[1] = ' ';\n  }" { (while_statement "while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }" while (parenthesized_expression "(pcVar14 = pcVar11, pcVar6 < pcVar9)" ( (comma_expression "pcVar14 = pcVar11, pcVar6 < pcVar9" (assignment_expression "pcVar14 = pcVar11" identifier = identifier) , (binary_expression "pcVar6 < pcVar9" identifier < identifier)) )) (compound_statement "{\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }" { (while_statement "while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }" { (expression_statement "pcVar7 = pcVar6 + 1;" (assignment_expression "pcVar7 = pcVar6 + 1" identifier = (binary_expression "pcVar6 + 1" identifier + number_literal)) ;) (expression_statement "pcVar11 = pcVar14 + 1;" (assignment_expression "pcVar11 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) ;) (if_statement "if (*pcVar6 == '\t') break;" if (parenthesized_expression "(*pcVar6 == '\t')" ( (binary_expression "*pcVar6 == '\t'" (pointer_expression "*pcVar6" * identifier) == (char_literal "'\t'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "*pcVar14 = ' ';" (assignment_expression "*pcVar14 = ' '" (pointer_expression "*pcVar14" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "pcVar6 = pcVar7;" (assignment_expression "pcVar6 = pcVar7" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar11;" (assignment_expression "pcVar14 = pcVar11" identifier = identifier) ;) (if_statement "if (pcVar9 <= pcVar7) goto LAB_0001bee6;" if (parenthesized_expression "(pcVar9 <= pcVar7)" ( (binary_expression "pcVar9 <= pcVar7" identifier <= identifier) )) (goto_statement "goto LAB_0001bee6;" goto statement_identifier ;)) })) (expression_statement "*pcVar14 = '\t';" (assignment_expression "*pcVar14 = '\t'" (pointer_expression "*pcVar14" * identifier) = (char_literal "'\t'" ' escape_sequence ')) ;) (expression_statement "pcVar6 = pcVar7;" (assignment_expression "pcVar6 = pcVar7" identifier = identifier) ;) })) (labeled_statement "LAB_0001bee6:\n    pcVar14 = pcVar11 + 2;" statement_identifier : (expression_statement "pcVar14 = pcVar11 + 2;" (assignment_expression "pcVar14 = pcVar11 + 2" identifier = (binary_expression "pcVar11 + 2" identifier + number_literal)) ;)) (expression_statement "pcVar11[0] = '^';" (assignment_expression "pcVar11[0] = '^'" (subscript_expression "pcVar11[0]" identifier [ number_literal ]) = (char_literal "'^'" ' character ')) ;) (expression_statement "pcVar11[1] = ' ';" (assignment_expression "pcVar11[1] = ' '" (subscript_expression "pcVar11[1]" identifier [ number_literal ]) = (char_literal "' '" ' character ')) ;) })) (expression_statement "strcpy(pcVar14,__s);" (call_expression "strcpy(pcVar14,__s)" identifier (argument_list "(pcVar14,__s)" ( identifier , identifier ))) ;) (expression_statement "err(0,&DAT_000954d0,pcVar5,&stack0x00000008);" (call_expression "err(0,&DAT_000954d0,pcVar5,&stack0x00000008)" identifier (argument_list "(0,&DAT_000954d0,pcVar5,&stack0x00000008)" ( number_literal , (pointer_expression "&DAT_000954d0" & identifier) , identifier , (pointer_expression "&stack0x00000008" & identifier) ))) ;) (expression_statement "free(pcVar5);" (call_expression "free(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nvoid yyerror(char *m,...)\n\n{\n  int iVar1;\n  uint uVar2;\n  uint uVar3;\n  size_t sVar4;\n  char *pcVar5;\n  char *pcVar6;\n  int *piVar7;\n  char *pcVar8;\n  char *pcVar9;\n  char *pcVar10;\n  uint *puVar11;\n  uint *puVar12;\n  char *__s;\n  char *pcVar13;\n  bool bVar14;\n  char *local_28;\n  \n  iVar1 = strncmp(m,yyerror::syntax_error,0xc);\n  print_included_from();\n  pcVar5 = lexptr_begin;\n  pcVar13 = lexeme;\n  errcount = errcount + 1;\n  if ((lexptr == (char *)0x0) || (local_28 = lexeme, lexeme == (char *)0x0)) {\n    thisline = yyerror::end_of_file_line;\n    puVar12 = (uint *)yyerror::end_of_file_line;\n    do {\n      puVar11 = puVar12;\n      uVar2 = *puVar11 + 0xfefefeff & ~*puVar11;\n      uVar3 = uVar2 & 0x80808080;\n      puVar12 = puVar11 + 1;\n    } while (uVar3 == 0);\n    bVar14 = (uVar2 & 0x8080) == 0;\n    if (bVar14) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar14) {\n      puVar12 = (uint *)((int)puVar11 + 6);\n    }\n    pcVar13 = (char *)((int)puVar12 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (thisline == (char *)0x0) {\n      if (*lexeme == '\n') {\n        local_28 = lexeme + -(uint)(lexptr_begin < lexeme);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        thisline = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        thisline = pcVar5;\n        if (lexeme != lexptr_begin) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          thisline = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar13 < thisline) {\n      pcVar13 = thisline + 1;\n    }\n    if (pcVar13 < lexend) {\n      do {\n        if (*pcVar13 == '\0') {\n          if (lexeof == false) goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar13 != '\n') && (pcVar13 = pcVar13 + 1, pcVar13 != lexend));\n    }\n  }\n  if (lexeof != false) {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      msg("%s",yyerror::end_of_file_line);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }\nLAB_0001bdc0:\n  msg("%.*s",(int)pcVar13 - (int)thisline,thisline);\nLAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = m;\n  }\n  sVar4 = strlen(__s);\n  pcVar13 = (char *)(sVar4 + 1);\n  if (lexptr != (char *)0x0) {\n    pcVar13 = lexeme + ((sVar4 + 3) - (int)thisline);\n  }\n  pcVar13 = pcVar13 + 1;\n  if (pcVar13 == (char *)0x0) {\n    set_loc("awk.h",0x7d7);\n    r_fatal("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }\n  pcVar5 = (char *)calloc(1,(size_t)pcVar13);\n  if (pcVar5 == (char *)0x0) {\n    set_loc("awk.h",0x7db);\n    piVar7 = __errno_location();\n    pcVar8 = strerror(*piVar7);\n    pcVar9 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    r_fatal(pcVar9,"awkgram.y",0xa18,"yyerror","buf",pcVar13,pcVar8);\n  }\n  pcVar8 = lexeme;\n  pcVar13 = pcVar5;\n  pcVar9 = thisline;\n  pcVar10 = pcVar5;\n  if (lexptr != (char *)0x0) {\n    while (pcVar13 = pcVar10, pcVar9 < pcVar8) {\n      while( true ) {\n        pcVar6 = pcVar9 + 1;\n        pcVar10 = pcVar13 + 1;\n        if (*pcVar9 == '\t') break;\n        *pcVar13 = ' ';\n        pcVar9 = pcVar6;\n        pcVar13 = pcVar10;\n        if (pcVar8 <= pcVar6) goto LAB_0001bee6;\n      }\n      *pcVar13 = '\t';\n      pcVar9 = pcVar6;\n    }\nLAB_0001bee6:\n    pcVar13 = pcVar10 + 2;\n    pcVar10[0] = '^';\n    pcVar10[1] = ' ';\n  }\n  strcpy(pcVar13,__s);\n  err(false,"",pcVar5,&stack0x00000008);\n  free(pcVar5);\n  return;\n}\n\n" comment comment (function_definition "void yyerror(char *m,...)\n\n{\n  int iVar1;\n  uint uVar2;\n  uint uVar3;\n  size_t sVar4;\n  char *pcVar5;\n  char *pcVar6;\n  int *piVar7;\n  char *pcVar8;\n  char *pcVar9;\n  char *pcVar10;\n  uint *puVar11;\n  uint *puVar12;\n  char *__s;\n  char *pcVar13;\n  bool bVar14;\n  char *local_28;\n  \n  iVar1 = strncmp(m,yyerror::syntax_error,0xc);\n  print_included_from();\n  pcVar5 = lexptr_begin;\n  pcVar13 = lexeme;\n  errcount = errcount + 1;\n  if ((lexptr == (char *)0x0) || (local_28 = lexeme, lexeme == (char *)0x0)) {\n    thisline = yyerror::end_of_file_line;\n    puVar12 = (uint *)yyerror::end_of_file_line;\n    do {\n      puVar11 = puVar12;\n      uVar2 = *puVar11 + 0xfefefeff & ~*puVar11;\n      uVar3 = uVar2 & 0x80808080;\n      puVar12 = puVar11 + 1;\n    } while (uVar3 == 0);\n    bVar14 = (uVar2 & 0x8080) == 0;\n    if (bVar14) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar14) {\n      puVar12 = (uint *)((int)puVar11 + 6);\n    }\n    pcVar13 = (char *)((int)puVar12 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (thisline == (char *)0x0) {\n      if (*lexeme == '\n') {\n        local_28 = lexeme + -(uint)(lexptr_begin < lexeme);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        thisline = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        thisline = pcVar5;\n        if (lexeme != lexptr_begin) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          thisline = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar13 < thisline) {\n      pcVar13 = thisline + 1;\n    }\n    if (pcVar13 < lexend) {\n      do {\n        if (*pcVar13 == '\0') {\n          if (lexeof == false) goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar13 != '\n') && (pcVar13 = pcVar13 + 1, pcVar13 != lexend));\n    }\n  }\n  if (lexeof != false) {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      msg("%s",yyerror::end_of_file_line);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }\nLAB_0001bdc0:\n  msg("%.*s",(int)pcVar13 - (int)thisline,thisline);\nLAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = m;\n  }\n  sVar4 = strlen(__s);\n  pcVar13 = (char *)(sVar4 + 1);\n  if (lexptr != (char *)0x0) {\n    pcVar13 = lexeme + ((sVar4 + 3) - (int)thisline);\n  }\n  pcVar13 = pcVar13 + 1;\n  if (pcVar13 == (char *)0x0) {\n    set_loc("awk.h",0x7d7);\n    r_fatal("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }\n  pcVar5 = (char *)calloc(1,(size_t)pcVar13);\n  if (pcVar5 == (char *)0x0) {\n    set_loc("awk.h",0x7db);\n    piVar7 = __errno_location();\n    pcVar8 = strerror(*piVar7);\n    pcVar9 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    r_fatal(pcVar9,"awkgram.y",0xa18,"yyerror","buf",pcVar13,pcVar8);\n  }\n  pcVar8 = lexeme;\n  pcVar13 = pcVar5;\n  pcVar9 = thisline;\n  pcVar10 = pcVar5;\n  if (lexptr != (char *)0x0) {\n    while (pcVar13 = pcVar10, pcVar9 < pcVar8) {\n      while( true ) {\n        pcVar6 = pcVar9 + 1;\n        pcVar10 = pcVar13 + 1;\n        if (*pcVar9 == '\t') break;\n        *pcVar13 = ' ';\n        pcVar9 = pcVar6;\n        pcVar13 = pcVar10;\n        if (pcVar8 <= pcVar6) goto LAB_0001bee6;\n      }\n      *pcVar13 = '\t';\n      pcVar9 = pcVar6;\n    }\nLAB_0001bee6:\n    pcVar13 = pcVar10 + 2;\n    pcVar10[0] = '^';\n    pcVar10[1] = ' ';\n  }\n  strcpy(pcVar13,__s);\n  err(false,"",pcVar5,&stack0x00000008);\n  free(pcVar5);\n  return;\n}" primitive_type (function_declarator "yyerror(char *m,...)" identifier (parameter_list "(char *m,...)" ( (parameter_declaration "char *m" primitive_type (pointer_declarator "*m" * identifier)) , (variadic_parameter "..." ...) ))) (compound_statement "{\n  int iVar1;\n  uint uVar2;\n  uint uVar3;\n  size_t sVar4;\n  char *pcVar5;\n  char *pcVar6;\n  int *piVar7;\n  char *pcVar8;\n  char *pcVar9;\n  char *pcVar10;\n  uint *puVar11;\n  uint *puVar12;\n  char *__s;\n  char *pcVar13;\n  bool bVar14;\n  char *local_28;\n  \n  iVar1 = strncmp(m,yyerror::syntax_error,0xc);\n  print_included_from();\n  pcVar5 = lexptr_begin;\n  pcVar13 = lexeme;\n  errcount = errcount + 1;\n  if ((lexptr == (char *)0x0) || (local_28 = lexeme, lexeme == (char *)0x0)) {\n    thisline = yyerror::end_of_file_line;\n    puVar12 = (uint *)yyerror::end_of_file_line;\n    do {\n      puVar11 = puVar12;\n      uVar2 = *puVar11 + 0xfefefeff & ~*puVar11;\n      uVar3 = uVar2 & 0x80808080;\n      puVar12 = puVar11 + 1;\n    } while (uVar3 == 0);\n    bVar14 = (uVar2 & 0x8080) == 0;\n    if (bVar14) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar14) {\n      puVar12 = (uint *)((int)puVar11 + 6);\n    }\n    pcVar13 = (char *)((int)puVar12 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (thisline == (char *)0x0) {\n      if (*lexeme == '\n') {\n        local_28 = lexeme + -(uint)(lexptr_begin < lexeme);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        thisline = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        thisline = pcVar5;\n        if (lexeme != lexptr_begin) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          thisline = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar13 < thisline) {\n      pcVar13 = thisline + 1;\n    }\n    if (pcVar13 < lexend) {\n      do {\n        if (*pcVar13 == '\0') {\n          if (lexeof == false) goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar13 != '\n') && (pcVar13 = pcVar13 + 1, pcVar13 != lexend));\n    }\n  }\n  if (lexeof != false) {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      msg("%s",yyerror::end_of_file_line);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }\nLAB_0001bdc0:\n  msg("%.*s",(int)pcVar13 - (int)thisline,thisline);\nLAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = m;\n  }\n  sVar4 = strlen(__s);\n  pcVar13 = (char *)(sVar4 + 1);\n  if (lexptr != (char *)0x0) {\n    pcVar13 = lexeme + ((sVar4 + 3) - (int)thisline);\n  }\n  pcVar13 = pcVar13 + 1;\n  if (pcVar13 == (char *)0x0) {\n    set_loc("awk.h",0x7d7);\n    r_fatal("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }\n  pcVar5 = (char *)calloc(1,(size_t)pcVar13);\n  if (pcVar5 == (char *)0x0) {\n    set_loc("awk.h",0x7db);\n    piVar7 = __errno_location();\n    pcVar8 = strerror(*piVar7);\n    pcVar9 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    r_fatal(pcVar9,"awkgram.y",0xa18,"yyerror","buf",pcVar13,pcVar8);\n  }\n  pcVar8 = lexeme;\n  pcVar13 = pcVar5;\n  pcVar9 = thisline;\n  pcVar10 = pcVar5;\n  if (lexptr != (char *)0x0) {\n    while (pcVar13 = pcVar10, pcVar9 < pcVar8) {\n      while( true ) {\n        pcVar6 = pcVar9 + 1;\n        pcVar10 = pcVar13 + 1;\n        if (*pcVar9 == '\t') break;\n        *pcVar13 = ' ';\n        pcVar9 = pcVar6;\n        pcVar13 = pcVar10;\n        if (pcVar8 <= pcVar6) goto LAB_0001bee6;\n      }\n      *pcVar13 = '\t';\n      pcVar9 = pcVar6;\n    }\nLAB_0001bee6:\n    pcVar13 = pcVar10 + 2;\n    pcVar10[0] = '^';\n    pcVar10[1] = ' ';\n  }\n  strcpy(pcVar13,__s);\n  err(false,"",pcVar5,&stack0x00000008);\n  free(pcVar5);\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "char *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (expression_statement "iVar1 = strncmp(m,yyerror::syntax_error,0xc);" (assignment_expression "iVar1 = strncmp(m,yyerror::syntax_error,0xc)" identifier = (call_expression "strncmp(m,yyerror::syntax_error,0xc)" identifier (argument_list "(m,yyerror::syntax_error,0xc)" ( identifier , (ERROR "yyerror::" identifier : :) identifier , number_literal )))) ;) (expression_statement "print_included_from();" (call_expression "print_included_from()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = lexptr_begin;" (assignment_expression "pcVar5 = lexptr_begin" identifier = identifier) ;) (expression_statement "pcVar13 = lexeme;" (assignment_expression "pcVar13 = lexeme" identifier = identifier) ;) (expression_statement "errcount = errcount + 1;" (assignment_expression "errcount = errcount + 1" identifier = (binary_expression "errcount + 1" identifier + number_literal)) ;) (if_statement "if ((lexptr == (char *)0x0) || (local_28 = lexeme, lexeme == (char *)0x0)) {\n    thisline = yyerror::end_of_file_line;\n    puVar12 = (uint *)yyerror::end_of_file_line;\n    do {\n      puVar11 = puVar12;\n      uVar2 = *puVar11 + 0xfefefeff & ~*puVar11;\n      uVar3 = uVar2 & 0x80808080;\n      puVar12 = puVar11 + 1;\n    } while (uVar3 == 0);\n    bVar14 = (uVar2 & 0x8080) == 0;\n    if (bVar14) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar14) {\n      puVar12 = (uint *)((int)puVar11 + 6);\n    }\n    pcVar13 = (char *)((int)puVar12 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (thisline == (char *)0x0) {\n      if (*lexeme == '\n') {\n        local_28 = lexeme + -(uint)(lexptr_begin < lexeme);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        thisline = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        thisline = pcVar5;\n        if (lexeme != lexptr_begin) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          thisline = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar13 < thisline) {\n      pcVar13 = thisline + 1;\n    }\n    if (pcVar13 < lexend) {\n      do {\n        if (*pcVar13 == '\0') {\n          if (lexeof == false) goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar13 != '\n') && (pcVar13 = pcVar13 + 1, pcVar13 != lexend));\n    }\n  }" if (parenthesized_expression "((lexptr == (char *)0x0) || (local_28 = lexeme, lexeme == (char *)0x0))" ( (binary_expression "(lexptr == (char *)0x0) || (local_28 = lexeme, lexeme == (char *)0x0)" (parenthesized_expression "(lexptr == (char *)0x0)" ( (binary_expression "lexptr == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_28 = lexeme, lexeme == (char *)0x0)" ( (comma_expression "local_28 = lexeme, lexeme == (char *)0x0" (assignment_expression "local_28 = lexeme" identifier = identifier) , (binary_expression "lexeme == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    thisline = yyerror::end_of_file_line;\n    puVar12 = (uint *)yyerror::end_of_file_line;\n    do {\n      puVar11 = puVar12;\n      uVar2 = *puVar11 + 0xfefefeff & ~*puVar11;\n      uVar3 = uVar2 & 0x80808080;\n      puVar12 = puVar11 + 1;\n    } while (uVar3 == 0);\n    bVar14 = (uVar2 & 0x8080) == 0;\n    if (bVar14) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar14) {\n      puVar12 = (uint *)((int)puVar11 + 6);\n    }\n    pcVar13 = (char *)((int)puVar12 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }" { (expression_statement "thisline = yyerror::end_of_file_line;" (assignment_expression "thisline = yyerror" identifier = identifier) (ERROR "::end_of_file_line" : : identifier) ;) (expression_statement "puVar12 = (uint *)yyerror::end_of_file_line;" (assignment_expression "puVar12 = (uint *)yyerror" identifier = (cast_expression "(uint *)yyerror" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) (ERROR "::end_of_file_line" : : identifier) ;) (do_statement "do {\n      puVar11 = puVar12;\n      uVar2 = *puVar11 + 0xfefefeff & ~*puVar11;\n      uVar3 = uVar2 & 0x80808080;\n      puVar12 = puVar11 + 1;\n    } while (uVar3 == 0);" do (compound_statement "{\n      puVar11 = puVar12;\n      uVar2 = *puVar11 + 0xfefefeff & ~*puVar11;\n      uVar3 = uVar2 & 0x80808080;\n      puVar12 = puVar11 + 1;\n    }" { (expression_statement "puVar11 = puVar12;" (assignment_expression "puVar11 = puVar12" identifier = identifier) ;) (expression_statement "uVar2 = *puVar11 + 0xfefefeff & ~*puVar11;" (assignment_expression "uVar2 = *puVar11 + 0xfefefeff & ~*puVar11" identifier = (binary_expression "*puVar11 + 0xfefefeff & ~*puVar11" (binary_expression "*puVar11 + 0xfefefeff" (pointer_expression "*puVar11" * identifier) + number_literal) & (unary_expression "~*puVar11" ~ (pointer_expression "*puVar11" * identifier)))) ;) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" identifier = (binary_expression "uVar2 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar12 = puVar11 + 1;" (assignment_expression "puVar12 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) ;) (expression_statement "bVar14 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar14 = (uVar2 & 0x8080) == 0" identifier = (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" ( (binary_expression "uVar2 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar14) {\n      uVar3 = uVar3 >> 0x10;\n    }" if (parenthesized_expression "(bVar14)" ( identifier )) (compound_statement "{\n      uVar3 = uVar3 >> 0x10;\n    }" { (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" identifier = (binary_expression "uVar3 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar14) {\n      puVar12 = (uint *)((int)puVar11 + 6);\n    }" if (parenthesized_expression "(bVar14)" ( identifier )) (compound_statement "{\n      puVar12 = (uint *)((int)puVar11 + 6);\n    }" { (expression_statement "puVar12 = (uint *)((int)puVar11 + 6);" (assignment_expression "puVar12 = (uint *)((int)puVar11 + 6)" identifier = (cast_expression "(uint *)((int)puVar11 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 6)" ( (binary_expression "(int)puVar11 + 6" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "pcVar13 = (char *)((int)puVar12 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));" (assignment_expression "pcVar13 = (char *)((int)puVar12 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)))" identifier = (cast_expression "(char *)((int)puVar12 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)))" ( (binary_expression "(int)puVar12 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3))" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar3,(byte)uVar3)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" identifier (argument_list "((byte)uVar3,(byte)uVar3)" ( (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) )))) ;) (expression_statement "__s = (char *)0x0;" (assignment_expression "__s = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    __s = (char *)0x0;\n    if (thisline == (char *)0x0) {\n      if (*lexeme == '\n') {\n        local_28 = lexeme + -(uint)(lexptr_begin < lexeme);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        thisline = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        thisline = pcVar5;\n        if (lexeme != lexptr_begin) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          thisline = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar13 < thisline) {\n      pcVar13 = thisline + 1;\n    }\n    if (pcVar13 < lexend) {\n      do {\n        if (*pcVar13 == '\0') {\n          if (lexeof == false) goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar13 != '\n') && (pcVar13 = pcVar13 + 1, pcVar13 != lexend));\n    }\n  }" else (compound_statement "{\n    __s = (char *)0x0;\n    if (thisline == (char *)0x0) {\n      if (*lexeme == '\n') {\n        local_28 = lexeme + -(uint)(lexptr_begin < lexeme);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        thisline = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        thisline = pcVar5;\n        if (lexeme != lexptr_begin) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          thisline = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar13 < thisline) {\n      pcVar13 = thisline + 1;\n    }\n    if (pcVar13 < lexend) {\n      do {\n        if (*pcVar13 == '\0') {\n          if (lexeof == false) goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar13 != '\n') && (pcVar13 = pcVar13 + 1, pcVar13 != lexend));\n    }\n  }" { (expression_statement "__s = (char *)0x0;" (assignment_expression "__s = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (thisline == (char *)0x0) {\n      if (*lexeme == '\n') {\n        local_28 = lexeme + -(uint)(lexptr_begin < lexeme);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        thisline = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        thisline = pcVar5;\n        if (lexeme != lexptr_begin) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          thisline = local_28 + 1;\n        }\n      }\n    }" if (parenthesized_expression "(thisline == (char *)0x0)" ( (binary_expression "thisline == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*lexeme == '\n') {\n        local_28 = lexeme + -(uint)(lexptr_begin < lexeme);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        thisline = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        thisline = pcVar5;\n        if (lexeme != lexptr_begin) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          thisline = local_28 + 1;\n        }\n      }\n    }" { (if_statement "if (*lexeme == '\n') {\n        local_28 = lexeme + -(uint)(lexptr_begin < lexeme);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        thisline = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        thisline = pcVar5;\n        if (lexeme != lexptr_begin) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          thisline = local_28 + 1;\n        }\n      }" if (parenthesized_expression "(*lexeme == '\n')" ( (binary_expression "*lexeme == '\n'" (pointer_expression "*lexeme" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n        local_28 = lexeme + -(uint)(lexptr_begin < lexeme);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        thisline = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }" { (expression_statement "local_28 = lexeme + -(uint)(lexptr_begin < lexeme);" (assignment_expression "local_28 = lexeme + -(uint)(lexptr_begin < lexeme)" identifier = (binary_expression "lexeme + -(uint)(lexptr_begin < lexeme)" identifier + (unary_expression "-(uint)(lexptr_begin < lexeme)" - (call_expression "(uint)(lexptr_begin < lexeme)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lexptr_begin < lexeme)" ( (binary_expression "lexptr_begin < lexeme" identifier < identifier) )))))) ;) (expression_statement "__s = (char *)dcgettext(0,"unexpected newline or end of string",5);" (assignment_expression "__s = (char *)dcgettext(0,"unexpected newline or end of string",5)" identifier = (cast_expression "(char *)dcgettext(0,"unexpected newline or end of string",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"unexpected newline or end of string",5)" identifier (argument_list "(0,"unexpected newline or end of string",5)" ( number_literal , (string_literal ""unexpected newline or end of string"" " string_content ") , number_literal ))))) ;) (if_statement "if (local_28 != pcVar5) goto LAB_0001c000;" if (parenthesized_expression "(local_28 != pcVar5)" ( (binary_expression "local_28 != pcVar5" identifier != identifier) )) (goto_statement "goto LAB_0001c000;" goto statement_identifier ;)) (labeled_statement "LAB_0001c059:\n        local_28 = pcVar5;" statement_identifier : (expression_statement "local_28 = pcVar5;" (assignment_expression "local_28 = pcVar5" identifier = identifier) ;)) (expression_statement "thisline = pcVar5;" (assignment_expression "thisline = pcVar5" identifier = identifier) ;) (if_statement "if (*pcVar5 == '\n') goto LAB_0001c009;" if (parenthesized_expression "(*pcVar5 == '\n')" ( (binary_expression "*pcVar5 == '\n'" (pointer_expression "*pcVar5" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001c009;" goto statement_identifier ;)) }) (else_clause "else {\n        thisline = pcVar5;\n        if (lexeme != lexptr_begin) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          thisline = local_28 + 1;\n        }\n      }" else (compound_statement "{\n        thisline = pcVar5;\n        if (lexeme != lexptr_begin) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          thisline = local_28 + 1;\n        }\n      }" { (expression_statement "thisline = pcVar5;" (assignment_expression "thisline = pcVar5" identifier = identifier) ;) (if_statement "if (lexeme != lexptr_begin) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          thisline = local_28 + 1;\n        }" if (parenthesized_expression "(lexeme != lexptr_begin)" ( (binary_expression "lexeme != lexptr_begin" identifier != identifier) )) (compound_statement "{\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          thisline = local_28 + 1;\n        }" { (do_statement "do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');" do (compound_statement "{\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          }" { (expression_statement "local_28 = local_28 + -1;" (assignment_expression "local_28 = local_28 + -1" identifier = (binary_expression "local_28 + -1" identifier + number_literal)) ;) (if_statement "if (local_28 == pcVar5) goto LAB_0001c059;" if (parenthesized_expression "(local_28 == pcVar5)" ( (binary_expression "local_28 == pcVar5" identifier == identifier) )) (goto_statement "goto LAB_0001c059;" goto statement_identifier ;)) (labeled_statement "LAB_0001c000:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(*local_28 != '\n')" ( (binary_expression "*local_28 != '\n'" (pointer_expression "*local_28" * identifier) != (char_literal "'\n'" ' escape_sequence ')) )) ;) (labeled_statement "LAB_0001c009:\n          thisline = local_28 + 1;" statement_identifier : (expression_statement "thisline = local_28 + 1;" (assignment_expression "thisline = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) ;)) })) }))) })) (if_statement "if (pcVar13 < thisline) {\n      pcVar13 = thisline + 1;\n    }" if (parenthesized_expression "(pcVar13 < thisline)" ( (binary_expression "pcVar13 < thisline" identifier < identifier) )) (compound_statement "{\n      pcVar13 = thisline + 1;\n    }" { (expression_statement "pcVar13 = thisline + 1;" (assignment_expression "pcVar13 = thisline + 1" identifier = (binary_expression "thisline + 1" identifier + number_literal)) ;) })) (if_statement "if (pcVar13 < lexend) {\n      do {\n        if (*pcVar13 == '\0') {\n          if (lexeof == false) goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar13 != '\n') && (pcVar13 = pcVar13 + 1, pcVar13 != lexend));\n    }" if (parenthesized_expression "(pcVar13 < lexend)" ( (binary_expression "pcVar13 < lexend" identifier < identifier) )) (compound_statement "{\n      do {\n        if (*pcVar13 == '\0') {\n          if (lexeof == false) goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar13 != '\n') && (pcVar13 = pcVar13 + 1, pcVar13 != lexend));\n    }" { (do_statement "do {\n        if (*pcVar13 == '\0') {\n          if (lexeof == false) goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar13 != '\n') && (pcVar13 = pcVar13 + 1, pcVar13 != lexend));" do (compound_statement "{\n        if (*pcVar13 == '\0') {\n          if (lexeof == false) goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      }" { (if_statement "if (*pcVar13 == '\0') {\n          if (lexeof == false) goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }" if (parenthesized_expression "(*pcVar13 == '\0')" ( (binary_expression "*pcVar13 == '\0'" (pointer_expression "*pcVar13" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (lexeof == false) goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }" { (if_statement "if (lexeof == false) goto LAB_0001bdc0;" if (parenthesized_expression "(lexeof == false)" ( (binary_expression "lexeof == false" identifier == false) )) (goto_statement "goto LAB_0001bdc0;" goto statement_identifier ;)) (goto_statement "goto LAB_0001be27;" goto statement_identifier ;) })) }) while (parenthesized_expression "((*pcVar13 != '\n') && (pcVar13 = pcVar13 + 1, pcVar13 != lexend))" ( (binary_expression "(*pcVar13 != '\n') && (pcVar13 = pcVar13 + 1, pcVar13 != lexend)" (parenthesized_expression "(*pcVar13 != '\n')" ( (binary_expression "*pcVar13 != '\n'" (pointer_expression "*pcVar13" * identifier) != (char_literal "'\n'" ' escape_sequence ')) )) && (parenthesized_expression "(pcVar13 = pcVar13 + 1, pcVar13 != lexend)" ( (comma_expression "pcVar13 = pcVar13 + 1, pcVar13 != lexend" (assignment_expression "pcVar13 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) , (binary_expression "pcVar13 != lexend" identifier != identifier)) ))) )) ;) })) }))) (if_statement "if (lexeof != false) {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      msg("%s",yyerror::end_of_file_line);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }" if (parenthesized_expression "(lexeof != false)" ( (binary_expression "lexeof != false" identifier != false) )) (compound_statement "{\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      msg("%s",yyerror::end_of_file_line);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }" { (labeled_statement "LAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      msg("%s",yyerror::end_of_file_line);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }" statement_identifier : (if_statement "if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      msg("%s",yyerror::end_of_file_line);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }" if (parenthesized_expression "((__s == (char *)0x0) && (iVar1 == 0))" ( (binary_expression "(__s == (char *)0x0) && (iVar1 == 0)" (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) ))) )) (compound_statement "{\n      msg("%s",yyerror::end_of_file_line);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }" { (expression_statement "msg("%s",yyerror::end_of_file_line);" (call_expression "msg("%s",yyerror::end_of_file_line)" identifier (argument_list "("%s",yyerror::end_of_file_line)" ( (string_literal ""%s"" " string_content ") , (ERROR "yyerror::" identifier : :) identifier ))) ;) (expression_statement "__s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);" (assignment_expression "__s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" identifier (argument_list "(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" ( number_literal , (string_literal ""source files / command-line arguments must contain complete functions or rules"" " string_content ") , number_literal ))))) ;) (goto_statement "goto LAB_0001be5d;" goto statement_identifier ;) }))) })) (labeled_statement "LAB_0001bdc0:\n  msg("%.*s",(int)pcVar13 - (int)thisline,thisline);" statement_identifier : (expression_statement "msg("%.*s",(int)pcVar13 - (int)thisline,thisline);" (call_expression "msg("%.*s",(int)pcVar13 - (int)thisline,thisline)" identifier (argument_list "("%.*s",(int)pcVar13 - (int)thisline,thisline)" ( (string_literal ""%.*s"" " string_content ") , (binary_expression "(int)pcVar13 - (int)thisline" (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)thisline" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier ))) ;)) (labeled_statement "LAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = m;\n  }" statement_identifier : (if_statement "if (__s == (char *)0x0) {\n    __s = m;\n  }" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    __s = m;\n  }" { (expression_statement "__s = m;" (assignment_expression "__s = m" identifier = identifier) ;) }))) (expression_statement "sVar4 = strlen(__s);" (assignment_expression "sVar4 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "pcVar13 = (char *)(sVar4 + 1);" (assignment_expression "pcVar13 = (char *)(sVar4 + 1)" identifier = (cast_expression "(char *)(sVar4 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar4 + 1)" ( (binary_expression "sVar4 + 1" identifier + number_literal) )))) ;) (if_statement "if (lexptr != (char *)0x0) {\n    pcVar13 = lexeme + ((sVar4 + 3) - (int)thisline);\n  }" if (parenthesized_expression "(lexptr != (char *)0x0)" ( (binary_expression "lexptr != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar13 = lexeme + ((sVar4 + 3) - (int)thisline);\n  }" { (expression_statement "pcVar13 = lexeme + ((sVar4 + 3) - (int)thisline);" (assignment_expression "pcVar13 = lexeme + ((sVar4 + 3) - (int)thisline)" identifier = (binary_expression "lexeme + ((sVar4 + 3) - (int)thisline)" identifier + (parenthesized_expression "((sVar4 + 3) - (int)thisline)" ( (binary_expression "(sVar4 + 3) - (int)thisline" (parenthesized_expression "(sVar4 + 3)" ( (binary_expression "sVar4 + 3" identifier + number_literal) )) - (cast_expression "(int)thisline" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "pcVar13 = pcVar13 + 1;" (assignment_expression "pcVar13 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar13 == (char *)0x0) {\n    set_loc("awk.h",0x7d7);\n    r_fatal("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    set_loc("awk.h",0x7d7);\n    r_fatal("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }" { (expression_statement "set_loc("awk.h",0x7d7);" (call_expression "set_loc("awk.h",0x7d7)" identifier (argument_list "("awk.h",0x7d7)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "r_fatal("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);" (call_expression "r_fatal("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18)" identifier (argument_list "("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18)" ( (string_literal ""%s:%d: ezalloc called with zero bytes"" " string_content ") , (string_literal ""awkgram.y"" " string_content ") , number_literal ))) ;) })) (expression_statement "pcVar5 = (char *)calloc(1,(size_t)pcVar13);" (assignment_expression "pcVar5 = (char *)calloc(1,(size_t)pcVar13)" identifier = (cast_expression "(char *)calloc(1,(size_t)pcVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(1,(size_t)pcVar13)" identifier (argument_list "(1,(size_t)pcVar13)" ( number_literal , (cast_expression "(size_t)pcVar13" ( (type_descriptor "size_t" primitive_type) ) identifier) ))))) ;) (if_statement "if (pcVar5 == (char *)0x0) {\n    set_loc("awk.h",0x7db);\n    piVar7 = __errno_location();\n    pcVar8 = strerror(*piVar7);\n    pcVar9 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    r_fatal(pcVar9,"awkgram.y",0xa18,"yyerror","buf",pcVar13,pcVar8);\n  }" if (parenthesized_expression "(pcVar5 == (char *)0x0)" ( (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    set_loc("awk.h",0x7db);\n    piVar7 = __errno_location();\n    pcVar8 = strerror(*piVar7);\n    pcVar9 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    r_fatal(pcVar9,"awkgram.y",0xa18,"yyerror","buf",pcVar13,pcVar8);\n  }" { (expression_statement "set_loc("awk.h",0x7db);" (call_expression "set_loc("awk.h",0x7db)" identifier (argument_list "("awk.h",0x7db)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar8 = strerror(*piVar7);" (assignment_expression "pcVar8 = strerror(*piVar7)" identifier = (call_expression "strerror(*piVar7)" identifier (argument_list "(*piVar7)" ( (pointer_expression "*piVar7" * identifier) )))) ;) (expression_statement "pcVar9 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "pcVar9 = (char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "r_fatal(pcVar9,"awkgram.y",0xa18,"yyerror","buf",pcVar13,pcVar8);" (call_expression "r_fatal(pcVar9,"awkgram.y",0xa18,"yyerror","buf",pcVar13,pcVar8)" identifier (argument_list "(pcVar9,"awkgram.y",0xa18,"yyerror","buf",pcVar13,pcVar8)" ( identifier , (string_literal ""awkgram.y"" " string_content ") , number_literal , (string_literal ""yyerror"" " string_content ") , (string_literal ""buf"" " string_content ") , identifier , identifier ))) ;) })) (expression_statement "pcVar8 = lexeme;" (assignment_expression "pcVar8 = lexeme" identifier = identifier) ;) (expression_statement "pcVar13 = pcVar5;" (assignment_expression "pcVar13 = pcVar5" identifier = identifier) ;) (expression_statement "pcVar9 = thisline;" (assignment_expression "pcVar9 = thisline" identifier = identifier) ;) (expression_statement "pcVar10 = pcVar5;" (assignment_expression "pcVar10 = pcVar5" identifier = identifier) ;) (if_statement "if (lexptr != (char *)0x0) {\n    while (pcVar13 = pcVar10, pcVar9 < pcVar8) {\n      while( true ) {\n        pcVar6 = pcVar9 + 1;\n        pcVar10 = pcVar13 + 1;\n        if (*pcVar9 == '\t') break;\n        *pcVar13 = ' ';\n        pcVar9 = pcVar6;\n        pcVar13 = pcVar10;\n        if (pcVar8 <= pcVar6) goto LAB_0001bee6;\n      }\n      *pcVar13 = '\t';\n      pcVar9 = pcVar6;\n    }\nLAB_0001bee6:\n    pcVar13 = pcVar10 + 2;\n    pcVar10[0] = '^';\n    pcVar10[1] = ' ';\n  }" if (parenthesized_expression "(lexptr != (char *)0x0)" ( (binary_expression "lexptr != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    while (pcVar13 = pcVar10, pcVar9 < pcVar8) {\n      while( true ) {\n        pcVar6 = pcVar9 + 1;\n        pcVar10 = pcVar13 + 1;\n        if (*pcVar9 == '\t') break;\n        *pcVar13 = ' ';\n        pcVar9 = pcVar6;\n        pcVar13 = pcVar10;\n        if (pcVar8 <= pcVar6) goto LAB_0001bee6;\n      }\n      *pcVar13 = '\t';\n      pcVar9 = pcVar6;\n    }\nLAB_0001bee6:\n    pcVar13 = pcVar10 + 2;\n    pcVar10[0] = '^';\n    pcVar10[1] = ' ';\n  }" { (while_statement "while (pcVar13 = pcVar10, pcVar9 < pcVar8) {\n      while( true ) {\n        pcVar6 = pcVar9 + 1;\n        pcVar10 = pcVar13 + 1;\n        if (*pcVar9 == '\t') break;\n        *pcVar13 = ' ';\n        pcVar9 = pcVar6;\n        pcVar13 = pcVar10;\n        if (pcVar8 <= pcVar6) goto LAB_0001bee6;\n      }\n      *pcVar13 = '\t';\n      pcVar9 = pcVar6;\n    }" while (parenthesized_expression "(pcVar13 = pcVar10, pcVar9 < pcVar8)" ( (comma_expression "pcVar13 = pcVar10, pcVar9 < pcVar8" (assignment_expression "pcVar13 = pcVar10" identifier = identifier) , (binary_expression "pcVar9 < pcVar8" identifier < identifier)) )) (compound_statement "{\n      while( true ) {\n        pcVar6 = pcVar9 + 1;\n        pcVar10 = pcVar13 + 1;\n        if (*pcVar9 == '\t') break;\n        *pcVar13 = ' ';\n        pcVar9 = pcVar6;\n        pcVar13 = pcVar10;\n        if (pcVar8 <= pcVar6) goto LAB_0001bee6;\n      }\n      *pcVar13 = '\t';\n      pcVar9 = pcVar6;\n    }" { (while_statement "while( true ) {\n        pcVar6 = pcVar9 + 1;\n        pcVar10 = pcVar13 + 1;\n        if (*pcVar9 == '\t') break;\n        *pcVar13 = ' ';\n        pcVar9 = pcVar6;\n        pcVar13 = pcVar10;\n        if (pcVar8 <= pcVar6) goto LAB_0001bee6;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pcVar6 = pcVar9 + 1;\n        pcVar10 = pcVar13 + 1;\n        if (*pcVar9 == '\t') break;\n        *pcVar13 = ' ';\n        pcVar9 = pcVar6;\n        pcVar13 = pcVar10;\n        if (pcVar8 <= pcVar6) goto LAB_0001bee6;\n      }" { (expression_statement "pcVar6 = pcVar9 + 1;" (assignment_expression "pcVar6 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) (expression_statement "pcVar10 = pcVar13 + 1;" (assignment_expression "pcVar10 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (if_statement "if (*pcVar9 == '\t') break;" if (parenthesized_expression "(*pcVar9 == '\t')" ( (binary_expression "*pcVar9 == '\t'" (pointer_expression "*pcVar9" * identifier) == (char_literal "'\t'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "*pcVar13 = ' ';" (assignment_expression "*pcVar13 = ' '" (pointer_expression "*pcVar13" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "pcVar9 = pcVar6;" (assignment_expression "pcVar9 = pcVar6" identifier = identifier) ;) (expression_statement "pcVar13 = pcVar10;" (assignment_expression "pcVar13 = pcVar10" identifier = identifier) ;) (if_statement "if (pcVar8 <= pcVar6) goto LAB_0001bee6;" if (parenthesized_expression "(pcVar8 <= pcVar6)" ( (binary_expression "pcVar8 <= pcVar6" identifier <= identifier) )) (goto_statement "goto LAB_0001bee6;" goto statement_identifier ;)) })) (expression_statement "*pcVar13 = '\t';" (assignment_expression "*pcVar13 = '\t'" (pointer_expression "*pcVar13" * identifier) = (char_literal "'\t'" ' escape_sequence ')) ;) (expression_statement "pcVar9 = pcVar6;" (assignment_expression "pcVar9 = pcVar6" identifier = identifier) ;) })) (labeled_statement "LAB_0001bee6:\n    pcVar13 = pcVar10 + 2;" statement_identifier : (expression_statement "pcVar13 = pcVar10 + 2;" (assignment_expression "pcVar13 = pcVar10 + 2" identifier = (binary_expression "pcVar10 + 2" identifier + number_literal)) ;)) (expression_statement "pcVar10[0] = '^';" (assignment_expression "pcVar10[0] = '^'" (subscript_expression "pcVar10[0]" identifier [ number_literal ]) = (char_literal "'^'" ' character ')) ;) (expression_statement "pcVar10[1] = ' ';" (assignment_expression "pcVar10[1] = ' '" (subscript_expression "pcVar10[1]" identifier [ number_literal ]) = (char_literal "' '" ' character ')) ;) })) (expression_statement "strcpy(pcVar13,__s);" (call_expression "strcpy(pcVar13,__s)" identifier (argument_list "(pcVar13,__s)" ( identifier , identifier ))) ;) (expression_statement "err(false,"",pcVar5,&stack0x00000008);" (call_expression "err(false,"",pcVar5,&stack0x00000008)" identifier (argument_list "(false,"",pcVar5,&stack0x00000008)" ( false , (string_literal """" " ") , identifier , (pointer_expression "&stack0x00000008" & identifier) ))) ;) (expression_statement "free(pcVar5);" (call_expression "free(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0001bd20(char *param_1)\n\n{\n  int iVar1;\n  uint uVar2;\n  uint uVar3;\n  size_t sVar4;\n  char *pcVar5;\n  char *pcVar6;\n  char *pcVar7;\n  int *piVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint *puVar12;\n  uint *puVar13;\n  char *__s;\n  char *pcVar14;\n  bool bVar15;\n  char *local_28;\n  \n  iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc);\n  FUN_0001a600();\n  pcVar5 = DAT_000c0f18;\n  pcVar14 = DAT_000c0f14;\n  DAT_000bfbe4 = DAT_000bfbe4 + 1;\n  if ((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)) {\n    DAT_000c0f0c = s__END_OF_FILE__000bf010;\n    puVar13 = (uint *)s__END_OF_FILE__000bf010;\n    do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);\n    bVar15 = (uVar2 & 0x8080) == 0;\n    if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }\n    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }\n  if (DAT_000c0f10 != '\0') {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }\nLAB_0001bdc0:\n  FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);\nLAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = param_1;\n  }\n  sVar4 = strlen(__s);\n  pcVar14 = (char *)(sVar4 + 1);\n  if (DAT_000c0f20 != 0) {\n    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);\n  }\n  pcVar14 = pcVar14 + 1;\n  if (pcVar14 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7d7);\n    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }\n  pcVar5 = (char *)calloc(1,(size_t)pcVar14);\n  if (pcVar5 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7db);\n    piVar8 = __errno_location();\n    pcVar9 = strerror(*piVar8);\n    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);\n  }\n  pcVar9 = DAT_000c0f14;\n  pcVar14 = pcVar5;\n  pcVar6 = DAT_000c0f0c;\n  pcVar11 = pcVar5;\n  if (DAT_000c0f20 != 0) {\n    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }\nLAB_0001bee6:\n    pcVar14 = pcVar11 + 2;\n    pcVar11[0] = '^';\n    pcVar11[1] = ' ';\n  }\n  strcpy(pcVar14,__s);\n  err(0,&DAT_000954d0,pcVar5,&stack0x00000008);\n  free(pcVar5);\n  return;\n}\n\n" (function_definition "void FUN_0001bd20(char *param_1)\n\n{\n  int iVar1;\n  uint uVar2;\n  uint uVar3;\n  size_t sVar4;\n  char *pcVar5;\n  char *pcVar6;\n  char *pcVar7;\n  int *piVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint *puVar12;\n  uint *puVar13;\n  char *__s;\n  char *pcVar14;\n  bool bVar15;\n  char *local_28;\n  \n  iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc);\n  FUN_0001a600();\n  pcVar5 = DAT_000c0f18;\n  pcVar14 = DAT_000c0f14;\n  DAT_000bfbe4 = DAT_000bfbe4 + 1;\n  if ((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)) {\n    DAT_000c0f0c = s__END_OF_FILE__000bf010;\n    puVar13 = (uint *)s__END_OF_FILE__000bf010;\n    do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);\n    bVar15 = (uVar2 & 0x8080) == 0;\n    if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }\n    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }\n  if (DAT_000c0f10 != '\0') {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }\nLAB_0001bdc0:\n  FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);\nLAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = param_1;\n  }\n  sVar4 = strlen(__s);\n  pcVar14 = (char *)(sVar4 + 1);\n  if (DAT_000c0f20 != 0) {\n    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);\n  }\n  pcVar14 = pcVar14 + 1;\n  if (pcVar14 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7d7);\n    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }\n  pcVar5 = (char *)calloc(1,(size_t)pcVar14);\n  if (pcVar5 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7db);\n    piVar8 = __errno_location();\n    pcVar9 = strerror(*piVar8);\n    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);\n  }\n  pcVar9 = DAT_000c0f14;\n  pcVar14 = pcVar5;\n  pcVar6 = DAT_000c0f0c;\n  pcVar11 = pcVar5;\n  if (DAT_000c0f20 != 0) {\n    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }\nLAB_0001bee6:\n    pcVar14 = pcVar11 + 2;\n    pcVar11[0] = '^';\n    pcVar11[1] = ' ';\n  }\n  strcpy(pcVar14,__s);\n  err(0,&DAT_000954d0,pcVar5,&stack0x00000008);\n  free(pcVar5);\n  return;\n}" primitive_type (function_declarator "FUN_0001bd20(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  uint uVar2;\n  uint uVar3;\n  size_t sVar4;\n  char *pcVar5;\n  char *pcVar6;\n  char *pcVar7;\n  int *piVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint *puVar12;\n  uint *puVar13;\n  char *__s;\n  char *pcVar14;\n  bool bVar15;\n  char *local_28;\n  \n  iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc);\n  FUN_0001a600();\n  pcVar5 = DAT_000c0f18;\n  pcVar14 = DAT_000c0f14;\n  DAT_000bfbe4 = DAT_000bfbe4 + 1;\n  if ((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)) {\n    DAT_000c0f0c = s__END_OF_FILE__000bf010;\n    puVar13 = (uint *)s__END_OF_FILE__000bf010;\n    do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);\n    bVar15 = (uVar2 & 0x8080) == 0;\n    if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }\n    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }\n  if (DAT_000c0f10 != '\0') {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }\nLAB_0001bdc0:\n  FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);\nLAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = param_1;\n  }\n  sVar4 = strlen(__s);\n  pcVar14 = (char *)(sVar4 + 1);\n  if (DAT_000c0f20 != 0) {\n    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);\n  }\n  pcVar14 = pcVar14 + 1;\n  if (pcVar14 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7d7);\n    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }\n  pcVar5 = (char *)calloc(1,(size_t)pcVar14);\n  if (pcVar5 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7db);\n    piVar8 = __errno_location();\n    pcVar9 = strerror(*piVar8);\n    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);\n  }\n  pcVar9 = DAT_000c0f14;\n  pcVar14 = pcVar5;\n  pcVar6 = DAT_000c0f0c;\n  pcVar11 = pcVar5;\n  if (DAT_000c0f20 != 0) {\n    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }\nLAB_0001bee6:\n    pcVar14 = pcVar11 + 2;\n    pcVar11[0] = '^';\n    pcVar11[1] = ' ';\n  }\n  strcpy(pcVar14,__s);\n  err(0,&DAT_000954d0,pcVar5,&stack0x00000008);\n  free(pcVar5);\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "char *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (expression_statement "iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc);" (assignment_expression "iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc)" identifier = (call_expression "strncmp(param_1,s_syntax_error_000bf020,0xc)" identifier (argument_list "(param_1,s_syntax_error_000bf020,0xc)" ( identifier , identifier , number_literal )))) ;) (expression_statement "FUN_0001a600();" (call_expression "FUN_0001a600()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = DAT_000c0f18;" (assignment_expression "pcVar5 = DAT_000c0f18" identifier = identifier) ;) (expression_statement "pcVar14 = DAT_000c0f14;" (assignment_expression "pcVar14 = DAT_000c0f14" identifier = identifier) ;) (expression_statement "DAT_000bfbe4 = DAT_000bfbe4 + 1;" (assignment_expression "DAT_000bfbe4 = DAT_000bfbe4 + 1" identifier = (binary_expression "DAT_000bfbe4 + 1" identifier + number_literal)) ;) (if_statement "if ((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)) {\n    DAT_000c0f0c = s__END_OF_FILE__000bf010;\n    puVar13 = (uint *)s__END_OF_FILE__000bf010;\n    do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);\n    bVar15 = (uVar2 & 0x8080) == 0;\n    if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }\n    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }" if (parenthesized_expression "((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0))" ( (binary_expression "(DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)" (parenthesized_expression "(DAT_000c0f20 == 0)" ( (binary_expression "DAT_000c0f20 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)" ( (comma_expression "local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0" (assignment_expression "local_28 = DAT_000c0f14" identifier = identifier) , (binary_expression "DAT_000c0f14 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    DAT_000c0f0c = s__END_OF_FILE__000bf010;\n    puVar13 = (uint *)s__END_OF_FILE__000bf010;\n    do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);\n    bVar15 = (uVar2 & 0x8080) == 0;\n    if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }\n    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }" { (expression_statement "DAT_000c0f0c = s__END_OF_FILE__000bf010;" (assignment_expression "DAT_000c0f0c = s__END_OF_FILE__000bf010" identifier = identifier) ;) (expression_statement "puVar13 = (uint *)s__END_OF_FILE__000bf010;" (assignment_expression "puVar13 = (uint *)s__END_OF_FILE__000bf010" identifier = (cast_expression "(uint *)s__END_OF_FILE__000bf010" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);" do (compound_statement "{\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    }" { (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) (expression_statement "uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;" (assignment_expression "uVar2 = *puVar12 + 0xfefefeff & ~*puVar12" identifier = (binary_expression "*puVar12 + 0xfefefeff & ~*puVar12" (binary_expression "*puVar12 + 0xfefefeff" (pointer_expression "*puVar12" * identifier) + number_literal) & (unary_expression "~*puVar12" ~ (pointer_expression "*puVar12" * identifier)))) ;) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" identifier = (binary_expression "uVar2 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar13 = puVar12 + 1;" (assignment_expression "puVar13 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) ;) (expression_statement "bVar15 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar15 = (uVar2 & 0x8080) == 0" identifier = (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" ( (binary_expression "uVar2 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n      uVar3 = uVar3 >> 0x10;\n    }" { (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" identifier = (binary_expression "uVar3 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }" { (expression_statement "puVar13 = (uint *)((int)puVar12 + 6);" (assignment_expression "puVar13 = (uint *)((int)puVar12 + 6)" identifier = (cast_expression "(uint *)((int)puVar12 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 6)" ( (binary_expression "(int)puVar12 + 6" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));" (assignment_expression "pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)))" identifier = (cast_expression "(char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)))" ( (binary_expression "(int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3))" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar3,(byte)uVar3)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" identifier (argument_list "((byte)uVar3,(byte)uVar3)" ( (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) )))) ;) (expression_statement "__s = (char *)0x0;" (assignment_expression "__s = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }" else (compound_statement "{\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }" { (expression_statement "__s = (char *)0x0;" (assignment_expression "__s = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }" if (parenthesized_expression "(DAT_000c0f0c == (char *)0x0)" ( (binary_expression "DAT_000c0f0c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }" { (if_statement "if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }" if (parenthesized_expression "(*DAT_000c0f14 == '\n')" ( (binary_expression "*DAT_000c0f14 == '\n'" (pointer_expression "*DAT_000c0f14" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }" { (expression_statement "local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);" (assignment_expression "local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14)" identifier = (binary_expression "DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14)" identifier + (unary_expression "-(uint)(DAT_000c0f18 < DAT_000c0f14)" - (call_expression "(uint)(DAT_000c0f18 < DAT_000c0f14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_000c0f18 < DAT_000c0f14)" ( (binary_expression "DAT_000c0f18 < DAT_000c0f14" identifier < identifier) )))))) ;) (expression_statement "__s = (char *)dcgettext(0,"unexpected newline or end of string",5);" (assignment_expression "__s = (char *)dcgettext(0,"unexpected newline or end of string",5)" identifier = (cast_expression "(char *)dcgettext(0,"unexpected newline or end of string",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"unexpected newline or end of string",5)" identifier (argument_list "(0,"unexpected newline or end of string",5)" ( number_literal , (string_literal ""unexpected newline or end of string"" " string_content ") , number_literal ))))) ;) (if_statement "if (local_28 != pcVar5) goto LAB_0001c000;" if (parenthesized_expression "(local_28 != pcVar5)" ( (binary_expression "local_28 != pcVar5" identifier != identifier) )) (goto_statement "goto LAB_0001c000;" goto statement_identifier ;)) (labeled_statement "LAB_0001c059:\n        local_28 = pcVar5;" statement_identifier : (expression_statement "local_28 = pcVar5;" (assignment_expression "local_28 = pcVar5" identifier = identifier) ;)) (expression_statement "DAT_000c0f0c = pcVar5;" (assignment_expression "DAT_000c0f0c = pcVar5" identifier = identifier) ;) (if_statement "if (*pcVar5 == '\n') goto LAB_0001c009;" if (parenthesized_expression "(*pcVar5 == '\n')" ( (binary_expression "*pcVar5 == '\n'" (pointer_expression "*pcVar5" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001c009;" goto statement_identifier ;)) }) (else_clause "else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }" else (compound_statement "{\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }" { (expression_statement "DAT_000c0f0c = pcVar5;" (assignment_expression "DAT_000c0f0c = pcVar5" identifier = identifier) ;) (if_statement "if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }" if (parenthesized_expression "(DAT_000c0f14 != DAT_000c0f18)" ( (binary_expression "DAT_000c0f14 != DAT_000c0f18" identifier != identifier) )) (compound_statement "{\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }" { (do_statement "do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');" do (compound_statement "{\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          }" { (expression_statement "local_28 = local_28 + -1;" (assignment_expression "local_28 = local_28 + -1" identifier = (binary_expression "local_28 + -1" identifier + number_literal)) ;) (if_statement "if (local_28 == pcVar5) goto LAB_0001c059;" if (parenthesized_expression "(local_28 == pcVar5)" ( (binary_expression "local_28 == pcVar5" identifier == identifier) )) (goto_statement "goto LAB_0001c059;" goto statement_identifier ;)) (labeled_statement "LAB_0001c000:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(*local_28 != '\n')" ( (binary_expression "*local_28 != '\n'" (pointer_expression "*local_28" * identifier) != (char_literal "'\n'" ' escape_sequence ')) )) ;) (labeled_statement "LAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;" statement_identifier : (expression_statement "DAT_000c0f0c = local_28 + 1;" (assignment_expression "DAT_000c0f0c = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) ;)) })) }))) })) (if_statement "if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }" if (parenthesized_expression "(pcVar14 < DAT_000c0f0c)" ( (binary_expression "pcVar14 < DAT_000c0f0c" identifier < identifier) )) (compound_statement "{\n      pcVar14 = DAT_000c0f0c + 1;\n    }" { (expression_statement "pcVar14 = DAT_000c0f0c + 1;" (assignment_expression "pcVar14 = DAT_000c0f0c + 1" identifier = (binary_expression "DAT_000c0f0c + 1" identifier + number_literal)) ;) })) (if_statement "if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }" if (parenthesized_expression "(pcVar14 < DAT_000c0f1c)" ( (binary_expression "pcVar14 < DAT_000c0f1c" identifier < identifier) )) (compound_statement "{\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }" { (do_statement "do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));" do (compound_statement "{\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      }" { (if_statement "if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }" if (parenthesized_expression "(*pcVar14 == '\0')" ( (binary_expression "*pcVar14 == '\0'" (pointer_expression "*pcVar14" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }" { (if_statement "if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;" if (parenthesized_expression "(DAT_000c0f10 == '\0')" ( (binary_expression "DAT_000c0f10 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001bdc0;" goto statement_identifier ;)) (goto_statement "goto LAB_0001be27;" goto statement_identifier ;) })) }) while (parenthesized_expression "((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c))" ( (binary_expression "(*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c)" (parenthesized_expression "(*pcVar14 != '\n')" ( (binary_expression "*pcVar14 != '\n'" (pointer_expression "*pcVar14" * identifier) != (char_literal "'\n'" ' escape_sequence ')) )) && (parenthesized_expression "(pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c)" ( (comma_expression "pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c" (assignment_expression "pcVar14 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) , (binary_expression "pcVar14 != DAT_000c0f1c" identifier != identifier)) ))) )) ;) })) }))) (if_statement "if (DAT_000c0f10 != '\0') {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }" if (parenthesized_expression "(DAT_000c0f10 != '\0')" ( (binary_expression "DAT_000c0f10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }" { (labeled_statement "LAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }" statement_identifier : (if_statement "if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }" if (parenthesized_expression "((__s == (char *)0x0) && (iVar1 == 0))" ( (binary_expression "(__s == (char *)0x0) && (iVar1 == 0)" (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) ))) )) (compound_statement "{\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }" { (expression_statement "FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);" (call_expression "FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010)" identifier (argument_list "(&DAT_0008efbb,s__END_OF_FILE__000bf010)" ( (pointer_expression "&DAT_0008efbb" & identifier) , identifier ))) ;) (expression_statement "__s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);" (assignment_expression "__s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" identifier (argument_list "(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" ( number_literal , (string_literal ""source files / command-line arguments must contain complete functions or rules"" " string_content ") , number_literal ))))) ;) (goto_statement "goto LAB_0001be5d;" goto statement_identifier ;) }))) })) (labeled_statement "LAB_0001bdc0:\n  FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);" statement_identifier : (expression_statement "FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);" (call_expression "FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c)" identifier (argument_list "(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c)" ( (pointer_expression "&DAT_000881bc" & identifier) , (binary_expression "(int)pcVar14 - (int)DAT_000c0f0c" (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)DAT_000c0f0c" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier ))) ;)) (labeled_statement "LAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = param_1;\n  }" statement_identifier : (if_statement "if (__s == (char *)0x0) {\n    __s = param_1;\n  }" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    __s = param_1;\n  }" { (expression_statement "__s = param_1;" (assignment_expression "__s = param_1" identifier = identifier) ;) }))) (expression_statement "sVar4 = strlen(__s);" (assignment_expression "sVar4 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "pcVar14 = (char *)(sVar4 + 1);" (assignment_expression "pcVar14 = (char *)(sVar4 + 1)" identifier = (cast_expression "(char *)(sVar4 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar4 + 1)" ( (binary_expression "sVar4 + 1" identifier + number_literal) )))) ;) (if_statement "if (DAT_000c0f20 != 0) {\n    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);\n  }" if (parenthesized_expression "(DAT_000c0f20 != 0)" ( (binary_expression "DAT_000c0f20 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);\n  }" { (expression_statement "pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);" (assignment_expression "pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c)" identifier = (binary_expression "DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c)" identifier + (parenthesized_expression "((sVar4 + 3) - (int)DAT_000c0f0c)" ( (binary_expression "(sVar4 + 3) - (int)DAT_000c0f0c" (parenthesized_expression "(sVar4 + 3)" ( (binary_expression "sVar4 + 3" identifier + number_literal) )) - (cast_expression "(int)DAT_000c0f0c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "pcVar14 = pcVar14 + 1;" (assignment_expression "pcVar14 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar14 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7d7);\n    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }" if (parenthesized_expression "(pcVar14 == (char *)0x0)" ( (binary_expression "pcVar14 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_000660d0("awk.h",0x7d7);\n    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }" { (expression_statement "FUN_000660d0("awk.h",0x7d7);" (call_expression "FUN_000660d0("awk.h",0x7d7)" identifier (argument_list "("awk.h",0x7d7)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);" (call_expression "FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18)" identifier (argument_list "("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18)" ( (string_literal ""%s:%d: ezalloc called with zero bytes"" " string_content ") , (string_literal ""awkgram.y"" " string_content ") , number_literal ))) ;) })) (expression_statement "pcVar5 = (char *)calloc(1,(size_t)pcVar14);" (assignment_expression "pcVar5 = (char *)calloc(1,(size_t)pcVar14)" identifier = (cast_expression "(char *)calloc(1,(size_t)pcVar14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(1,(size_t)pcVar14)" identifier (argument_list "(1,(size_t)pcVar14)" ( number_literal , (cast_expression "(size_t)pcVar14" ( (type_descriptor "size_t" primitive_type) ) identifier) ))))) ;) (if_statement "if (pcVar5 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7db);\n    piVar8 = __errno_location();\n    pcVar9 = strerror(*piVar8);\n    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);\n  }" if (parenthesized_expression "(pcVar5 == (char *)0x0)" ( (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_000660d0("awk.h",0x7db);\n    piVar8 = __errno_location();\n    pcVar9 = strerror(*piVar8);\n    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);\n  }" { (expression_statement "FUN_000660d0("awk.h",0x7db);" (call_expression "FUN_000660d0("awk.h",0x7db)" identifier (argument_list "("awk.h",0x7db)" ( (string_literal ""awk.h"" " string_content ") , number_literal ))) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar9 = strerror(*piVar8);" (assignment_expression "pcVar9 = strerror(*piVar8)" identifier = (call_expression "strerror(*piVar8)" identifier (argument_list "(*piVar8)" ( (pointer_expression "*piVar8" * identifier) )))) ;) (expression_statement "uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier = (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" identifier (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" ( number_literal , (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);" (call_expression "FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9)" identifier (argument_list "(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9)" ( identifier , (string_literal ""awkgram.y"" " string_content ") , number_literal , (string_literal ""yyerror"" " string_content ") , (string_literal ""buf"" " string_content ") , identifier , identifier ))) ;) })) (expression_statement "pcVar9 = DAT_000c0f14;" (assignment_expression "pcVar9 = DAT_000c0f14" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar5;" (assignment_expression "pcVar14 = pcVar5" identifier = identifier) ;) (expression_statement "pcVar6 = DAT_000c0f0c;" (assignment_expression "pcVar6 = DAT_000c0f0c" identifier = identifier) ;) (expression_statement "pcVar11 = pcVar5;" (assignment_expression "pcVar11 = pcVar5" identifier = identifier) ;) (if_statement "if (DAT_000c0f20 != 0) {\n    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }\nLAB_0001bee6:\n    pcVar14 = pcVar11 + 2;\n    pcVar11[0] = '^';\n    pcVar11[1] = ' ';\n  }" if (parenthesized_expression "(DAT_000c0f20 != 0)" ( (binary_expression "DAT_000c0f20 != 0" identifier != number_literal) )) (compound_statement "{\n    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }\nLAB_0001bee6:\n    pcVar14 = pcVar11 + 2;\n    pcVar11[0] = '^';\n    pcVar11[1] = ' ';\n  }" { (while_statement "while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }" while (parenthesized_expression "(pcVar14 = pcVar11, pcVar6 < pcVar9)" ( (comma_expression "pcVar14 = pcVar11, pcVar6 < pcVar9" (assignment_expression "pcVar14 = pcVar11" identifier = identifier) , (binary_expression "pcVar6 < pcVar9" identifier < identifier)) )) (compound_statement "{\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }" { (while_statement "while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }" { (expression_statement "pcVar7 = pcVar6 + 1;" (assignment_expression "pcVar7 = pcVar6 + 1" identifier = (binary_expression "pcVar6 + 1" identifier + number_literal)) ;) (expression_statement "pcVar11 = pcVar14 + 1;" (assignment_expression "pcVar11 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) ;) (if_statement "if (*pcVar6 == '\t') break;" if (parenthesized_expression "(*pcVar6 == '\t')" ( (binary_expression "*pcVar6 == '\t'" (pointer_expression "*pcVar6" * identifier) == (char_literal "'\t'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "*pcVar14 = ' ';" (assignment_expression "*pcVar14 = ' '" (pointer_expression "*pcVar14" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "pcVar6 = pcVar7;" (assignment_expression "pcVar6 = pcVar7" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar11;" (assignment_expression "pcVar14 = pcVar11" identifier = identifier) ;) (if_statement "if (pcVar9 <= pcVar7) goto LAB_0001bee6;" if (parenthesized_expression "(pcVar9 <= pcVar7)" ( (binary_expression "pcVar9 <= pcVar7" identifier <= identifier) )) (goto_statement "goto LAB_0001bee6;" goto statement_identifier ;)) })) (expression_statement "*pcVar14 = '\t';" (assignment_expression "*pcVar14 = '\t'" (pointer_expression "*pcVar14" * identifier) = (char_literal "'\t'" ' escape_sequence ')) ;) (expression_statement "pcVar6 = pcVar7;" (assignment_expression "pcVar6 = pcVar7" identifier = identifier) ;) })) (labeled_statement "LAB_0001bee6:\n    pcVar14 = pcVar11 + 2;" statement_identifier : (expression_statement "pcVar14 = pcVar11 + 2;" (assignment_expression "pcVar14 = pcVar11 + 2" identifier = (binary_expression "pcVar11 + 2" identifier + number_literal)) ;)) (expression_statement "pcVar11[0] = '^';" (assignment_expression "pcVar11[0] = '^'" (subscript_expression "pcVar11[0]" identifier [ number_literal ]) = (char_literal "'^'" ' character ')) ;) (expression_statement "pcVar11[1] = ' ';" (assignment_expression "pcVar11[1] = ' '" (subscript_expression "pcVar11[1]" identifier [ number_literal ]) = (char_literal "' '" ' character ')) ;) })) (expression_statement "strcpy(pcVar14,__s);" (call_expression "strcpy(pcVar14,__s)" identifier (argument_list "(pcVar14,__s)" ( identifier , identifier ))) ;) (expression_statement "err(0,&DAT_000954d0,pcVar5,&stack0x00000008);" (call_expression "err(0,&DAT_000954d0,pcVar5,&stack0x00000008)" identifier (argument_list "(0,&DAT_000954d0,pcVar5,&stack0x00000008)" ( number_literal , (pointer_expression "&DAT_000954d0" & identifier) , identifier , (pointer_expression "&stack0x00000008" & identifier) ))) ;) (expression_statement "free(pcVar5);" (call_expression "free(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = 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 IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement ;)) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) })) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT != IDENT)) ))) )) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (goto_statement goto statement_identifier ;) }))) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , IDENT ))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT < IDENT)) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (break_statement break ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression & IDENT) , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0001bd20(char *param_1)\n\n{\n  int iVar1;\n  uint uVar2;\n  uint uVar3;\n  size_t sVar4;\n  char *pcVar5;\n  char *pcVar6;\n  char *pcVar7;\n  int *piVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint *puVar12;\n  uint *puVar13;\n  char *__s;\n  char *pcVar14;\n  bool bVar15;\n  char *local_28;\n  \n  iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc);\n  FUN_0001a600();\n  pcVar5 = DAT_000c0f18;\n  pcVar14 = DAT_000c0f14;\n  DAT_000bfbe4 = DAT_000bfbe4 + 1;\n  if ((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)) {\n    DAT_000c0f0c = s__END_OF_FILE__000bf010;\n    puVar13 = (uint *)s__END_OF_FILE__000bf010;\n    do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);\n    bVar15 = (uVar2 & 0x8080) == 0;\n    if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }\n    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }\n  if (DAT_000c0f10 != '\0') {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }\nLAB_0001bdc0:\n  FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);\nLAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = param_1;\n  }\n  sVar4 = strlen(__s);\n  pcVar14 = (char *)(sVar4 + 1);\n  if (DAT_000c0f20 != 0) {\n    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);\n  }\n  pcVar14 = pcVar14 + 1;\n  if (pcVar14 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7d7);\n    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }\n  pcVar5 = (char *)calloc(1,(size_t)pcVar14);\n  if (pcVar5 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7db);\n    piVar8 = __errno_location();\n    pcVar9 = strerror(*piVar8);\n    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);\n  }\n  pcVar9 = DAT_000c0f14;\n  pcVar14 = pcVar5;\n  pcVar6 = DAT_000c0f0c;\n  pcVar11 = pcVar5;\n  if (DAT_000c0f20 != 0) {\n    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }\nLAB_0001bee6:\n    pcVar14 = pcVar11 + 2;\n    pcVar11[0] = '^';\n    pcVar11[1] = ' ';\n  }\n  strcpy(pcVar14,__s);\n  err(0,&DAT_000954d0,pcVar5,&stack0x00000008);\n  free(pcVar5);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0001bd20(char *param_1)" (identifier "FUN_0001bd20") (parameter_list "(char *param_1)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  int iVar1;\n  uint uVar2;\n  uint uVar3;\n  size_t sVar4;\n  char *pcVar5;\n  char *pcVar6;\n  char *pcVar7;\n  int *piVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint *puVar12;\n  uint *puVar13;\n  char *__s;\n  char *pcVar14;\n  bool bVar15;\n  char *local_28;\n  \n  iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc);\n  FUN_0001a600();\n  pcVar5 = DAT_000c0f18;\n  pcVar14 = DAT_000c0f14;\n  DAT_000bfbe4 = DAT_000bfbe4 + 1;\n  if ((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)) {\n    DAT_000c0f0c = s__END_OF_FILE__000bf010;\n    puVar13 = (uint *)s__END_OF_FILE__000bf010;\n    do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);\n    bVar15 = (uVar2 & 0x8080) == 0;\n    if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }\n    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }\n  if (DAT_000c0f10 != '\0') {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }\nLAB_0001bdc0:\n  FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);\nLAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = param_1;\n  }\n  sVar4 = strlen(__s);\n  pcVar14 = (char *)(sVar4 + 1);\n  if (DAT_000c0f20 != 0) {\n    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);\n  }\n  pcVar14 = pcVar14 + 1;\n  if (pcVar14 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7d7);\n    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }\n  pcVar5 = (char *)calloc(1,(size_t)pcVar14);\n  if (pcVar5 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7db);\n    piVar8 = __errno_location();\n    pcVar9 = strerror(*piVar8);\n    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);\n  }\n  pcVar9 = DAT_000c0f14;\n  pcVar14 = pcVar5;\n  pcVar6 = DAT_000c0f0c;\n  pcVar11 = pcVar5;\n  if (DAT_000c0f20 != 0) {\n    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }\nLAB_0001bee6:\n    pcVar14 = pcVar11 + 2;\n    pcVar11[0] = '^';\n    pcVar11[1] = ' ';\n  }\n  strcpy(pcVar14,__s);\n  err(0,&DAT_000954d0,pcVar5,&stack0x00000008);\n  free(pcVar5);\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "size_t sVar4;" (primitive_type "size_t") (identifier "sVar4") (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "uint *puVar12;" (type_identifier "uint") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "uint *puVar13;" (type_identifier "uint") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "char *pcVar14;" (primitive_type "char") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "bool bVar15;" (primitive_type "bool") (identifier "bVar15") (; ";")) (declaration "char *local_28;" (primitive_type "char") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (expression_statement "iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc);" (assignment_expression "iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc)" (identifier "iVar1") (= "=") (call_expression "strncmp(param_1,s_syntax_error_000bf020,0xc)" (identifier "strncmp") (argument_list "(param_1,s_syntax_error_000bf020,0xc)" (( "(") (identifier "param_1") (, ",") (identifier "s_syntax_error_000bf020") (, ",") (number_literal "0xc") () ")")))) (; ";")) (expression_statement "FUN_0001a600();" (call_expression "FUN_0001a600()" (identifier "FUN_0001a600") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar5 = DAT_000c0f18;" (assignment_expression "pcVar5 = DAT_000c0f18" (identifier "pcVar5") (= "=") (identifier "DAT_000c0f18")) (; ";")) (expression_statement "pcVar14 = DAT_000c0f14;" (assignment_expression "pcVar14 = DAT_000c0f14" (identifier "pcVar14") (= "=") (identifier "DAT_000c0f14")) (; ";")) (expression_statement "DAT_000bfbe4 = DAT_000bfbe4 + 1;" (assignment_expression "DAT_000bfbe4 = DAT_000bfbe4 + 1" (identifier "DAT_000bfbe4") (= "=") (binary_expression "DAT_000bfbe4 + 1" (identifier "DAT_000bfbe4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)) {\n    DAT_000c0f0c = s__END_OF_FILE__000bf010;\n    puVar13 = (uint *)s__END_OF_FILE__000bf010;\n    do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);\n    bVar15 = (uVar2 & 0x8080) == 0;\n    if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }\n    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }\n  else {\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }" (if "if") (parenthesized_expression "((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0))" (( "(") (binary_expression "(DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)" (parenthesized_expression "(DAT_000c0f20 == 0)" (( "(") (binary_expression "DAT_000c0f20 == 0" (identifier "DAT_000c0f20") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)" (( "(") (comma_expression "local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0" (assignment_expression "local_28 = DAT_000c0f14" (identifier "local_28") (= "=") (identifier "DAT_000c0f14")) (, ",") (binary_expression "DAT_000c0f14 == (char *)0x0" (identifier "DAT_000c0f14") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n    DAT_000c0f0c = s__END_OF_FILE__000bf010;\n    puVar13 = (uint *)s__END_OF_FILE__000bf010;\n    do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);\n    bVar15 = (uVar2 & 0x8080) == 0;\n    if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }\n    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));\n    __s = (char *)0x0;\n  }" ({ "{") (expression_statement "DAT_000c0f0c = s__END_OF_FILE__000bf010;" (assignment_expression "DAT_000c0f0c = s__END_OF_FILE__000bf010" (identifier "DAT_000c0f0c") (= "=") (identifier "s__END_OF_FILE__000bf010")) (; ";")) (expression_statement "puVar13 = (uint *)s__END_OF_FILE__000bf010;" (assignment_expression "puVar13 = (uint *)s__END_OF_FILE__000bf010" (identifier "puVar13") (= "=") (cast_expression "(uint *)s__END_OF_FILE__000bf010" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "s__END_OF_FILE__000bf010"))) (; ";")) (do_statement "do {\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    } while (uVar3 == 0);" (do "do") (compound_statement "{\n      puVar12 = puVar13;\n      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;\n      uVar3 = uVar2 & 0x80808080;\n      puVar13 = puVar12 + 1;\n    }" ({ "{") (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" (identifier "puVar12") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;" (assignment_expression "uVar2 = *puVar12 + 0xfefefeff & ~*puVar12" (identifier "uVar2") (= "=") (binary_expression "*puVar12 + 0xfefefeff & ~*puVar12" (binary_expression "*puVar12 + 0xfefefeff" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (+ "+") (number_literal "0xfefefeff")) (& "&") (unary_expression "~*puVar12" (~ "~") (pointer_expression "*puVar12" (* "*") (identifier "puVar12"))))) (; ";")) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" (identifier "uVar3") (= "=") (binary_expression "uVar2 & 0x80808080" (identifier "uVar2") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar13 = puVar12 + 1;" (assignment_expression "puVar13 = puVar12 + 1" (identifier "puVar13") (= "=") (binary_expression "puVar12 + 1" (identifier "puVar12") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar3 == 0)" (( "(") (binary_expression "uVar3 == 0" (identifier "uVar3") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar15 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar15 = (uVar2 & 0x8080) == 0" (identifier "bVar15") (= "=") (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" (( "(") (binary_expression "uVar2 & 0x8080" (identifier "uVar2") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar15) {\n      uVar3 = uVar3 >> 0x10;\n    }" (if "if") (parenthesized_expression "(bVar15)" (( "(") (identifier "bVar15") () ")")) (compound_statement "{\n      uVar3 = uVar3 >> 0x10;\n    }" ({ "{") (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" (identifier "uVar3") (= "=") (binary_expression "uVar3 >> 0x10" (identifier "uVar3") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar15) {\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }" (if "if") (parenthesized_expression "(bVar15)" (( "(") (identifier "bVar15") () ")")) (compound_statement "{\n      puVar13 = (uint *)((int)puVar12 + 6);\n    }" ({ "{") (expression_statement "puVar13 = (uint *)((int)puVar12 + 6);" (assignment_expression "puVar13 = (uint *)((int)puVar12 + 6)" (identifier "puVar13") (= "=") (cast_expression "(uint *)((int)puVar12 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 6)" (( "(") (binary_expression "(int)puVar12 + 6" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));" (assignment_expression "pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)))" (identifier "pcVar14") (= "=") (cast_expression "(char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)))" (( "(") (binary_expression "(int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3))" (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")) (+ "+") (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3))" (( "(") (binary_expression "-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)" (number_literal "-3") (- "-") (cast_expression "(uint)CARRY1((byte)uVar3,(byte)uVar3)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" (identifier "CARRY1") (argument_list "((byte)uVar3,(byte)uVar3)" (( "(") (cast_expression "(byte)uVar3" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar3")) (, ",") (cast_expression "(byte)uVar3" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar3")) () ")"))))) () ")"))) () ")")))) (; ";")) (expression_statement "__s = (char *)0x0;" (assignment_expression "__s = (char *)0x0" (identifier "__s") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }" (else "else") (compound_statement "{\n    __s = (char *)0x0;\n    if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }\n    if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }\n    if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }\n  }" ({ "{") (expression_statement "__s = (char *)0x0;" (assignment_expression "__s = (char *)0x0" (identifier "__s") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (DAT_000c0f0c == (char *)0x0) {\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(DAT_000c0f0c == (char *)0x0)" (( "(") (binary_expression "DAT_000c0f0c == (char *)0x0" (identifier "DAT_000c0f0c") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }\n    }" ({ "{") (if_statement "if (*DAT_000c0f14 == '\n') {\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }\n      else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }" (if "if") (parenthesized_expression "(*DAT_000c0f14 == '\n')" (( "(") (binary_expression "*DAT_000c0f14 == '\n'" (pointer_expression "*DAT_000c0f14" (* "*") (identifier "DAT_000c0f14")) (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);\n        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);\n        if (local_28 != pcVar5) goto LAB_0001c000;\nLAB_0001c059:\n        local_28 = pcVar5;\n        DAT_000c0f0c = pcVar5;\n        if (*pcVar5 == '\n') goto LAB_0001c009;\n      }" ({ "{") (expression_statement "local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);" (assignment_expression "local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14)" (identifier "local_28") (= "=") (binary_expression "DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14)" (identifier "DAT_000c0f14") (+ "+") (unary_expression "-(uint)(DAT_000c0f18 < DAT_000c0f14)" (- "-") (call_expression "(uint)(DAT_000c0f18 < DAT_000c0f14)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(DAT_000c0f18 < DAT_000c0f14)" (( "(") (binary_expression "DAT_000c0f18 < DAT_000c0f14" (identifier "DAT_000c0f18") (< "<") (identifier "DAT_000c0f14")) () ")")))))) (; ";")) (expression_statement "__s = (char *)dcgettext(0,"unexpected newline or end of string",5);" (assignment_expression "__s = (char *)dcgettext(0,"unexpected newline or end of string",5)" (identifier "__s") (= "=") (cast_expression "(char *)dcgettext(0,"unexpected newline or end of string",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"unexpected newline or end of string",5)" (identifier "dcgettext") (argument_list "(0,"unexpected newline or end of string",5)" (( "(") (number_literal "0") (, ",") (string_literal ""unexpected newline or end of string"" (" """) (string_content "unexpected newline or end of string") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (if_statement "if (local_28 != pcVar5) goto LAB_0001c000;" (if "if") (parenthesized_expression "(local_28 != pcVar5)" (( "(") (binary_expression "local_28 != pcVar5" (identifier "local_28") (!= "!=") (identifier "pcVar5")) () ")")) (goto_statement "goto LAB_0001c000;" (goto "goto") (statement_identifier "LAB_0001c000") (; ";"))) (labeled_statement "LAB_0001c059:\n        local_28 = pcVar5;" (statement_identifier "LAB_0001c059") (: ":") (expression_statement "local_28 = pcVar5;" (assignment_expression "local_28 = pcVar5" (identifier "local_28") (= "=") (identifier "pcVar5")) (; ";"))) (expression_statement "DAT_000c0f0c = pcVar5;" (assignment_expression "DAT_000c0f0c = pcVar5" (identifier "DAT_000c0f0c") (= "=") (identifier "pcVar5")) (; ";")) (if_statement "if (*pcVar5 == '\n') goto LAB_0001c009;" (if "if") (parenthesized_expression "(*pcVar5 == '\n')" (( "(") (binary_expression "*pcVar5 == '\n'" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (goto_statement "goto LAB_0001c009;" (goto "goto") (statement_identifier "LAB_0001c009") (; ";"))) (} "}")) (else_clause "else {\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }" (else "else") (compound_statement "{\n        DAT_000c0f0c = pcVar5;\n        if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }\n      }" ({ "{") (expression_statement "DAT_000c0f0c = pcVar5;" (assignment_expression "DAT_000c0f0c = pcVar5" (identifier "DAT_000c0f0c") (= "=") (identifier "pcVar5")) (; ";")) (if_statement "if (DAT_000c0f14 != DAT_000c0f18) {\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }" (if "if") (parenthesized_expression "(DAT_000c0f14 != DAT_000c0f18)" (( "(") (binary_expression "DAT_000c0f14 != DAT_000c0f18" (identifier "DAT_000c0f14") (!= "!=") (identifier "DAT_000c0f18")) () ")")) (compound_statement "{\n          do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');\nLAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;\n        }" ({ "{") (do_statement "do {\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          } while (*local_28 != '\n');" (do "do") (compound_statement "{\n            local_28 = local_28 + -1;\n            if (local_28 == pcVar5) goto LAB_0001c059;\nLAB_0001c000:\n          }" ({ "{") (expression_statement "local_28 = local_28 + -1;" (assignment_expression "local_28 = local_28 + -1" (identifier "local_28") (= "=") (binary_expression "local_28 + -1" (identifier "local_28") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (local_28 == pcVar5) goto LAB_0001c059;" (if "if") (parenthesized_expression "(local_28 == pcVar5)" (( "(") (binary_expression "local_28 == pcVar5" (identifier "local_28") (== "==") (identifier "pcVar5")) () ")")) (goto_statement "goto LAB_0001c059;" (goto "goto") (statement_identifier "LAB_0001c059") (; ";"))) (labeled_statement "LAB_0001c000:" (statement_identifier "LAB_0001c000") (: ":") (expression_statement "" (; ""))) (} "}")) (while "while") (parenthesized_expression "(*local_28 != '\n')" (( "(") (binary_expression "*local_28 != '\n'" (pointer_expression "*local_28" (* "*") (identifier "local_28")) (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (; ";")) (labeled_statement "LAB_0001c009:\n          DAT_000c0f0c = local_28 + 1;" (statement_identifier "LAB_0001c009") (: ":") (expression_statement "DAT_000c0f0c = local_28 + 1;" (assignment_expression "DAT_000c0f0c = local_28 + 1" (identifier "DAT_000c0f0c") (= "=") (binary_expression "local_28 + 1" (identifier "local_28") (+ "+") (number_literal "1"))) (; ";"))) (} "}"))) (} "}")))) (} "}"))) (if_statement "if (pcVar14 < DAT_000c0f0c) {\n      pcVar14 = DAT_000c0f0c + 1;\n    }" (if "if") (parenthesized_expression "(pcVar14 < DAT_000c0f0c)" (( "(") (binary_expression "pcVar14 < DAT_000c0f0c" (identifier "pcVar14") (< "<") (identifier "DAT_000c0f0c")) () ")")) (compound_statement "{\n      pcVar14 = DAT_000c0f0c + 1;\n    }" ({ "{") (expression_statement "pcVar14 = DAT_000c0f0c + 1;" (assignment_expression "pcVar14 = DAT_000c0f0c + 1" (identifier "pcVar14") (= "=") (binary_expression "DAT_000c0f0c + 1" (identifier "DAT_000c0f0c") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (pcVar14 < DAT_000c0f1c) {\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }" (if "if") (parenthesized_expression "(pcVar14 < DAT_000c0f1c)" (( "(") (binary_expression "pcVar14 < DAT_000c0f1c" (identifier "pcVar14") (< "<") (identifier "DAT_000c0f1c")) () ")")) (compound_statement "{\n      do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));\n    }" ({ "{") (do_statement "do {\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));" (do "do") (compound_statement "{\n        if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }\n      }" ({ "{") (if_statement "if (*pcVar14 == '\0') {\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }" (if "if") (parenthesized_expression "(*pcVar14 == '\0')" (( "(") (binary_expression "*pcVar14 == '\0'" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;\n          goto LAB_0001be27;\n        }" ({ "{") (if_statement "if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;" (if "if") (parenthesized_expression "(DAT_000c0f10 == '\0')" (( "(") (binary_expression "DAT_000c0f10 == '\0'" (identifier "DAT_000c0f10") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0001bdc0;" (goto "goto") (statement_identifier "LAB_0001bdc0") (; ";"))) (goto_statement "goto LAB_0001be27;" (goto "goto") (statement_identifier "LAB_0001be27") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c))" (( "(") (binary_expression "(*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c)" (parenthesized_expression "(*pcVar14 != '\n')" (( "(") (binary_expression "*pcVar14 != '\n'" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c)" (( "(") (comma_expression "pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c" (assignment_expression "pcVar14 = pcVar14 + 1" (identifier "pcVar14") (= "=") (binary_expression "pcVar14 + 1" (identifier "pcVar14") (+ "+") (number_literal "1"))) (, ",") (binary_expression "pcVar14 != DAT_000c0f1c" (identifier "pcVar14") (!= "!=") (identifier "DAT_000c0f1c"))) () ")"))) () ")")) (; ";")) (} "}"))) (} "}")))) (if_statement "if (DAT_000c0f10 != '\0') {\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }" (if "if") (parenthesized_expression "(DAT_000c0f10 != '\0')" (( "(") (binary_expression "DAT_000c0f10 != '\0'" (identifier "DAT_000c0f10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }\n  }" ({ "{") (labeled_statement "LAB_0001be27:\n    if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }" (statement_identifier "LAB_0001be27") (: ":") (if_statement "if ((__s == (char *)0x0) && (iVar1 == 0)) {\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }" (if "if") (parenthesized_expression "((__s == (char *)0x0) && (iVar1 == 0))" (( "(") (binary_expression "(__s == (char *)0x0) && (iVar1 == 0)" (parenthesized_expression "(__s == (char *)0x0)" (( "(") (binary_expression "__s == (char *)0x0" (identifier "__s") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);\n      __s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);\n      goto LAB_0001be5d;\n    }" ({ "{") (expression_statement "FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);" (call_expression "FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010)" (identifier "FUN_000663c0") (argument_list "(&DAT_0008efbb,s__END_OF_FILE__000bf010)" (( "(") (pointer_expression "&DAT_0008efbb" (& "&") (identifier "DAT_0008efbb")) (, ",") (identifier "s__END_OF_FILE__000bf010") () ")"))) (; ";")) (expression_statement "__s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5);" (assignment_expression "__s = (char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" (identifier "__s") (= "=") (cast_expression "(char *)dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" (identifier "dcgettext") (argument_list "(0,\n                              "source files / command-line arguments must contain complete functions or rules"\n                              ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""source files / command-line arguments must contain complete functions or rules"" (" """) (string_content "source files / command-line arguments must contain complete functions or rules") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (goto_statement "goto LAB_0001be5d;" (goto "goto") (statement_identifier "LAB_0001be5d") (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_0001bdc0:\n  FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);" (statement_identifier "LAB_0001bdc0") (: ":") (expression_statement "FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);" (call_expression "FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c)" (identifier "FUN_000663c0") (argument_list "(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c)" (( "(") (pointer_expression "&DAT_000881bc" (& "&") (identifier "DAT_000881bc")) (, ",") (binary_expression "(int)pcVar14 - (int)DAT_000c0f0c" (cast_expression "(int)pcVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar14")) (- "-") (cast_expression "(int)DAT_000c0f0c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_000c0f0c"))) (, ",") (identifier "DAT_000c0f0c") () ")"))) (; ";"))) (labeled_statement "LAB_0001be5d:\n  if (__s == (char *)0x0) {\n    __s = param_1;\n  }" (statement_identifier "LAB_0001be5d") (: ":") (if_statement "if (__s == (char *)0x0) {\n    __s = param_1;\n  }" (if "if") (parenthesized_expression "(__s == (char *)0x0)" (( "(") (binary_expression "__s == (char *)0x0" (identifier "__s") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    __s = param_1;\n  }" ({ "{") (expression_statement "__s = param_1;" (assignment_expression "__s = param_1" (identifier "__s") (= "=") (identifier "param_1")) (; ";")) (} "}")))) (expression_statement "sVar4 = strlen(__s);" (assignment_expression "sVar4 = strlen(__s)" (identifier "sVar4") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "pcVar14 = (char *)(sVar4 + 1);" (assignment_expression "pcVar14 = (char *)(sVar4 + 1)" (identifier "pcVar14") (= "=") (cast_expression "(char *)(sVar4 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar4 + 1)" (( "(") (binary_expression "sVar4 + 1" (identifier "sVar4") (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (DAT_000c0f20 != 0) {\n    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);\n  }" (if "if") (parenthesized_expression "(DAT_000c0f20 != 0)" (( "(") (binary_expression "DAT_000c0f20 != 0" (identifier "DAT_000c0f20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);\n  }" ({ "{") (expression_statement "pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);" (assignment_expression "pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c)" (identifier "pcVar14") (= "=") (binary_expression "DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c)" (identifier "DAT_000c0f14") (+ "+") (parenthesized_expression "((sVar4 + 3) - (int)DAT_000c0f0c)" (( "(") (binary_expression "(sVar4 + 3) - (int)DAT_000c0f0c" (parenthesized_expression "(sVar4 + 3)" (( "(") (binary_expression "sVar4 + 3" (identifier "sVar4") (+ "+") (number_literal "3")) () ")")) (- "-") (cast_expression "(int)DAT_000c0f0c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_000c0f0c"))) () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar14 = pcVar14 + 1;" (assignment_expression "pcVar14 = pcVar14 + 1" (identifier "pcVar14") (= "=") (binary_expression "pcVar14 + 1" (identifier "pcVar14") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pcVar14 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7d7);\n    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }" (if "if") (parenthesized_expression "(pcVar14 == (char *)0x0)" (( "(") (binary_expression "pcVar14 == (char *)0x0" (identifier "pcVar14") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    FUN_000660d0("awk.h",0x7d7);\n    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);\n  }" ({ "{") (expression_statement "FUN_000660d0("awk.h",0x7d7);" (call_expression "FUN_000660d0("awk.h",0x7d7)" (identifier "FUN_000660d0") (argument_list "("awk.h",0x7d7)" (( "(") (string_literal ""awk.h"" (" """) (string_content "awk.h") (" """)) (, ",") (number_literal "0x7d7") () ")"))) (; ";")) (expression_statement "FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);" (call_expression "FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18)" (identifier "FUN_00066470") (argument_list "("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18)" (( "(") (string_literal ""%s:%d: ezalloc called with zero bytes"" (" """) (string_content "%s:%d: ezalloc called with zero bytes") (" """)) (, ",") (string_literal ""awkgram.y"" (" """) (string_content "awkgram.y") (" """)) (, ",") (number_literal "0xa18") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar5 = (char *)calloc(1,(size_t)pcVar14);" (assignment_expression "pcVar5 = (char *)calloc(1,(size_t)pcVar14)" (identifier "pcVar5") (= "=") (cast_expression "(char *)calloc(1,(size_t)pcVar14)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "calloc(1,(size_t)pcVar14)" (identifier "calloc") (argument_list "(1,(size_t)pcVar14)" (( "(") (number_literal "1") (, ",") (cast_expression "(size_t)pcVar14" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (identifier "pcVar14")) () ")"))))) (; ";")) (if_statement "if (pcVar5 == (char *)0x0) {\n    FUN_000660d0("awk.h",0x7db);\n    piVar8 = __errno_location();\n    pcVar9 = strerror(*piVar8);\n    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);\n  }" (if "if") (parenthesized_expression "(pcVar5 == (char *)0x0)" (( "(") (binary_expression "pcVar5 == (char *)0x0" (identifier "pcVar5") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    FUN_000660d0("awk.h",0x7db);\n    piVar8 = __errno_location();\n    pcVar9 = strerror(*piVar8);\n    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);\n    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);\n  }" ({ "{") (expression_statement "FUN_000660d0("awk.h",0x7db);" (call_expression "FUN_000660d0("awk.h",0x7db)" (identifier "FUN_000660d0") (argument_list "("awk.h",0x7db)" (( "(") (string_literal ""awk.h"" (" """) (string_content "awk.h") (" """)) (, ",") (number_literal "0x7db") () ")"))) (; ";")) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" (identifier "piVar8") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar9 = strerror(*piVar8);" (assignment_expression "pcVar9 = strerror(*piVar8)" (identifier "pcVar9") (= "=") (call_expression "strerror(*piVar8)" (identifier "strerror") (argument_list "(*piVar8)" (( "(") (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) () ")")))) (; ";")) (expression_statement "uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);" (assignment_expression "uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (identifier "dcgettext") (argument_list "(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s"" (" """) (string_content "%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);" (call_expression "FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9)" (identifier "FUN_00066470") (argument_list "(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9)" (( "(") (identifier "uVar10") (, ",") (string_literal ""awkgram.y"" (" """) (string_content "awkgram.y") (" """)) (, ",") (number_literal "0xa18") (, ",") (string_literal ""yyerror"" (" """) (string_content "yyerror") (" """)) (, ",") (string_literal ""buf"" (" """) (string_content "buf") (" """)) (, ",") (identifier "pcVar14") (, ",") (identifier "pcVar9") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar9 = DAT_000c0f14;" (assignment_expression "pcVar9 = DAT_000c0f14" (identifier "pcVar9") (= "=") (identifier "DAT_000c0f14")) (; ";")) (expression_statement "pcVar14 = pcVar5;" (assignment_expression "pcVar14 = pcVar5" (identifier "pcVar14") (= "=") (identifier "pcVar5")) (; ";")) (expression_statement "pcVar6 = DAT_000c0f0c;" (assignment_expression "pcVar6 = DAT_000c0f0c" (identifier "pcVar6") (= "=") (identifier "DAT_000c0f0c")) (; ";")) (expression_statement "pcVar11 = pcVar5;" (assignment_expression "pcVar11 = pcVar5" (identifier "pcVar11") (= "=") (identifier "pcVar5")) (; ";")) (if_statement "if (DAT_000c0f20 != 0) {\n    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }\nLAB_0001bee6:\n    pcVar14 = pcVar11 + 2;\n    pcVar11[0] = '^';\n    pcVar11[1] = ' ';\n  }" (if "if") (parenthesized_expression "(DAT_000c0f20 != 0)" (( "(") (binary_expression "DAT_000c0f20 != 0" (identifier "DAT_000c0f20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }\nLAB_0001bee6:\n    pcVar14 = pcVar11 + 2;\n    pcVar11[0] = '^';\n    pcVar11[1] = ' ';\n  }" ({ "{") (while_statement "while (pcVar14 = pcVar11, pcVar6 < pcVar9) {\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }" (while "while") (parenthesized_expression "(pcVar14 = pcVar11, pcVar6 < pcVar9)" (( "(") (comma_expression "pcVar14 = pcVar11, pcVar6 < pcVar9" (assignment_expression "pcVar14 = pcVar11" (identifier "pcVar14") (= "=") (identifier "pcVar11")) (, ",") (binary_expression "pcVar6 < pcVar9" (identifier "pcVar6") (< "<") (identifier "pcVar9"))) () ")")) (compound_statement "{\n      while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }\n      *pcVar14 = '\t';\n      pcVar6 = pcVar7;\n    }" ({ "{") (while_statement "while( true ) {\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        pcVar7 = pcVar6 + 1;\n        pcVar11 = pcVar14 + 1;\n        if (*pcVar6 == '\t') break;\n        *pcVar14 = ' ';\n        pcVar6 = pcVar7;\n        pcVar14 = pcVar11;\n        if (pcVar9 <= pcVar7) goto LAB_0001bee6;\n      }" ({ "{") (expression_statement "pcVar7 = pcVar6 + 1;" (assignment_expression "pcVar7 = pcVar6 + 1" (identifier "pcVar7") (= "=") (binary_expression "pcVar6 + 1" (identifier "pcVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar11 = pcVar14 + 1;" (assignment_expression "pcVar11 = pcVar14 + 1" (identifier "pcVar11") (= "=") (binary_expression "pcVar14 + 1" (identifier "pcVar14") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*pcVar6 == '\t') break;" (if "if") (parenthesized_expression "(*pcVar6 == '\t')" (( "(") (binary_expression "*pcVar6 == '\t'" (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6")) (== "==") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "*pcVar14 = ' ';" (assignment_expression "*pcVar14 = ' '" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (= "=") (char_literal "' '" (' "'") (character " ") (' "'"))) (; ";")) (expression_statement "pcVar6 = pcVar7;" (assignment_expression "pcVar6 = pcVar7" (identifier "pcVar6") (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "pcVar14 = pcVar11;" (assignment_expression "pcVar14 = pcVar11" (identifier "pcVar14") (= "=") (identifier "pcVar11")) (; ";")) (if_statement "if (pcVar9 <= pcVar7) goto LAB_0001bee6;" (if "if") (parenthesized_expression "(pcVar9 <= pcVar7)" (( "(") (binary_expression "pcVar9 <= pcVar7" (identifier "pcVar9") (<= "<=") (identifier "pcVar7")) () ")")) (goto_statement "goto LAB_0001bee6;" (goto "goto") (statement_identifier "LAB_0001bee6") (; ";"))) (} "}"))) (expression_statement "*pcVar14 = '\t';" (assignment_expression "*pcVar14 = '\t'" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (= "=") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'"))) (; ";")) (expression_statement "pcVar6 = pcVar7;" (assignment_expression "pcVar6 = pcVar7" (identifier "pcVar6") (= "=") (identifier "pcVar7")) (; ";")) (} "}"))) (labeled_statement "LAB_0001bee6:\n    pcVar14 = pcVar11 + 2;" (statement_identifier "LAB_0001bee6") (: ":") (expression_statement "pcVar14 = pcVar11 + 2;" (assignment_expression "pcVar14 = pcVar11 + 2" (identifier "pcVar14") (= "=") (binary_expression "pcVar11 + 2" (identifier "pcVar11") (+ "+") (number_literal "2"))) (; ";"))) (expression_statement "pcVar11[0] = '^';" (assignment_expression "pcVar11[0] = '^'" (subscript_expression "pcVar11[0]" (identifier "pcVar11") ([ "[") (number_literal "0") (] "]")) (= "=") (char_literal "'^'" (' "'") (character "^") (' "'"))) (; ";")) (expression_statement "pcVar11[1] = ' ';" (assignment_expression "pcVar11[1] = ' '" (subscript_expression "pcVar11[1]" (identifier "pcVar11") ([ "[") (number_literal "1") (] "]")) (= "=") (char_literal "' '" (' "'") (character " ") (' "'"))) (; ";")) (} "}"))) (expression_statement "strcpy(pcVar14,__s);" (call_expression "strcpy(pcVar14,__s)" (identifier "strcpy") (argument_list "(pcVar14,__s)" (( "(") (identifier "pcVar14") (, ",") (identifier "__s") () ")"))) (; ";")) (expression_statement "err(0,&DAT_000954d0,pcVar5,&stack0x00000008);" (call_expression "err(0,&DAT_000954d0,pcVar5,&stack0x00000008)" (identifier "err") (argument_list "(0,&DAT_000954d0,pcVar5,&stack0x00000008)" (( "(") (number_literal "0") (, ",") (pointer_expression "&DAT_000954d0" (& "&") (identifier "DAT_000954d0")) (, ",") (identifier "pcVar5") (, ",") (pointer_expression "&stack0x00000008" (& "&") (identifier "stack0x00000008")) () ")"))) (; ";")) (expression_statement "free(pcVar5);" (call_expression "free(pcVar5)" (identifier "free") (argument_list "(pcVar5)" (( "(") (identifier "pcVar5") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(char *m,...)

{
  int var_19;
  type_1 var_6;
  type_1 var_8;
  size_t var_22;
  char *var_14;
  char *var_30;
  int *piVar7;
  char *var_29;
  char *var_28;
  char *var_31;
  type_1 *var_7;
  type_1 *puVar12;
  char *var_18;
  char *var_15;
  bool bVar14;
  char *var_13;
  
  var_19 = var_1(m,function_1::syntax_error,0xc);
  var_2();
  var_14 = var_11;
  var_15 = var_5;
  var_3 = var_3 + 1;
  if ((var_4 == (char *)0x0) || (var_13 = var_5, var_5 == (char *)0x0)) {
    var_10 = function_1::end_of_file_line;
    puVar12 = (type_1 *)function_1::end_of_file_line;
    do {
      var_7 = puVar12;
      var_6 = *var_7 + 0xfefefeff & ~*var_7;
      var_8 = var_6 & 0x80808080;
      puVar12 = var_7 + 1;
    } while (var_8 == 0);
    bVar14 = (var_6 & 0x8080) == 0;
    if (bVar14) {
      var_8 = var_8 >> 0x10;
    }
    if (bVar14) {
      puVar12 = (type_1 *)((int)var_7 + 6);
    }
    var_15 = (char *)((int)puVar12 + (-3 - (type_1)var_9((type_2)var_8,(type_2)var_8)));
    var_18 = (char *)0x0;
  }
  else {
    var_18 = (char *)0x0;
    if (var_10 == (char *)0x0) {
      if (*var_5 == '\n') {
        var_13 = var_5 + -(type_1)(var_11 < var_5);
        var_18 = (char *)var_12(0,"unexpected newline or end of string",5);
        if (var_13 != var_14) goto LAB_0001c000;
LAB_0001c059:
        var_13 = var_14;
        var_10 = var_14;
        if (*var_14 == '\n') goto LAB_0001c009;
      }
      else {
        var_10 = var_14;
        if (var_5 != var_11) {
          do {
            var_13 = var_13 + -1;
            if (var_13 == var_14) goto LAB_0001c059;
LAB_0001c000:
          } while (*var_13 != '\n');
LAB_0001c009:
          var_10 = var_13 + 1;
        }
      }
    }
    if (var_15 < var_10) {
      var_15 = var_10 + 1;
    }
    if (var_15 < var_16) {
      do {
        if (*var_15 == '\0') {
          if (var_17 == false) goto LAB_0001bdc0;
          goto LAB_0001be27;
        }
      } while ((*var_15 != '\n') && (var_15 = var_15 + 1, var_15 != var_16));
    }
  }
  if (var_17 != false) {
LAB_0001be27:
    if ((var_18 == (char *)0x0) && (var_19 == 0)) {
      var_20("%s",function_1::end_of_file_line);
      var_18 = (char *)var_12(0,
                              "source files / command-line arguments must contain complete functions or rules"
                              ,5);
      goto LAB_0001be5d;
    }
  }
LAB_0001bdc0:
  var_20("%.*s",(int)var_15 - (int)var_10,var_10);
LAB_0001be5d:
  if (var_18 == (char *)0x0) {
    var_18 = m;
  }
  var_22 = var_21(var_18);
  var_15 = (char *)(var_22 + 1);
  if (var_4 != (char *)0x0) {
    var_15 = var_5 + ((var_22 + 3) - (int)var_10);
  }
  var_15 = var_15 + 1;
  if (var_15 == (char *)0x0) {
    var_23("awk.h",0x7d7);
    var_24("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);
  }
  var_14 = (char *)var_25(1,(size_t)var_15);
  if (var_14 == (char *)0x0) {
    var_23("awk.h",0x7db);
    piVar7 = var_26();
    var_29 = var_27(*piVar7);
    var_28 = (char *)var_12(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
    var_24(var_28,"awkgram.y",0xa18,"yyerror","buf",var_15,var_29);
  }
  var_29 = var_5;
  var_15 = var_14;
  var_28 = var_10;
  var_31 = var_14;
  if (var_4 != (char *)0x0) {
    while (var_15 = var_31, var_28 < var_29) {
      while( true ) {
        var_30 = var_28 + 1;
        var_31 = var_15 + 1;
        if (*var_28 == '\t') break;
        *var_15 = ' ';
        var_28 = var_30;
        var_15 = var_31;
        if (var_29 <= var_30) goto LAB_0001bee6;
      }
      *var_15 = '\t';
      var_28 = var_30;
    }
LAB_0001bee6:
    var_15 = var_31 + 2;
    var_31[0] = '^';
    var_31[1] = ' ';
  }
  var_32(var_15,var_18);
  var_33(false,"",var_14,&stack0x00000008);
  var_34(var_14);
  return;
}


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

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

void MASKED(char *param_1)

{
  int iVar1;
  uint uVar2;
  uint uVar3;
  size_t sVar4;
  char *pcVar5;
  char *pcVar6;
  char *pcVar7;
  int *piVar8;
  char *pcVar9;
  undefined4 uVar10;
  char *pcVar11;
  uint *puVar12;
  uint *puVar13;
  char *__s;
  char *pcVar14;
  bool bVar15;
  char *local_28;
  
  iVar1 = strncmp(param_1,s_syntax_error_000bf020,0xc);
  FUN_0001a600();
  pcVar5 = DAT_000c0f18;
  pcVar14 = DAT_000c0f14;
  DAT_000bfbe4 = DAT_000bfbe4 + 1;
  if ((DAT_000c0f20 == 0) || (local_28 = DAT_000c0f14, DAT_000c0f14 == (char *)0x0)) {
    DAT_000c0f0c = s__END_OF_FILE__000bf010;
    puVar13 = (uint *)s__END_OF_FILE__000bf010;
    do {
      puVar12 = puVar13;
      uVar2 = *puVar12 + 0xfefefeff & ~*puVar12;
      uVar3 = uVar2 & 0x80808080;
      puVar13 = puVar12 + 1;
    } while (uVar3 == 0);
    bVar15 = (uVar2 & 0x8080) == 0;
    if (bVar15) {
      uVar3 = uVar3 >> 0x10;
    }
    if (bVar15) {
      puVar13 = (uint *)((int)puVar12 + 6);
    }
    pcVar14 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar3,(byte)uVar3)));
    __s = (char *)0x0;
  }
  else {
    __s = (char *)0x0;
    if (DAT_000c0f0c == (char *)0x0) {
      if (*DAT_000c0f14 == '\n') {
        local_28 = DAT_000c0f14 + -(uint)(DAT_000c0f18 < DAT_000c0f14);
        __s = (char *)dcgettext(0,"unexpected newline or end of string",5);
        if (local_28 != pcVar5) goto LAB_0001c000;
LAB_0001c059:
        local_28 = pcVar5;
        DAT_000c0f0c = pcVar5;
        if (*pcVar5 == '\n') goto LAB_0001c009;
      }
      else {
        DAT_000c0f0c = pcVar5;
        if (DAT_000c0f14 != DAT_000c0f18) {
          do {
            local_28 = local_28 + -1;
            if (local_28 == pcVar5) goto LAB_0001c059;
LAB_0001c000:
          } while (*local_28 != '\n');
LAB_0001c009:
          DAT_000c0f0c = local_28 + 1;
        }
      }
    }
    if (pcVar14 < DAT_000c0f0c) {
      pcVar14 = DAT_000c0f0c + 1;
    }
    if (pcVar14 < DAT_000c0f1c) {
      do {
        if (*pcVar14 == '\0') {
          if (DAT_000c0f10 == '\0') goto LAB_0001bdc0;
          goto LAB_0001be27;
        }
      } while ((*pcVar14 != '\n') && (pcVar14 = pcVar14 + 1, pcVar14 != DAT_000c0f1c));
    }
  }
  if (DAT_000c0f10 != '\0') {
LAB_0001be27:
    if ((__s == (char *)0x0) && (iVar1 == 0)) {
      FUN_000663c0(&DAT_0008efbb,s__END_OF_FILE__000bf010);
      __s = (char *)dcgettext(0,
                              "source files / command-line arguments must contain complete functions or rules"
                              ,5);
      goto LAB_0001be5d;
    }
  }
LAB_0001bdc0:
  FUN_000663c0(&DAT_000881bc,(int)pcVar14 - (int)DAT_000c0f0c,DAT_000c0f0c);
LAB_0001be5d:
  if (__s == (char *)0x0) {
    __s = param_1;
  }
  sVar4 = strlen(__s);
  pcVar14 = (char *)(sVar4 + 1);
  if (DAT_000c0f20 != 0) {
    pcVar14 = DAT_000c0f14 + ((sVar4 + 3) - (int)DAT_000c0f0c);
  }
  pcVar14 = pcVar14 + 1;
  if (pcVar14 == (char *)0x0) {
    FUN_000660d0("awk.h",0x7d7);
    FUN_00066470("%s:%d: ezalloc called with zero bytes","awkgram.y",0xa18);
  }
  pcVar5 = (char *)calloc(1,(size_t)pcVar14);
  if (pcVar5 == (char *)0x0) {
    FUN_000660d0("awk.h",0x7db);
    piVar8 = __errno_location();
    pcVar9 = strerror(*piVar8);
    uVar10 = dcgettext(0,"%s:%d:%s: %s: cannot allocate %ld bytes of memory: %s",5);
    FUN_00066470(uVar10,"awkgram.y",0xa18,"yyerror","buf",pcVar14,pcVar9);
  }
  pcVar9 = DAT_000c0f14;
  pcVar14 = pcVar5;
  pcVar6 = DAT_000c0f0c;
  pcVar11 = pcVar5;
  if (DAT_000c0f20 != 0) {
    while (pcVar14 = pcVar11, pcVar6 < pcVar9) {
      while( true ) {
        pcVar7 = pcVar6 + 1;
        pcVar11 = pcVar14 + 1;
        if (*pcVar6 == '\t') break;
        *pcVar14 = ' ';
        pcVar6 = pcVar7;
        pcVar14 = pcVar11;
        if (pcVar9 <= pcVar7) goto LAB_0001bee6;
      }
      *pcVar14 = '\t';
      pcVar6 = pcVar7;
    }
LAB_0001bee6:
    pcVar14 = pcVar11 + 2;
    pcVar11[0] = '^';
    pcVar11[1] = ' ';
  }
  strcpy(pcVar14,__s);
  err(0,&DAT_000954d0,pcVar5,&stack0x00000008);
  free(pcVar5);
  return;
}

