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

int echo_builtin(WORD_LIST *list)

{
  FILE *__stream;
  bool bVar1;
  bool bVar2;
  undefined *puVar3;
  char cVar4;
  char *pcVar5;
  size_t len_00;
  char *pcVar6;
  int iVar7;
  char *pcVar8;
  int iVar9;
  int in_GS_OFFSET;
  WORD_LIST *local_3c;
  int local_38;
  int i;
  int len;
  int local_20;
  undefined4 uStack_14;
  
  puVar3 = PTR_stdout_00171f70;
  uStack_14 = 0xb3139;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_38 = xpg_echo;
  __stream = *(FILE **)PTR_stdout_00171f70;
  if ((posixly_correct == 0) || (xpg_echo == 0)) {
    if (list != (WORD_LIST *)0x0) {
      pcVar6 = list->word->word;
      if (pcVar6 == (char *)0x0) {
        bVar2 = true;
      }
      else {
        bVar2 = true;
        if (*pcVar6 == '-') {
          local_3c = list;
          while( true ) {
            pcVar8 = pcVar6 + 1;
            i = 0;
            cVar4 = pcVar6[1];
            list = local_3c;
            if (cVar4 == '\0') break;
            iVar7 = 1;
            do {
              iVar9 = iVar7;
              pcVar5 = strchr("neE",(int)cVar4);
              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;
              cVar4 = pcVar6[iVar9 + 1];
              iVar7 = iVar9 + 1;
              i = iVar9;
            } while (cVar4 != '\0');
            if (pcVar6[1] == '\0') break;
            cVar4 = pcVar6[1];
joined_r0x000b344e:
            i = (int)cVar4;
            if (i != 0) {
              do {
                cVar4 = (char)i;
                if (cVar4 == 'e') {
                  local_38 = 1;
                }
                else {
                  if (cVar4 == 'n') goto LAB_000b3490;
                  if (cVar4 != 'E') goto LAB_000b31fc;
                  local_38 = 0;
                }
                pcVar8 = pcVar8 + 1;
                i = (int)*pcVar8;
                if (i == 0) break;
              } while( true );
            }
            list = local_3c->next;
            if (list == (WORD_LIST *)0x0) {
              clearerr(__stream);
              goto LAB_000b3349;
            }
            pcVar6 = list->word->word;
            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;
          }
        }
      }
LAB_000b31fc:
      clearerr(__stream);
      goto LAB_000b3230;
    }
    clearerr(__stream);
  }
  else {
    clearerr(__stream);
    bVar2 = true;
    if (list != (WORD_LIST *)0x0) {
LAB_000b3230:
      do {
        len = 0;
        i = 0;
        pcVar6 = list->word->word;
        if (local_38 == 0) {
          if (pcVar6 != (char *)0x0) {
            __printf_chk(1,&DAT_00125693,pcVar6);
          }
          bVar1 = false;
          if (terminating_signal != 0) goto LAB_000b33b6;
LAB_000b32eb:
          if (interrupt_state == 0) goto LAB_000b32f9;
LAB_000b33d2:
          throw_to_top_level();
          if (bVar1) goto LAB_000b33e1;
        }
        else {
          len_00 = 0;
          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&
             (len_00 = 2, pcVar6[2] != '\0')) {
            len_00 = strlen(pcVar6);
          }
          bVar1 = false;
          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);
          pcVar8 = pcVar6;
          if (pcVar6 != (char *)0x0) {
            for (; 0 < len; len = len + -1) {
              putc((int)*pcVar8,*(FILE **)puVar3);
              pcVar8 = pcVar8 + 1;
            }
            bVar1 = true;
          }
          if (terminating_signal == 0) goto LAB_000b32eb;
LAB_000b33b6:
          termsig_handler(terminating_signal);
          if (interrupt_state != 0) goto LAB_000b33d2;
LAB_000b32f9:
          if (bVar1) {
LAB_000b33e1:
            free(pcVar6);
          }
        }
        list = list->next;
        if (i != 0) goto LAB_000b3364;
        if (list != (word_list *)0x0) {
          putc(0x20,*(FILE **)puVar3);
        }
        if (terminating_signal != 0) {
          termsig_handler(terminating_signal);
        }
        if (interrupt_state != 0) {
          throw_to_top_level();
        }
      } while (list != (word_list *)0x0);
LAB_000b3349:
      if (!bVar2) goto LAB_000b3364;
    }
  }
  putc(10,*(FILE **)puVar3);
LAB_000b3364:
  iVar7 = sh_chkwrite(0);
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return iVar7;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
LAB_000b3490:
  pcVar8 = pcVar8 + 1;
  cVar4 = *pcVar8;
  bVar2 = false;
  goto joined_r0x000b344e;
}



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

void echo_builtin(int *param_1)

{
  FILE *__stream;
  bool bVar1;
  bool bVar2;
  undefined *puVar3;
  int iVar4;
  char cVar5;
  char *pcVar6;
  size_t sVar7;
  char *pcVar8;
  char *pcVar9;
  int iVar10;
  int in_GS_OFFSET;
  int *local_3c;
  int local_38;
  int local_28;
  int local_24;
  int local_20;
  undefined4 uStack_14;
  
  puVar3 = PTR_stdout_00171f70;
  uStack_14 = 0xb3139;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_38 = xpg_echo;
  __stream = *(FILE **)PTR_stdout_00171f70;
  if ((posixly_correct == 0) || (xpg_echo == 0)) {
    if (param_1 != (int *)0x0) {
      pcVar8 = *(char **)param_1[1];
      if (pcVar8 == (char *)0x0) {
        bVar2 = true;
      }
      else {
        bVar2 = true;
        if (*pcVar8 == '-') {
          local_3c = param_1;
          while( true ) {
            pcVar9 = pcVar8 + 1;
            local_28 = 0;
            cVar5 = pcVar8[1];
            param_1 = local_3c;
            if (cVar5 == '\0') break;
            iVar4 = 1;
            do {
              iVar10 = iVar4;
              pcVar6 = strchr("neE",(int)cVar5);
              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;
              cVar5 = pcVar8[iVar10 + 1];
              iVar4 = iVar10 + 1;
              local_28 = iVar10;
            } while (cVar5 != '\0');
            if (pcVar8[1] == '\0') break;
            cVar5 = pcVar8[1];
joined_r0x000b344e:
            local_28 = (int)cVar5;
            if (local_28 != 0) {
              do {
                cVar5 = (char)local_28;
                if (cVar5 == 'e') {
                  local_38 = 1;
                }
                else {
                  if (cVar5 == 'n') goto LAB_000b3490;
                  if (cVar5 != 'E') goto LAB_000b31fc;
                  local_38 = 0;
                }
                pcVar9 = pcVar9 + 1;
                local_28 = (int)*pcVar9;
                if (local_28 == 0) break;
              } while( true );
            }
            param_1 = (int *)*local_3c;
            if (param_1 == (int *)0x0) {
              clearerr(__stream);
              goto LAB_000b3349;
            }
            pcVar8 = *(char **)param_1[1];
            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;
          }
        }
      }
LAB_000b31fc:
      clearerr(__stream);
      goto LAB_000b3230;
    }
    clearerr(__stream);
  }
  else {
    clearerr(__stream);
    bVar2 = true;
    if (param_1 != (int *)0x0) {
LAB_000b3230:
      do {
        local_24 = 0;
        local_28 = 0;
        pcVar8 = *(char **)param_1[1];
        if (local_38 == 0) {
          if (pcVar8 != (char *)0x0) {
            __printf_chk(1,&DAT_00125693,pcVar8);
          }
          bVar1 = false;
          if (terminating_signal != 0) goto LAB_000b33b6;
LAB_000b32eb:
          if (interrupt_state == 0) goto LAB_000b32f9;
LAB_000b33d2:
          throw_to_top_level();
          if (bVar1) goto LAB_000b33e1;
        }
        else {
          sVar7 = 0;
          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&
             (sVar7 = 2, pcVar8[2] != '\0')) {
            sVar7 = strlen(pcVar8);
          }
          bVar1 = false;
          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);
          pcVar9 = pcVar8;
          if (pcVar8 != (char *)0x0) {
            for (; 0 < local_24; local_24 = local_24 + -1) {
              putc((int)*pcVar9,*(FILE **)puVar3);
              pcVar9 = pcVar9 + 1;
            }
            bVar1 = true;
          }
          if (terminating_signal == 0) goto LAB_000b32eb;
LAB_000b33b6:
          termsig_handler(terminating_signal);
          if (interrupt_state != 0) goto LAB_000b33d2;
LAB_000b32f9:
          if (bVar1) {
LAB_000b33e1:
            free(pcVar8);
          }
        }
        param_1 = (int *)*param_1;
        if (local_28 != 0) goto LAB_000b3364;
        if (param_1 != (int *)0x0) {
          putc(0x20,*(FILE **)puVar3);
        }
        if (terminating_signal != 0) {
          termsig_handler(terminating_signal);
        }
        if (interrupt_state != 0) {
          throw_to_top_level();
        }
      } while (param_1 != (int *)0x0);
LAB_000b3349:
      if (!bVar2) goto LAB_000b3364;
    }
  }
  putc(10,*(FILE **)puVar3);
LAB_000b3364:
  sh_chkwrite(0);
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0010f8b0();
LAB_000b3490:
  pcVar9 = pcVar9 + 1;
  cVar5 = *pcVar9;
  bVar2 = false;
  goto joined_r0x000b344e;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x000312b0
ADD EBX,0xbeec7
SUB ESP,0x3c
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x2c],EAX
XOR EAX,EAX
MOV EBP,dword ptr [ESP + 0x50]
MOV EAX,dword ptr [EBX + 0xffffff70]
MOV ECX,dword ptr [EBX + 0x766c]
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x14],ECX
MOV dword ptr [ESP + 0xc],EAX
LEA EAX,[EBX + 0x480c]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x000b3180
TEST ECX,ECX
JNZ 0x000b34e2
TEST EBP,EBP
JZ 0x000b3513
MOV EAX,dword ptr [EBP + 0x4]
MOV ESI,dword ptr [EAX]
TEST ESI,ESI
JZ 0x000b3506
CMP byte ptr [ESI],0x2d
MOV dword ptr [ESP + 0x1c],0x1
JNZ 0x000b31fc
MOV dword ptr [ESP + 0x10],EBP
LEA EAX,[ESI + 0x1]
MOV dword ptr [ESP + 0x24],0x0
MOV dword ptr [ESP + 0x18],EAX
MOVSX EAX,byte ptr [ESI + 0x1]
TEST AL,AL
JZ 0x000b31f8
MOV EBP,0x1
LEA EDI,[EBX + 0xfffb2e13]
JMP 0x000b31e3
MOV dword ptr [ESP + 0x24],EBP
ADD EBP,0x1
MOVSX EAX,byte ptr [ESI + EBP*0x1]
TEST AL,AL
JZ 0x000b3438
SUB ESP,0x8
PUSH EAX
PUSH EDI
CALL 0x0002e730
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000b31d0
LEA ESI,[ESI]
MOV EBP,dword ptr [ESP + 0x10]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x18]
CALL 0x0002eb50
ADD ESP,0x10
LEA EAX,[EBX + 0x72c0]
MOV dword ptr [ESP + 0xc],EAX
LEA EAX,[EBX + 0x72cc]
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[EBX + 0xfffb3693]
MOV dword ptr [ESP + 0x18],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0x4]
MOV EDI,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x28],0x0
MOV dword ptr [ESP + 0x24],0x0
MOV ESI,dword ptr [EAX]
TEST EDI,EDI
JZ 0x000b3390
XOR EAX,EAX
TEST ESI,ESI
JZ 0x000b3280
CMP byte ptr [ESI],0x0
JZ 0x000b3280
CMP byte ptr [ESI + 0x1],0x0
MOV EAX,0x1
JZ 0x000b3280
CMP byte ptr [ESI + 0x2],0x0
MOV EAX,0x2
JNZ 0x000b3420
LEA ESI,[ESI]
LEA ESI,[ESI]
SUB ESP,0xc
XOR EDI,EDI
LEA EDX,[ESP + 0x34]
PUSH EDX
LEA EDX,[ESP + 0x34]
PUSH EDX
PUSH 0x1
PUSH EAX
PUSH ESI
CALL 0x000d9cb0
ADD ESP,0x20
MOV ESI,EAX
TEST EAX,EAX
JZ 0x000b32dd
MOV ECX,dword ptr [ESP + 0x28]
MOV EDI,EAX
TEST ECX,ECX
JLE 0x000b32d8
LEA ESI,[ESI]
NOP
SUB ESP,0x8
ADD EDI,0x1
MOV EAX,dword ptr [ESP + 0x10]
PUSH dword ptr [EAX]
MOVSX EAX,byte ptr [EDI + -0x1]
PUSH EAX
CALL 0x0002eb20
MOV EAX,dword ptr [ESP + 0x38]
SUB EAX,0x1
MOV dword ptr [ESP + 0x38],EAX
ADD ESP,0x10
TEST EAX,EAX
JG 0x000b32b0
MOV EDI,0x1
MOV EAX,dword ptr [ESP + 0xc]
MOV EDX,dword ptr [EAX]
TEST EDX,EDX
JNZ 0x000b33b6
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [EAX]
TEST EDX,EDX
JNZ 0x000b33d2
MOV EAX,EDI
TEST AL,AL
JNZ 0x000b33e1
MOV EDX,dword ptr [ESP + 0x24]
MOV EBP,dword ptr [EBP]
TEST EDX,EDX
JNZ 0x000b3364
TEST EBP,EBP
JZ 0x000b3325
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x10]
PUSH dword ptr [EAX]
PUSH 0x20
CALL 0x0002eb20
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x000b3408
MOV EAX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x000b33f8
TEST EBP,EBP
JNZ 0x000b3230
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x000b3364
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x10]
PUSH dword ptr [EAX]
PUSH 0xa
CALL 0x0002eb20
ADD ESP,0x10
SUB ESP,0xc
PUSH 0x0
CALL 0x000b01d0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x2c]
XOR ECX,dword ptr GS:[0x14]
JNZ 0x000b353b
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
TEST ESI,ESI
JZ 0x000b33a6
SUB ESP,0x4
PUSH ESI
PUSH dword ptr [ESP + 0x20]
PUSH 0x1
CALL 0x0002e9e0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0xc]
XOR EDI,EDI
MOV EDX,dword ptr [EAX]
TEST EDX,EDX
JZ 0x000b32eb
MOV EDX,dword ptr [EAX]
SUB ESP,0xc
PUSH EDX
CALL 0x0008fbd0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [EAX]
TEST EDX,EDX
JZ 0x000b32f9
CALL 0x0008f8b0
MOV EAX,EDI
TEST AL,AL
JZ 0x000b3303
SUB ESP,0xc
PUSH ESI
CALL 0x0002e200
ADD ESP,0x10
JMP 0x000b3303
CALL 0x0008f8b0
JMP 0x000b3341
MOV EAX,dword ptr [ESP + 0xc]
SUB ESP,0xc
MOV EAX,dword ptr [EAX]
PUSH EAX
CALL 0x0008fbd0
ADD ESP,0x10
JMP 0x000b3333
SUB ESP,0xc
PUSH ESI
CALL 0x0002e760
ADD ESP,0x10
JMP 0x000b3280
CMP byte ptr [ESI + 0x1],0x0
JZ 0x000b31f8
MOVSX EDX,byte ptr [ESI + 0x1]
MOV EAX,EDX
MOV dword ptr [ESP + 0x24],EDX
TEST EDX,EDX
JZ 0x000b34a8
MOV EDX,dword ptr [ESP + 0x18]
JMP 0x000b3478
MOV dword ptr [ESP + 0x14],0x0
ADD EDX,0x1
MOVSX ECX,byte ptr [EDX]
MOV EAX,ECX
MOV dword ptr [ESP + 0x24],ECX
TEST ECX,ECX
JZ 0x000b34a8
CMP AL,0x65
JZ 0x000b34d8
CMP AL,0x6e
JZ 0x000b3490
CMP AL,0x45
JNZ 0x000b31f8
JMP 0x000b3460
ADD EDX,0x1
MOVSX ECX,byte ptr [EDX]
MOV dword ptr [ESP + 0x1c],0x0
MOV EAX,ECX
MOV dword ptr [ESP + 0x24],ECX
TEST ECX,ECX
JNZ 0x000b3478
MOV EAX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x10],EAX
TEST EAX,EAX
JZ 0x000b3527
MOV EAX,dword ptr [EAX + 0x4]
MOV ESI,dword ptr [EAX]
TEST ESI,ESI
JZ 0x000b31f8
CMP byte ptr [ESI],0x2d
JZ 0x000b31a6
JMP 0x000b31f8
MOV dword ptr [ESP + 0x14],0x1
JMP 0x000b3468
SUB ESP,0xc
PUSH dword ptr [ESP + 0x18]
CALL 0x0002eb50
ADD ESP,0x10
MOV dword ptr [ESP + 0x1c],0x1
TEST EBP,EBP
JNZ 0x000b320b
JMP 0x000b3351
MOV dword ptr [ESP + 0x1c],0x1
JMP 0x000b31fc
SUB ESP,0xc
PUSH dword ptr [ESP + 0x18]
CALL 0x0002eb50
ADD ESP,0x10
JMP 0x000b3351
SUB ESP,0xc
PUSH dword ptr [ESP + 0x18]
CALL 0x0002eb50
ADD ESP,0x10
JMP 0x000b3349
CALL 0x0010f8b0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid echo_builtin(int *param_1)\n\n{\n  FILE *__stream;\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  char cVar5;\n  char *pcVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int *local_3c;\n  int local_38;\n  int local_28;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_00171f70;\n  uStack_14 = 0xb3139;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = xpg_echo;\n  __stream = *(FILE **)PTR_stdout_00171f70;\n  if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }\n  putc(10,*(FILE **)puVar3);\nLAB_000b3364:\n  sh_chkwrite(0);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0010f8b0();\nLAB_000b3490:\n  pcVar9 = pcVar9 + 1;\n  cVar5 = *pcVar9;\n  bVar2 = false;\n  goto joined_r0x000b344e;\n}\n\n" comment (function_definition "void echo_builtin(int *param_1)\n\n{\n  FILE *__stream;\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  char cVar5;\n  char *pcVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int *local_3c;\n  int local_38;\n  int local_28;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_00171f70;\n  uStack_14 = 0xb3139;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = xpg_echo;\n  __stream = *(FILE **)PTR_stdout_00171f70;\n  if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }\n  putc(10,*(FILE **)puVar3);\nLAB_000b3364:\n  sh_chkwrite(0);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0010f8b0();\nLAB_000b3490:\n  pcVar9 = pcVar9 + 1;\n  cVar5 = *pcVar9;\n  bVar2 = false;\n  goto joined_r0x000b344e;\n}" primitive_type (function_declarator "echo_builtin(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  FILE *__stream;\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  char cVar5;\n  char *pcVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int *local_3c;\n  int local_38;\n  int local_28;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_00171f70;\n  uStack_14 = 0xb3139;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = xpg_echo;\n  __stream = *(FILE **)PTR_stdout_00171f70;\n  if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }\n  putc(10,*(FILE **)puVar3);\nLAB_000b3364:\n  sh_chkwrite(0);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0010f8b0();\nLAB_000b3490:\n  pcVar9 = pcVar9 + 1;\n  cVar5 = *pcVar9;\n  bVar2 = false;\n  goto joined_r0x000b344e;\n}" { (declaration "FILE *__stream;" type_identifier (pointer_declarator "*__stream" * identifier) ;) (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int *local_3c;" primitive_type (pointer_declarator "*local_3c" * identifier) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "puVar3 = PTR_stdout_00171f70;" (assignment_expression "puVar3 = PTR_stdout_00171f70" identifier = identifier) ;) (expression_statement "uStack_14 = 0xb3139;" (assignment_expression "uStack_14 = 0xb3139" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_38 = xpg_echo;" (assignment_expression "local_38 = xpg_echo" identifier = identifier) ;) (expression_statement "__stream = *(FILE **)PTR_stdout_00171f70;" (assignment_expression "__stream = *(FILE **)PTR_stdout_00171f70" identifier = (pointer_expression "*(FILE **)PTR_stdout_00171f70" * (cast_expression "(FILE **)PTR_stdout_00171f70" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }" if (parenthesized_expression "((posixly_correct == 0) || (xpg_echo == 0))" ( (binary_expression "(posixly_correct == 0) || (xpg_echo == 0)" (parenthesized_expression "(posixly_correct == 0)" ( (binary_expression "posixly_correct == 0" identifier == number_literal) )) || (parenthesized_expression "(xpg_echo == 0)" ( (binary_expression "xpg_echo == 0" identifier == number_literal) ))) )) (compound_statement "{\n    if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }" { (if_statement "if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }" if (parenthesized_expression "(param_1 != (int *)0x0)" ( (binary_expression "param_1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }" { (expression_statement "pcVar8 = *(char **)param_1[1];" (assignment_expression "pcVar8 = *(char **)param_1[1]" identifier = (pointer_expression "*(char **)param_1[1]" * (cast_expression "(char **)param_1[1]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (if_statement "if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }" if (parenthesized_expression "(pcVar8 == (char *)0x0)" ( (binary_expression "pcVar8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        bVar2 = true;\n      }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }) (else_clause "else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }" else (compound_statement "{\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }" if (parenthesized_expression "(*pcVar8 == '-')" ( (binary_expression "*pcVar8 == '-'" (pointer_expression "*pcVar8" * identifier) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }" { (expression_statement "local_3c = param_1;" (assignment_expression "local_3c = param_1" identifier = identifier) ;) (while_statement "while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }" { (expression_statement "pcVar9 = pcVar8 + 1;" (assignment_expression "pcVar9 = pcVar8 + 1" identifier = (binary_expression "pcVar8 + 1" identifier + number_literal)) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "cVar5 = pcVar8[1];" (assignment_expression "cVar5 = pcVar8[1]" identifier = (subscript_expression "pcVar8[1]" identifier [ number_literal ])) ;) (expression_statement "param_1 = local_3c;" (assignment_expression "param_1 = local_3c" identifier = identifier) ;) (if_statement "if (cVar5 == '\0') break;" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (do_statement "do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');" do (compound_statement "{\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            }" { (expression_statement "iVar10 = iVar4;" (assignment_expression "iVar10 = iVar4" identifier = identifier) ;) (expression_statement "pcVar6 = strchr("neE",(int)cVar5);" (assignment_expression "pcVar6 = strchr("neE",(int)cVar5)" identifier = (call_expression "strchr("neE",(int)cVar5)" identifier (argument_list "("neE",(int)cVar5)" ( (string_literal ""neE"" " string_content ") , (cast_expression "(int)cVar5" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (if_statement "if (pcVar6 == (char *)0x0) goto LAB_000b31fc;" if (parenthesized_expression "(pcVar6 == (char *)0x0)" ( (binary_expression "pcVar6 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b31fc;" goto statement_identifier ;)) (expression_statement "cVar5 = pcVar8[iVar10 + 1];" (assignment_expression "cVar5 = pcVar8[iVar10 + 1]" identifier = (subscript_expression "pcVar8[iVar10 + 1]" identifier [ (binary_expression "iVar10 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar4 = iVar10 + 1;" (assignment_expression "iVar4 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "local_28 = iVar10;" (assignment_expression "local_28 = iVar10" identifier = identifier) ;) }) while (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (if_statement "if (pcVar8[1] == '\0') break;" if (parenthesized_expression "(pcVar8[1] == '\0')" ( (binary_expression "pcVar8[1] == '\0'" (subscript_expression "pcVar8[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "cVar5 = pcVar8[1];" (assignment_expression "cVar5 = pcVar8[1]" identifier = (subscript_expression "pcVar8[1]" identifier [ number_literal ])) ;) (labeled_statement "joined_r0x000b344e:\n            local_28 = (int)cVar5;" statement_identifier : (expression_statement "local_28 = (int)cVar5;" (assignment_expression "local_28 = (int)cVar5" identifier = (cast_expression "(int)cVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (if_statement "if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }" if (parenthesized_expression "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) )) (compound_statement "{\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }" { (do_statement "do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );" do (compound_statement "{\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              }" { (expression_statement "cVar5 = (char)local_28;" (assignment_expression "cVar5 = (char)local_28" identifier = (cast_expression "(char)local_28" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }" if (parenthesized_expression "(cVar5 == 'e')" ( (binary_expression "cVar5 == 'e'" identifier == (char_literal "'e'" ' character ')) )) (compound_statement "{\n                  local_38 = 1;\n                }" { (expression_statement "local_38 = 1;" (assignment_expression "local_38 = 1" identifier = number_literal) ;) }) (else_clause "else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }" else (compound_statement "{\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }" { (if_statement "if (cVar5 == 'n') goto LAB_000b3490;" if (parenthesized_expression "(cVar5 == 'n')" ( (binary_expression "cVar5 == 'n'" identifier == (char_literal "'n'" ' character ')) )) (goto_statement "goto LAB_000b3490;" goto statement_identifier ;)) (if_statement "if (cVar5 != 'E') goto LAB_000b31fc;" if (parenthesized_expression "(cVar5 != 'E')" ( (binary_expression "cVar5 != 'E'" identifier != (char_literal "'E'" ' character ')) )) (goto_statement "goto LAB_000b31fc;" goto statement_identifier ;)) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) }))) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) (expression_statement "local_28 = (int)*pcVar9;" (assignment_expression "local_28 = (int)*pcVar9" identifier = (cast_expression "(int)*pcVar9" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar9" * identifier))) ;) (if_statement "if (local_28 == 0) break;" if (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "param_1 = (int *)*local_3c;" (assignment_expression "param_1 = (int *)*local_3c" identifier = (cast_expression "(int *)*local_3c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_3c" * identifier))) ;) (if_statement "if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }" { (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" identifier (argument_list "(__stream)" ( identifier ))) ;) (goto_statement "goto LAB_000b3349;" goto statement_identifier ;) })) (expression_statement "pcVar8 = *(char **)param_1[1];" (assignment_expression "pcVar8 = *(char **)param_1[1]" identifier = (pointer_expression "*(char **)param_1[1]" * (cast_expression "(char **)param_1[1]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (if_statement "if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;" if (parenthesized_expression "((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-'))" ( (binary_expression "(pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')" (parenthesized_expression "(pcVar8 == (char *)0x0)" ( (binary_expression "pcVar8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_3c = param_1, *pcVar8 != '-')" ( (comma_expression "local_3c = param_1, *pcVar8 != '-'" (assignment_expression "local_3c = param_1" identifier = identifier) , (binary_expression "*pcVar8 != '-'" (pointer_expression "*pcVar8" * identifier) != (char_literal "'-'" ' character '))) ))) )) (break_statement "break;" break ;)) })) })) }))) (labeled_statement "LAB_000b31fc:\n      clearerr(__stream);" statement_identifier : (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" identifier (argument_list "(__stream)" ( identifier ))) ;)) (goto_statement "goto LAB_000b3230;" goto statement_identifier ;) })) (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" identifier (argument_list "(__stream)" ( identifier ))) ;) }) (else_clause "else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }" else (compound_statement "{\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }" { (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" identifier (argument_list "(__stream)" ( identifier ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }" if (parenthesized_expression "(param_1 != (int *)0x0)" ( (binary_expression "param_1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }" { (labeled_statement "LAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);" statement_identifier : (do_statement "do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);" do (compound_statement "{\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      }" { (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "pcVar8 = *(char **)param_1[1];" (assignment_expression "pcVar8 = *(char **)param_1[1]" identifier = (pointer_expression "*(char **)param_1[1]" * (cast_expression "(char **)param_1[1]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (if_statement "if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }" if (parenthesized_expression "(local_38 == 0)" ( (binary_expression "local_38 == 0" identifier == number_literal) )) (compound_statement "{\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }" { (if_statement "if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }" if (parenthesized_expression "(pcVar8 != (char *)0x0)" ( (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }" { (expression_statement "__printf_chk(1,&DAT_00125693,pcVar8);" (call_expression "__printf_chk(1,&DAT_00125693,pcVar8)" identifier (argument_list "(1,&DAT_00125693,pcVar8)" ( number_literal , (pointer_expression "&DAT_00125693" & identifier) , identifier ))) ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (if_statement "if (terminating_signal != 0) goto LAB_000b33b6;" if (parenthesized_expression "(terminating_signal != 0)" ( (binary_expression "terminating_signal != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b33b6;" goto statement_identifier ;)) (labeled_statement "LAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;" statement_identifier : (if_statement "if (interrupt_state == 0) goto LAB_000b32f9;" if (parenthesized_expression "(interrupt_state == 0)" ( (binary_expression "interrupt_state == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b32f9;" goto statement_identifier ;))) (labeled_statement "LAB_000b33d2:\n          throw_to_top_level();" statement_identifier : (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" identifier (argument_list "()" ( ))) ;)) (if_statement "if (bVar1) goto LAB_000b33e1;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_000b33e1;" goto statement_identifier ;)) }) (else_clause "else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }" else (compound_statement "{\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }" { (expression_statement "sVar7 = 0;" (assignment_expression "sVar7 = 0" identifier = number_literal) ;) (if_statement "if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }" if (parenthesized_expression "((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0'))" ( (binary_expression "(((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')" (parenthesized_expression "(((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0'))" ( (binary_expression "((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')" (parenthesized_expression "((pcVar8 != (char *)0x0) && (*pcVar8 != '\0'))" ( (binary_expression "(pcVar8 != (char *)0x0) && (*pcVar8 != '\0')" (parenthesized_expression "(pcVar8 != (char *)0x0)" ( (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*pcVar8 != '\0')" ( (binary_expression "*pcVar8 != '\0'" (pointer_expression "*pcVar8" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(sVar7 = 1, pcVar8[1] != '\0')" ( (comma_expression "sVar7 = 1, pcVar8[1] != '\0'" (assignment_expression "sVar7 = 1" identifier = number_literal) , (binary_expression "pcVar8[1] != '\0'" (subscript_expression "pcVar8[1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) && (parenthesized_expression "(sVar7 = 2, pcVar8[2] != '\0')" ( (comma_expression "sVar7 = 2, pcVar8[2] != '\0'" (assignment_expression "sVar7 = 2" identifier = number_literal) , (binary_expression "pcVar8[2] != '\0'" (subscript_expression "pcVar8[2]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n            sVar7 = strlen(pcVar8);\n          }" { (expression_statement "sVar7 = strlen(pcVar8);" (assignment_expression "sVar7 = strlen(pcVar8)" identifier = (call_expression "strlen(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier )))) ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);" (assignment_expression "pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24)" identifier = (cast_expression "(char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "ansicstr(pcVar8,sVar7,1,&local_28,&local_24)" identifier (argument_list "(pcVar8,sVar7,1,&local_28,&local_24)" ( identifier , identifier , number_literal , (pointer_expression "&local_28" & identifier) , (pointer_expression "&local_24" & identifier) ))))) ;) (expression_statement "pcVar9 = pcVar8;" (assignment_expression "pcVar9 = pcVar8" identifier = identifier) ;) (if_statement "if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }" if (parenthesized_expression "(pcVar8 != (char *)0x0)" ( (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }" { (for_statement "for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }" for ( ; (binary_expression "0 < local_24" number_literal < identifier) ; (assignment_expression "local_24 = local_24 + -1" identifier = (binary_expression "local_24 + -1" identifier + number_literal)) ) (compound_statement "{\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }" { (expression_statement "putc((int)*pcVar9,*(FILE **)puVar3);" (call_expression "putc((int)*pcVar9,*(FILE **)puVar3)" identifier (argument_list "((int)*pcVar9,*(FILE **)puVar3)" ( (cast_expression "(int)*pcVar9" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar9" * identifier)) , (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) })) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) })) (if_statement "if (terminating_signal == 0) goto LAB_000b32eb;" if (parenthesized_expression "(terminating_signal == 0)" ( (binary_expression "terminating_signal == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b32eb;" goto statement_identifier ;)) (labeled_statement "LAB_000b33b6:\n          termsig_handler(terminating_signal);" statement_identifier : (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" identifier (argument_list "(terminating_signal)" ( identifier ))) ;)) (if_statement "if (interrupt_state != 0) goto LAB_000b33d2;" if (parenthesized_expression "(interrupt_state != 0)" ( (binary_expression "interrupt_state != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b33d2;" goto statement_identifier ;)) (labeled_statement "LAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }" statement_identifier : (if_statement "if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\nLAB_000b33e1:\n            free(pcVar8);\n          }" { (labeled_statement "LAB_000b33e1:\n            free(pcVar8);" statement_identifier : (expression_statement "free(pcVar8);" (call_expression "free(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier ))) ;)) }))) }))) (expression_statement "param_1 = (int *)*param_1;" (assignment_expression "param_1 = (int *)*param_1" identifier = (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (if_statement "if (local_28 != 0) goto LAB_000b3364;" if (parenthesized_expression "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b3364;" goto statement_identifier ;)) (if_statement "if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }" if (parenthesized_expression "(param_1 != (int *)0x0)" ( (binary_expression "param_1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          putc(0x20,*(FILE **)puVar3);\n        }" { (expression_statement "putc(0x20,*(FILE **)puVar3);" (call_expression "putc(0x20,*(FILE **)puVar3)" identifier (argument_list "(0x20,*(FILE **)puVar3)" ( number_literal , (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) })) (if_statement "if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }" if (parenthesized_expression "(terminating_signal != 0)" ( (binary_expression "terminating_signal != 0" identifier != number_literal) )) (compound_statement "{\n          termsig_handler(terminating_signal);\n        }" { (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" identifier (argument_list "(terminating_signal)" ( identifier ))) ;) })) (if_statement "if (interrupt_state != 0) {\n          throw_to_top_level();\n        }" if (parenthesized_expression "(interrupt_state != 0)" ( (binary_expression "interrupt_state != 0" identifier != number_literal) )) (compound_statement "{\n          throw_to_top_level();\n        }" { (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" identifier (argument_list "()" ( ))) ;) })) }) while (parenthesized_expression "(param_1 != (int *)0x0)" ( (binary_expression "param_1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;)) (labeled_statement "LAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;" statement_identifier : (if_statement "if (!bVar2) goto LAB_000b3364;" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (goto_statement "goto LAB_000b3364;" goto statement_identifier ;))) })) }))) (expression_statement "putc(10,*(FILE **)puVar3);" (call_expression "putc(10,*(FILE **)puVar3)" identifier (argument_list "(10,*(FILE **)puVar3)" ( number_literal , (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (labeled_statement "LAB_000b3364:\n  sh_chkwrite(0);" statement_identifier : (expression_statement "sh_chkwrite(0);" (call_expression "sh_chkwrite(0)" identifier (argument_list "(0)" ( number_literal ))) ;)) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "FUN_0010f8b0();" (call_expression "FUN_0010f8b0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000b3490:\n  pcVar9 = pcVar9 + 1;" statement_identifier : (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;)) (expression_statement "cVar5 = *pcVar9;" (assignment_expression "cVar5 = *pcVar9" identifier = (pointer_expression "*pcVar9" * identifier)) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (goto_statement "goto joined_r0x000b344e;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint echo_builtin(WORD_LIST *list)\n\n{\n  FILE *__stream;\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  char cVar4;\n  char *pcVar5;\n  size_t len_00;\n  char *pcVar6;\n  int iVar7;\n  char *pcVar8;\n  int iVar9;\n  int in_GS_OFFSET;\n  WORD_LIST *local_3c;\n  int local_38;\n  int i;\n  int len;\n  int local_20;\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_00171f70;\n  uStack_14 = 0xb3139;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = xpg_echo;\n  __stream = *(FILE **)PTR_stdout_00171f70;\n  if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (list != (WORD_LIST *)0x0) {\n      pcVar6 = list->word->word;\n      if (pcVar6 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar6 == '-') {\n          local_3c = list;\n          while( true ) {\n            pcVar8 = pcVar6 + 1;\n            i = 0;\n            cVar4 = pcVar6[1];\n            list = local_3c;\n            if (cVar4 == '\0') break;\n            iVar7 = 1;\n            do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');\n            if (pcVar6[1] == '\0') break;\n            cVar4 = pcVar6[1];\njoined_r0x000b344e:\n            i = (int)cVar4;\n            if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }\n            list = local_3c->next;\n            if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar6 = list->word->word;\n            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (list != (WORD_LIST *)0x0) {\nLAB_000b3230:\n      do {\n        len = 0;\n        i = 0;\n        pcVar6 = list->word->word;\n        if (local_38 == 0) {\n          if (pcVar6 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          len_00 = 0;\n          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }\n          bVar1 = false;\n          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);\n          pcVar8 = pcVar6;\n          if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }\n        }\n        list = list->next;\n        if (i != 0) goto LAB_000b3364;\n        if (list != (word_list *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (list != (word_list *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }\n  putc(10,*(FILE **)puVar3);\nLAB_000b3364:\n  iVar7 = sh_chkwrite(0);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\nLAB_000b3490:\n  pcVar8 = pcVar8 + 1;\n  cVar4 = *pcVar8;\n  bVar2 = false;\n  goto joined_r0x000b344e;\n}\n\n" comment (function_definition "int echo_builtin(WORD_LIST *list)\n\n{\n  FILE *__stream;\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  char cVar4;\n  char *pcVar5;\n  size_t len_00;\n  char *pcVar6;\n  int iVar7;\n  char *pcVar8;\n  int iVar9;\n  int in_GS_OFFSET;\n  WORD_LIST *local_3c;\n  int local_38;\n  int i;\n  int len;\n  int local_20;\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_00171f70;\n  uStack_14 = 0xb3139;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = xpg_echo;\n  __stream = *(FILE **)PTR_stdout_00171f70;\n  if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (list != (WORD_LIST *)0x0) {\n      pcVar6 = list->word->word;\n      if (pcVar6 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar6 == '-') {\n          local_3c = list;\n          while( true ) {\n            pcVar8 = pcVar6 + 1;\n            i = 0;\n            cVar4 = pcVar6[1];\n            list = local_3c;\n            if (cVar4 == '\0') break;\n            iVar7 = 1;\n            do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');\n            if (pcVar6[1] == '\0') break;\n            cVar4 = pcVar6[1];\njoined_r0x000b344e:\n            i = (int)cVar4;\n            if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }\n            list = local_3c->next;\n            if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar6 = list->word->word;\n            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (list != (WORD_LIST *)0x0) {\nLAB_000b3230:\n      do {\n        len = 0;\n        i = 0;\n        pcVar6 = list->word->word;\n        if (local_38 == 0) {\n          if (pcVar6 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          len_00 = 0;\n          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }\n          bVar1 = false;\n          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);\n          pcVar8 = pcVar6;\n          if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }\n        }\n        list = list->next;\n        if (i != 0) goto LAB_000b3364;\n        if (list != (word_list *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (list != (word_list *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }\n  putc(10,*(FILE **)puVar3);\nLAB_000b3364:\n  iVar7 = sh_chkwrite(0);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\nLAB_000b3490:\n  pcVar8 = pcVar8 + 1;\n  cVar4 = *pcVar8;\n  bVar2 = false;\n  goto joined_r0x000b344e;\n}" primitive_type (function_declarator "echo_builtin(WORD_LIST *list)" identifier (parameter_list "(WORD_LIST *list)" ( (parameter_declaration "WORD_LIST *list" type_identifier (pointer_declarator "*list" * identifier)) ))) (compound_statement "{\n  FILE *__stream;\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  char cVar4;\n  char *pcVar5;\n  size_t len_00;\n  char *pcVar6;\n  int iVar7;\n  char *pcVar8;\n  int iVar9;\n  int in_GS_OFFSET;\n  WORD_LIST *local_3c;\n  int local_38;\n  int i;\n  int len;\n  int local_20;\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_00171f70;\n  uStack_14 = 0xb3139;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = xpg_echo;\n  __stream = *(FILE **)PTR_stdout_00171f70;\n  if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (list != (WORD_LIST *)0x0) {\n      pcVar6 = list->word->word;\n      if (pcVar6 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar6 == '-') {\n          local_3c = list;\n          while( true ) {\n            pcVar8 = pcVar6 + 1;\n            i = 0;\n            cVar4 = pcVar6[1];\n            list = local_3c;\n            if (cVar4 == '\0') break;\n            iVar7 = 1;\n            do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');\n            if (pcVar6[1] == '\0') break;\n            cVar4 = pcVar6[1];\njoined_r0x000b344e:\n            i = (int)cVar4;\n            if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }\n            list = local_3c->next;\n            if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar6 = list->word->word;\n            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (list != (WORD_LIST *)0x0) {\nLAB_000b3230:\n      do {\n        len = 0;\n        i = 0;\n        pcVar6 = list->word->word;\n        if (local_38 == 0) {\n          if (pcVar6 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          len_00 = 0;\n          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }\n          bVar1 = false;\n          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);\n          pcVar8 = pcVar6;\n          if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }\n        }\n        list = list->next;\n        if (i != 0) goto LAB_000b3364;\n        if (list != (word_list *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (list != (word_list *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }\n  putc(10,*(FILE **)puVar3);\nLAB_000b3364:\n  iVar7 = sh_chkwrite(0);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\nLAB_000b3490:\n  pcVar8 = pcVar8 + 1;\n  cVar4 = *pcVar8;\n  bVar2 = false;\n  goto joined_r0x000b344e;\n}" { (declaration "FILE *__stream;" type_identifier (pointer_declarator "*__stream" * identifier) ;) (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "size_t len_00;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "WORD_LIST *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "int i;" primitive_type identifier ;) (declaration "int len;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "puVar3 = PTR_stdout_00171f70;" (assignment_expression "puVar3 = PTR_stdout_00171f70" identifier = identifier) ;) (expression_statement "uStack_14 = 0xb3139;" (assignment_expression "uStack_14 = 0xb3139" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_38 = xpg_echo;" (assignment_expression "local_38 = xpg_echo" identifier = identifier) ;) (expression_statement "__stream = *(FILE **)PTR_stdout_00171f70;" (assignment_expression "__stream = *(FILE **)PTR_stdout_00171f70" identifier = (pointer_expression "*(FILE **)PTR_stdout_00171f70" * (cast_expression "(FILE **)PTR_stdout_00171f70" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (list != (WORD_LIST *)0x0) {\n      pcVar6 = list->word->word;\n      if (pcVar6 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar6 == '-') {\n          local_3c = list;\n          while( true ) {\n            pcVar8 = pcVar6 + 1;\n            i = 0;\n            cVar4 = pcVar6[1];\n            list = local_3c;\n            if (cVar4 == '\0') break;\n            iVar7 = 1;\n            do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');\n            if (pcVar6[1] == '\0') break;\n            cVar4 = pcVar6[1];\njoined_r0x000b344e:\n            i = (int)cVar4;\n            if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }\n            list = local_3c->next;\n            if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar6 = list->word->word;\n            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (list != (WORD_LIST *)0x0) {\nLAB_000b3230:\n      do {\n        len = 0;\n        i = 0;\n        pcVar6 = list->word->word;\n        if (local_38 == 0) {\n          if (pcVar6 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          len_00 = 0;\n          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }\n          bVar1 = false;\n          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);\n          pcVar8 = pcVar6;\n          if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }\n        }\n        list = list->next;\n        if (i != 0) goto LAB_000b3364;\n        if (list != (word_list *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (list != (word_list *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }" if (parenthesized_expression "((posixly_correct == 0) || (xpg_echo == 0))" ( (binary_expression "(posixly_correct == 0) || (xpg_echo == 0)" (parenthesized_expression "(posixly_correct == 0)" ( (binary_expression "posixly_correct == 0" identifier == number_literal) )) || (parenthesized_expression "(xpg_echo == 0)" ( (binary_expression "xpg_echo == 0" identifier == number_literal) ))) )) (compound_statement "{\n    if (list != (WORD_LIST *)0x0) {\n      pcVar6 = list->word->word;\n      if (pcVar6 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar6 == '-') {\n          local_3c = list;\n          while( true ) {\n            pcVar8 = pcVar6 + 1;\n            i = 0;\n            cVar4 = pcVar6[1];\n            list = local_3c;\n            if (cVar4 == '\0') break;\n            iVar7 = 1;\n            do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');\n            if (pcVar6[1] == '\0') break;\n            cVar4 = pcVar6[1];\njoined_r0x000b344e:\n            i = (int)cVar4;\n            if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }\n            list = local_3c->next;\n            if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar6 = list->word->word;\n            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }" { (if_statement "if (list != (WORD_LIST *)0x0) {\n      pcVar6 = list->word->word;\n      if (pcVar6 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar6 == '-') {\n          local_3c = list;\n          while( true ) {\n            pcVar8 = pcVar6 + 1;\n            i = 0;\n            cVar4 = pcVar6[1];\n            list = local_3c;\n            if (cVar4 == '\0') break;\n            iVar7 = 1;\n            do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');\n            if (pcVar6[1] == '\0') break;\n            cVar4 = pcVar6[1];\njoined_r0x000b344e:\n            i = (int)cVar4;\n            if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }\n            list = local_3c->next;\n            if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar6 = list->word->word;\n            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }" if (parenthesized_expression "(list != (WORD_LIST *)0x0)" ( (binary_expression "list != (WORD_LIST *)0x0" identifier != (cast_expression "(WORD_LIST *)0x0" ( (type_descriptor "WORD_LIST *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar6 = list->word->word;\n      if (pcVar6 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar6 == '-') {\n          local_3c = list;\n          while( true ) {\n            pcVar8 = pcVar6 + 1;\n            i = 0;\n            cVar4 = pcVar6[1];\n            list = local_3c;\n            if (cVar4 == '\0') break;\n            iVar7 = 1;\n            do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');\n            if (pcVar6[1] == '\0') break;\n            cVar4 = pcVar6[1];\njoined_r0x000b344e:\n            i = (int)cVar4;\n            if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }\n            list = local_3c->next;\n            if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar6 = list->word->word;\n            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }" { (expression_statement "pcVar6 = list->word->word;" (assignment_expression "pcVar6 = list->word->word" identifier = (field_expression "list->word->word" (field_expression "list->word" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (pcVar6 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar6 == '-') {\n          local_3c = list;\n          while( true ) {\n            pcVar8 = pcVar6 + 1;\n            i = 0;\n            cVar4 = pcVar6[1];\n            list = local_3c;\n            if (cVar4 == '\0') break;\n            iVar7 = 1;\n            do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');\n            if (pcVar6[1] == '\0') break;\n            cVar4 = pcVar6[1];\njoined_r0x000b344e:\n            i = (int)cVar4;\n            if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }\n            list = local_3c->next;\n            if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar6 = list->word->word;\n            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;\n          }\n        }\n      }" if (parenthesized_expression "(pcVar6 == (char *)0x0)" ( (binary_expression "pcVar6 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        bVar2 = true;\n      }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }) (else_clause "else {\n        bVar2 = true;\n        if (*pcVar6 == '-') {\n          local_3c = list;\n          while( true ) {\n            pcVar8 = pcVar6 + 1;\n            i = 0;\n            cVar4 = pcVar6[1];\n            list = local_3c;\n            if (cVar4 == '\0') break;\n            iVar7 = 1;\n            do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');\n            if (pcVar6[1] == '\0') break;\n            cVar4 = pcVar6[1];\njoined_r0x000b344e:\n            i = (int)cVar4;\n            if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }\n            list = local_3c->next;\n            if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar6 = list->word->word;\n            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;\n          }\n        }\n      }" else (compound_statement "{\n        bVar2 = true;\n        if (*pcVar6 == '-') {\n          local_3c = list;\n          while( true ) {\n            pcVar8 = pcVar6 + 1;\n            i = 0;\n            cVar4 = pcVar6[1];\n            list = local_3c;\n            if (cVar4 == '\0') break;\n            iVar7 = 1;\n            do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');\n            if (pcVar6[1] == '\0') break;\n            cVar4 = pcVar6[1];\njoined_r0x000b344e:\n            i = (int)cVar4;\n            if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }\n            list = local_3c->next;\n            if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar6 = list->word->word;\n            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;\n          }\n        }\n      }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if (*pcVar6 == '-') {\n          local_3c = list;\n          while( true ) {\n            pcVar8 = pcVar6 + 1;\n            i = 0;\n            cVar4 = pcVar6[1];\n            list = local_3c;\n            if (cVar4 == '\0') break;\n            iVar7 = 1;\n            do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');\n            if (pcVar6[1] == '\0') break;\n            cVar4 = pcVar6[1];\njoined_r0x000b344e:\n            i = (int)cVar4;\n            if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }\n            list = local_3c->next;\n            if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar6 = list->word->word;\n            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;\n          }\n        }" if (parenthesized_expression "(*pcVar6 == '-')" ( (binary_expression "*pcVar6 == '-'" (pointer_expression "*pcVar6" * identifier) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n          local_3c = list;\n          while( true ) {\n            pcVar8 = pcVar6 + 1;\n            i = 0;\n            cVar4 = pcVar6[1];\n            list = local_3c;\n            if (cVar4 == '\0') break;\n            iVar7 = 1;\n            do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');\n            if (pcVar6[1] == '\0') break;\n            cVar4 = pcVar6[1];\njoined_r0x000b344e:\n            i = (int)cVar4;\n            if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }\n            list = local_3c->next;\n            if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar6 = list->word->word;\n            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;\n          }\n        }" { (expression_statement "local_3c = list;" (assignment_expression "local_3c = list" identifier = identifier) ;) (while_statement "while( true ) {\n            pcVar8 = pcVar6 + 1;\n            i = 0;\n            cVar4 = pcVar6[1];\n            list = local_3c;\n            if (cVar4 == '\0') break;\n            iVar7 = 1;\n            do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');\n            if (pcVar6[1] == '\0') break;\n            cVar4 = pcVar6[1];\njoined_r0x000b344e:\n            i = (int)cVar4;\n            if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }\n            list = local_3c->next;\n            if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar6 = list->word->word;\n            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            pcVar8 = pcVar6 + 1;\n            i = 0;\n            cVar4 = pcVar6[1];\n            list = local_3c;\n            if (cVar4 == '\0') break;\n            iVar7 = 1;\n            do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');\n            if (pcVar6[1] == '\0') break;\n            cVar4 = pcVar6[1];\njoined_r0x000b344e:\n            i = (int)cVar4;\n            if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }\n            list = local_3c->next;\n            if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar6 = list->word->word;\n            if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;\n          }" { (expression_statement "pcVar8 = pcVar6 + 1;" (assignment_expression "pcVar8 = pcVar6 + 1" identifier = (binary_expression "pcVar6 + 1" identifier + number_literal)) ;) (expression_statement "i = 0;" (assignment_expression "i = 0" identifier = number_literal) ;) (expression_statement "cVar4 = pcVar6[1];" (assignment_expression "cVar4 = pcVar6[1]" identifier = (subscript_expression "pcVar6[1]" identifier [ number_literal ])) ;) (expression_statement "list = local_3c;" (assignment_expression "list = local_3c" identifier = identifier) ;) (if_statement "if (cVar4 == '\0') break;" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (do_statement "do {\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            } while (cVar4 != '\0');" do (compound_statement "{\n              iVar9 = iVar7;\n              pcVar5 = strchr("neE",(int)cVar4);\n              if (pcVar5 == (char *)0x0) goto LAB_000b31fc;\n              cVar4 = pcVar6[iVar9 + 1];\n              iVar7 = iVar9 + 1;\n              i = iVar9;\n            }" { (expression_statement "iVar9 = iVar7;" (assignment_expression "iVar9 = iVar7" identifier = identifier) ;) (expression_statement "pcVar5 = strchr("neE",(int)cVar4);" (assignment_expression "pcVar5 = strchr("neE",(int)cVar4)" identifier = (call_expression "strchr("neE",(int)cVar4)" identifier (argument_list "("neE",(int)cVar4)" ( (string_literal ""neE"" " string_content ") , (cast_expression "(int)cVar4" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (if_statement "if (pcVar5 == (char *)0x0) goto LAB_000b31fc;" 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)) )) (goto_statement "goto LAB_000b31fc;" goto statement_identifier ;)) (expression_statement "cVar4 = pcVar6[iVar9 + 1];" (assignment_expression "cVar4 = pcVar6[iVar9 + 1]" identifier = (subscript_expression "pcVar6[iVar9 + 1]" identifier [ (binary_expression "iVar9 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar7 = iVar9 + 1;" (assignment_expression "iVar7 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "i = iVar9;" (assignment_expression "i = iVar9" identifier = identifier) ;) }) while (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (if_statement "if (pcVar6[1] == '\0') break;" if (parenthesized_expression "(pcVar6[1] == '\0')" ( (binary_expression "pcVar6[1] == '\0'" (subscript_expression "pcVar6[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "cVar4 = pcVar6[1];" (assignment_expression "cVar4 = pcVar6[1]" identifier = (subscript_expression "pcVar6[1]" identifier [ number_literal ])) ;) (labeled_statement "joined_r0x000b344e:\n            i = (int)cVar4;" statement_identifier : (expression_statement "i = (int)cVar4;" (assignment_expression "i = (int)cVar4" identifier = (cast_expression "(int)cVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (if_statement "if (i != 0) {\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }" if (parenthesized_expression "(i != 0)" ( (binary_expression "i != 0" identifier != number_literal) )) (compound_statement "{\n              do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );\n            }" { (do_statement "do {\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              } while( true );" do (compound_statement "{\n                cVar4 = (char)i;\n                if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar8 = pcVar8 + 1;\n                i = (int)*pcVar8;\n                if (i == 0) break;\n              }" { (expression_statement "cVar4 = (char)i;" (assignment_expression "cVar4 = (char)i" identifier = (cast_expression "(char)i" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (cVar4 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }" if (parenthesized_expression "(cVar4 == 'e')" ( (binary_expression "cVar4 == 'e'" identifier == (char_literal "'e'" ' character ')) )) (compound_statement "{\n                  local_38 = 1;\n                }" { (expression_statement "local_38 = 1;" (assignment_expression "local_38 = 1" identifier = number_literal) ;) }) (else_clause "else {\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }" else (compound_statement "{\n                  if (cVar4 == 'n') goto LAB_000b3490;\n                  if (cVar4 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }" { (if_statement "if (cVar4 == 'n') goto LAB_000b3490;" if (parenthesized_expression "(cVar4 == 'n')" ( (binary_expression "cVar4 == 'n'" identifier == (char_literal "'n'" ' character ')) )) (goto_statement "goto LAB_000b3490;" goto statement_identifier ;)) (if_statement "if (cVar4 != 'E') goto LAB_000b31fc;" if (parenthesized_expression "(cVar4 != 'E')" ( (binary_expression "cVar4 != 'E'" identifier != (char_literal "'E'" ' character ')) )) (goto_statement "goto LAB_000b31fc;" goto statement_identifier ;)) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) }))) (expression_statement "pcVar8 = pcVar8 + 1;" (assignment_expression "pcVar8 = pcVar8 + 1" identifier = (binary_expression "pcVar8 + 1" identifier + number_literal)) ;) (expression_statement "i = (int)*pcVar8;" (assignment_expression "i = (int)*pcVar8" identifier = (cast_expression "(int)*pcVar8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar8" * identifier))) ;) (if_statement "if (i == 0) break;" if (parenthesized_expression "(i == 0)" ( (binary_expression "i == 0" identifier == number_literal) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "list = local_3c->next;" (assignment_expression "list = local_3c->next" identifier = (field_expression "local_3c->next" identifier -> field_identifier)) ;) (if_statement "if (list == (WORD_LIST *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }" if (parenthesized_expression "(list == (WORD_LIST *)0x0)" ( (binary_expression "list == (WORD_LIST *)0x0" identifier == (cast_expression "(WORD_LIST *)0x0" ( (type_descriptor "WORD_LIST *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }" { (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" identifier (argument_list "(__stream)" ( identifier ))) ;) (goto_statement "goto LAB_000b3349;" goto statement_identifier ;) })) (expression_statement "pcVar6 = list->word->word;" (assignment_expression "pcVar6 = list->word->word" identifier = (field_expression "list->word->word" (field_expression "list->word" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if ((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')) break;" if (parenthesized_expression "((pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-'))" ( (binary_expression "(pcVar6 == (char *)0x0) || (local_3c = list, *pcVar6 != '-')" (parenthesized_expression "(pcVar6 == (char *)0x0)" ( (binary_expression "pcVar6 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_3c = list, *pcVar6 != '-')" ( (comma_expression "local_3c = list, *pcVar6 != '-'" (assignment_expression "local_3c = list" identifier = identifier) , (binary_expression "*pcVar6 != '-'" (pointer_expression "*pcVar6" * identifier) != (char_literal "'-'" ' character '))) ))) )) (break_statement "break;" break ;)) })) })) }))) (labeled_statement "LAB_000b31fc:\n      clearerr(__stream);" statement_identifier : (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" identifier (argument_list "(__stream)" ( identifier ))) ;)) (goto_statement "goto LAB_000b3230;" goto statement_identifier ;) })) (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" identifier (argument_list "(__stream)" ( identifier ))) ;) }) (else_clause "else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (list != (WORD_LIST *)0x0) {\nLAB_000b3230:\n      do {\n        len = 0;\n        i = 0;\n        pcVar6 = list->word->word;\n        if (local_38 == 0) {\n          if (pcVar6 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          len_00 = 0;\n          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }\n          bVar1 = false;\n          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);\n          pcVar8 = pcVar6;\n          if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }\n        }\n        list = list->next;\n        if (i != 0) goto LAB_000b3364;\n        if (list != (word_list *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (list != (word_list *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }" else (compound_statement "{\n    clearerr(__stream);\n    bVar2 = true;\n    if (list != (WORD_LIST *)0x0) {\nLAB_000b3230:\n      do {\n        len = 0;\n        i = 0;\n        pcVar6 = list->word->word;\n        if (local_38 == 0) {\n          if (pcVar6 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          len_00 = 0;\n          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }\n          bVar1 = false;\n          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);\n          pcVar8 = pcVar6;\n          if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }\n        }\n        list = list->next;\n        if (i != 0) goto LAB_000b3364;\n        if (list != (word_list *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (list != (word_list *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }" { (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" identifier (argument_list "(__stream)" ( identifier ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if (list != (WORD_LIST *)0x0) {\nLAB_000b3230:\n      do {\n        len = 0;\n        i = 0;\n        pcVar6 = list->word->word;\n        if (local_38 == 0) {\n          if (pcVar6 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          len_00 = 0;\n          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }\n          bVar1 = false;\n          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);\n          pcVar8 = pcVar6;\n          if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }\n        }\n        list = list->next;\n        if (i != 0) goto LAB_000b3364;\n        if (list != (word_list *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (list != (word_list *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }" if (parenthesized_expression "(list != (WORD_LIST *)0x0)" ( (binary_expression "list != (WORD_LIST *)0x0" identifier != (cast_expression "(WORD_LIST *)0x0" ( (type_descriptor "WORD_LIST *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000b3230:\n      do {\n        len = 0;\n        i = 0;\n        pcVar6 = list->word->word;\n        if (local_38 == 0) {\n          if (pcVar6 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          len_00 = 0;\n          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }\n          bVar1 = false;\n          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);\n          pcVar8 = pcVar6;\n          if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }\n        }\n        list = list->next;\n        if (i != 0) goto LAB_000b3364;\n        if (list != (word_list *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (list != (word_list *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }" { (labeled_statement "LAB_000b3230:\n      do {\n        len = 0;\n        i = 0;\n        pcVar6 = list->word->word;\n        if (local_38 == 0) {\n          if (pcVar6 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          len_00 = 0;\n          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }\n          bVar1 = false;\n          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);\n          pcVar8 = pcVar6;\n          if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }\n        }\n        list = list->next;\n        if (i != 0) goto LAB_000b3364;\n        if (list != (word_list *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (list != (word_list *)0x0);" statement_identifier : (do_statement "do {\n        len = 0;\n        i = 0;\n        pcVar6 = list->word->word;\n        if (local_38 == 0) {\n          if (pcVar6 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          len_00 = 0;\n          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }\n          bVar1 = false;\n          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);\n          pcVar8 = pcVar6;\n          if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }\n        }\n        list = list->next;\n        if (i != 0) goto LAB_000b3364;\n        if (list != (word_list *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (list != (word_list *)0x0);" do (compound_statement "{\n        len = 0;\n        i = 0;\n        pcVar6 = list->word->word;\n        if (local_38 == 0) {\n          if (pcVar6 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          len_00 = 0;\n          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }\n          bVar1 = false;\n          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);\n          pcVar8 = pcVar6;\n          if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }\n        }\n        list = list->next;\n        if (i != 0) goto LAB_000b3364;\n        if (list != (word_list *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      }" { (expression_statement "len = 0;" (assignment_expression "len = 0" identifier = number_literal) ;) (expression_statement "i = 0;" (assignment_expression "i = 0" identifier = number_literal) ;) (expression_statement "pcVar6 = list->word->word;" (assignment_expression "pcVar6 = list->word->word" identifier = (field_expression "list->word->word" (field_expression "list->word" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (local_38 == 0) {\n          if (pcVar6 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          len_00 = 0;\n          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }\n          bVar1 = false;\n          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);\n          pcVar8 = pcVar6;\n          if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }\n        }" if (parenthesized_expression "(local_38 == 0)" ( (binary_expression "local_38 == 0" identifier == number_literal) )) (compound_statement "{\n          if (pcVar6 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }" { (if_statement "if (pcVar6 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }" if (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            __printf_chk(1,&DAT_00125693,pcVar6);\n          }" { (expression_statement "__printf_chk(1,&DAT_00125693,pcVar6);" (call_expression "__printf_chk(1,&DAT_00125693,pcVar6)" identifier (argument_list "(1,&DAT_00125693,pcVar6)" ( number_literal , (pointer_expression "&DAT_00125693" & identifier) , identifier ))) ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (if_statement "if (terminating_signal != 0) goto LAB_000b33b6;" if (parenthesized_expression "(terminating_signal != 0)" ( (binary_expression "terminating_signal != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b33b6;" goto statement_identifier ;)) (labeled_statement "LAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;" statement_identifier : (if_statement "if (interrupt_state == 0) goto LAB_000b32f9;" if (parenthesized_expression "(interrupt_state == 0)" ( (binary_expression "interrupt_state == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b32f9;" goto statement_identifier ;))) (labeled_statement "LAB_000b33d2:\n          throw_to_top_level();" statement_identifier : (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" identifier (argument_list "()" ( ))) ;)) (if_statement "if (bVar1) goto LAB_000b33e1;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_000b33e1;" goto statement_identifier ;)) }) (else_clause "else {\n          len_00 = 0;\n          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }\n          bVar1 = false;\n          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);\n          pcVar8 = pcVar6;\n          if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }\n        }" else (compound_statement "{\n          len_00 = 0;\n          if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }\n          bVar1 = false;\n          pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);\n          pcVar8 = pcVar6;\n          if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }\n        }" { (expression_statement "len_00 = 0;" (assignment_expression "len_00 = 0" identifier = number_literal) ;) (if_statement "if ((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')) {\n            len_00 = strlen(pcVar6);\n          }" if (parenthesized_expression "((((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0'))" ( (binary_expression "(((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')) &&\n             (len_00 = 2, pcVar6[2] != '\0')" (parenthesized_expression "(((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0'))" ( (binary_expression "((pcVar6 != (char *)0x0) && (*pcVar6 != '\0')) && (len_00 = 1, pcVar6[1] != '\0')" (parenthesized_expression "((pcVar6 != (char *)0x0) && (*pcVar6 != '\0'))" ( (binary_expression "(pcVar6 != (char *)0x0) && (*pcVar6 != '\0')" (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*pcVar6 != '\0')" ( (binary_expression "*pcVar6 != '\0'" (pointer_expression "*pcVar6" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(len_00 = 1, pcVar6[1] != '\0')" ( (comma_expression "len_00 = 1, pcVar6[1] != '\0'" (assignment_expression "len_00 = 1" identifier = number_literal) , (binary_expression "pcVar6[1] != '\0'" (subscript_expression "pcVar6[1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) && (parenthesized_expression "(len_00 = 2, pcVar6[2] != '\0')" ( (comma_expression "len_00 = 2, pcVar6[2] != '\0'" (assignment_expression "len_00 = 2" identifier = number_literal) , (binary_expression "pcVar6[2] != '\0'" (subscript_expression "pcVar6[2]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n            len_00 = strlen(pcVar6);\n          }" { (expression_statement "len_00 = strlen(pcVar6);" (assignment_expression "len_00 = strlen(pcVar6)" identifier = (call_expression "strlen(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier )))) ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len);" (assignment_expression "pcVar6 = ansicstr(pcVar6,len_00,1,&i,&len)" identifier = (call_expression "ansicstr(pcVar6,len_00,1,&i,&len)" identifier (argument_list "(pcVar6,len_00,1,&i,&len)" ( identifier , identifier , number_literal , (pointer_expression "&i" & identifier) , (pointer_expression "&len" & identifier) )))) ;) (expression_statement "pcVar8 = pcVar6;" (assignment_expression "pcVar8 = pcVar6" identifier = identifier) ;) (if_statement "if (pcVar6 != (char *)0x0) {\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }" if (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }\n            bVar1 = true;\n          }" { (for_statement "for (; 0 < len; len = len + -1) {\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }" for ( ; (binary_expression "0 < len" number_literal < identifier) ; (assignment_expression "len = len + -1" identifier = (binary_expression "len + -1" identifier + number_literal)) ) (compound_statement "{\n              putc((int)*pcVar8,*(FILE **)puVar3);\n              pcVar8 = pcVar8 + 1;\n            }" { (expression_statement "putc((int)*pcVar8,*(FILE **)puVar3);" (call_expression "putc((int)*pcVar8,*(FILE **)puVar3)" identifier (argument_list "((int)*pcVar8,*(FILE **)puVar3)" ( (cast_expression "(int)*pcVar8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar8" * identifier)) , (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "pcVar8 = pcVar8 + 1;" (assignment_expression "pcVar8 = pcVar8 + 1" identifier = (binary_expression "pcVar8 + 1" identifier + number_literal)) ;) })) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) })) (if_statement "if (terminating_signal == 0) goto LAB_000b32eb;" if (parenthesized_expression "(terminating_signal == 0)" ( (binary_expression "terminating_signal == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b32eb;" goto statement_identifier ;)) (labeled_statement "LAB_000b33b6:\n          termsig_handler(terminating_signal);" statement_identifier : (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" identifier (argument_list "(terminating_signal)" ( identifier ))) ;)) (if_statement "if (interrupt_state != 0) goto LAB_000b33d2;" if (parenthesized_expression "(interrupt_state != 0)" ( (binary_expression "interrupt_state != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b33d2;" goto statement_identifier ;)) (labeled_statement "LAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }" statement_identifier : (if_statement "if (bVar1) {\nLAB_000b33e1:\n            free(pcVar6);\n          }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\nLAB_000b33e1:\n            free(pcVar6);\n          }" { (labeled_statement "LAB_000b33e1:\n            free(pcVar6);" statement_identifier : (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;)) }))) }))) (expression_statement "list = list->next;" (assignment_expression "list = list->next" identifier = (field_expression "list->next" identifier -> field_identifier)) ;) (if_statement "if (i != 0) goto LAB_000b3364;" if (parenthesized_expression "(i != 0)" ( (binary_expression "i != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b3364;" goto statement_identifier ;)) (if_statement "if (list != (word_list *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }" if (parenthesized_expression "(list != (word_list *)0x0)" ( (binary_expression "list != (word_list *)0x0" identifier != (cast_expression "(word_list *)0x0" ( (type_descriptor "word_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          putc(0x20,*(FILE **)puVar3);\n        }" { (expression_statement "putc(0x20,*(FILE **)puVar3);" (call_expression "putc(0x20,*(FILE **)puVar3)" identifier (argument_list "(0x20,*(FILE **)puVar3)" ( number_literal , (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) })) (if_statement "if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }" if (parenthesized_expression "(terminating_signal != 0)" ( (binary_expression "terminating_signal != 0" identifier != number_literal) )) (compound_statement "{\n          termsig_handler(terminating_signal);\n        }" { (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" identifier (argument_list "(terminating_signal)" ( identifier ))) ;) })) (if_statement "if (interrupt_state != 0) {\n          throw_to_top_level();\n        }" if (parenthesized_expression "(interrupt_state != 0)" ( (binary_expression "interrupt_state != 0" identifier != number_literal) )) (compound_statement "{\n          throw_to_top_level();\n        }" { (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" identifier (argument_list "()" ( ))) ;) })) }) while (parenthesized_expression "(list != (word_list *)0x0)" ( (binary_expression "list != (word_list *)0x0" identifier != (cast_expression "(word_list *)0x0" ( (type_descriptor "word_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;)) (labeled_statement "LAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;" statement_identifier : (if_statement "if (!bVar2) goto LAB_000b3364;" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (goto_statement "goto LAB_000b3364;" goto statement_identifier ;))) })) }))) (expression_statement "putc(10,*(FILE **)puVar3);" (call_expression "putc(10,*(FILE **)puVar3)" identifier (argument_list "(10,*(FILE **)puVar3)" ( number_literal , (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (labeled_statement "LAB_000b3364:\n  iVar7 = sh_chkwrite(0);" statement_identifier : (expression_statement "iVar7 = sh_chkwrite(0);" (assignment_expression "iVar7 = sh_chkwrite(0)" identifier = (call_expression "sh_chkwrite(0)" identifier (argument_list "(0)" ( number_literal )))) ;)) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar7;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return iVar7;\n  }" { (return_statement "return iVar7;" return identifier ;) })) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000b3490:\n  pcVar8 = pcVar8 + 1;" statement_identifier : (expression_statement "pcVar8 = pcVar8 + 1;" (assignment_expression "pcVar8 = pcVar8 + 1" identifier = (binary_expression "pcVar8 + 1" identifier + number_literal)) ;)) (expression_statement "cVar4 = *pcVar8;" (assignment_expression "cVar4 = *pcVar8" identifier = (pointer_expression "*pcVar8" * identifier)) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (goto_statement "goto joined_r0x000b344e;" goto statement_identifier ;) })))
(translation_unit "void echo_builtin(int *param_1)\n\n{\n  FILE *__stream;\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  char cVar5;\n  char *pcVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int *local_3c;\n  int local_38;\n  int local_28;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_00171f70;\n  uStack_14 = 0xb3139;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = xpg_echo;\n  __stream = *(FILE **)PTR_stdout_00171f70;\n  if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }\n  putc(10,*(FILE **)puVar3);\nLAB_000b3364:\n  sh_chkwrite(0);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0010f8b0();\nLAB_000b3490:\n  pcVar9 = pcVar9 + 1;\n  cVar5 = *pcVar9;\n  bVar2 = false;\n  goto joined_r0x000b344e;\n}\n\n" (function_definition "void echo_builtin(int *param_1)\n\n{\n  FILE *__stream;\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  char cVar5;\n  char *pcVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int *local_3c;\n  int local_38;\n  int local_28;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_00171f70;\n  uStack_14 = 0xb3139;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = xpg_echo;\n  __stream = *(FILE **)PTR_stdout_00171f70;\n  if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }\n  putc(10,*(FILE **)puVar3);\nLAB_000b3364:\n  sh_chkwrite(0);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0010f8b0();\nLAB_000b3490:\n  pcVar9 = pcVar9 + 1;\n  cVar5 = *pcVar9;\n  bVar2 = false;\n  goto joined_r0x000b344e;\n}" primitive_type (function_declarator "echo_builtin(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  FILE *__stream;\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  char cVar5;\n  char *pcVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int *local_3c;\n  int local_38;\n  int local_28;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_00171f70;\n  uStack_14 = 0xb3139;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = xpg_echo;\n  __stream = *(FILE **)PTR_stdout_00171f70;\n  if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }\n  putc(10,*(FILE **)puVar3);\nLAB_000b3364:\n  sh_chkwrite(0);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0010f8b0();\nLAB_000b3490:\n  pcVar9 = pcVar9 + 1;\n  cVar5 = *pcVar9;\n  bVar2 = false;\n  goto joined_r0x000b344e;\n}" { (declaration "FILE *__stream;" type_identifier (pointer_declarator "*__stream" * identifier) ;) (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int *local_3c;" primitive_type (pointer_declarator "*local_3c" * identifier) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "puVar3 = PTR_stdout_00171f70;" (assignment_expression "puVar3 = PTR_stdout_00171f70" identifier = identifier) ;) (expression_statement "uStack_14 = 0xb3139;" (assignment_expression "uStack_14 = 0xb3139" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_38 = xpg_echo;" (assignment_expression "local_38 = xpg_echo" identifier = identifier) ;) (expression_statement "__stream = *(FILE **)PTR_stdout_00171f70;" (assignment_expression "__stream = *(FILE **)PTR_stdout_00171f70" identifier = (pointer_expression "*(FILE **)PTR_stdout_00171f70" * (cast_expression "(FILE **)PTR_stdout_00171f70" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }" if (parenthesized_expression "((posixly_correct == 0) || (xpg_echo == 0))" ( (binary_expression "(posixly_correct == 0) || (xpg_echo == 0)" (parenthesized_expression "(posixly_correct == 0)" ( (binary_expression "posixly_correct == 0" identifier == number_literal) )) || (parenthesized_expression "(xpg_echo == 0)" ( (binary_expression "xpg_echo == 0" identifier == number_literal) ))) )) (compound_statement "{\n    if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }" { (if_statement "if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }" if (parenthesized_expression "(param_1 != (int *)0x0)" ( (binary_expression "param_1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }" { (expression_statement "pcVar8 = *(char **)param_1[1];" (assignment_expression "pcVar8 = *(char **)param_1[1]" identifier = (pointer_expression "*(char **)param_1[1]" * (cast_expression "(char **)param_1[1]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (if_statement "if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }" if (parenthesized_expression "(pcVar8 == (char *)0x0)" ( (binary_expression "pcVar8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        bVar2 = true;\n      }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }) (else_clause "else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }" else (compound_statement "{\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }" if (parenthesized_expression "(*pcVar8 == '-')" ( (binary_expression "*pcVar8 == '-'" (pointer_expression "*pcVar8" * identifier) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }" { (expression_statement "local_3c = param_1;" (assignment_expression "local_3c = param_1" identifier = identifier) ;) (while_statement "while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }" { (expression_statement "pcVar9 = pcVar8 + 1;" (assignment_expression "pcVar9 = pcVar8 + 1" identifier = (binary_expression "pcVar8 + 1" identifier + number_literal)) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "cVar5 = pcVar8[1];" (assignment_expression "cVar5 = pcVar8[1]" identifier = (subscript_expression "pcVar8[1]" identifier [ number_literal ])) ;) (expression_statement "param_1 = local_3c;" (assignment_expression "param_1 = local_3c" identifier = identifier) ;) (if_statement "if (cVar5 == '\0') break;" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (do_statement "do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');" do (compound_statement "{\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            }" { (expression_statement "iVar10 = iVar4;" (assignment_expression "iVar10 = iVar4" identifier = identifier) ;) (expression_statement "pcVar6 = strchr("neE",(int)cVar5);" (assignment_expression "pcVar6 = strchr("neE",(int)cVar5)" identifier = (call_expression "strchr("neE",(int)cVar5)" identifier (argument_list "("neE",(int)cVar5)" ( (string_literal ""neE"" " string_content ") , (cast_expression "(int)cVar5" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (if_statement "if (pcVar6 == (char *)0x0) goto LAB_000b31fc;" if (parenthesized_expression "(pcVar6 == (char *)0x0)" ( (binary_expression "pcVar6 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b31fc;" goto statement_identifier ;)) (expression_statement "cVar5 = pcVar8[iVar10 + 1];" (assignment_expression "cVar5 = pcVar8[iVar10 + 1]" identifier = (subscript_expression "pcVar8[iVar10 + 1]" identifier [ (binary_expression "iVar10 + 1" identifier + number_literal) ])) ;) (expression_statement "iVar4 = iVar10 + 1;" (assignment_expression "iVar4 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "local_28 = iVar10;" (assignment_expression "local_28 = iVar10" identifier = identifier) ;) }) while (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (if_statement "if (pcVar8[1] == '\0') break;" if (parenthesized_expression "(pcVar8[1] == '\0')" ( (binary_expression "pcVar8[1] == '\0'" (subscript_expression "pcVar8[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "cVar5 = pcVar8[1];" (assignment_expression "cVar5 = pcVar8[1]" identifier = (subscript_expression "pcVar8[1]" identifier [ number_literal ])) ;) (labeled_statement "joined_r0x000b344e:\n            local_28 = (int)cVar5;" statement_identifier : (expression_statement "local_28 = (int)cVar5;" (assignment_expression "local_28 = (int)cVar5" identifier = (cast_expression "(int)cVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (if_statement "if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }" if (parenthesized_expression "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) )) (compound_statement "{\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }" { (do_statement "do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );" do (compound_statement "{\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              }" { (expression_statement "cVar5 = (char)local_28;" (assignment_expression "cVar5 = (char)local_28" identifier = (cast_expression "(char)local_28" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }" if (parenthesized_expression "(cVar5 == 'e')" ( (binary_expression "cVar5 == 'e'" identifier == (char_literal "'e'" ' character ')) )) (compound_statement "{\n                  local_38 = 1;\n                }" { (expression_statement "local_38 = 1;" (assignment_expression "local_38 = 1" identifier = number_literal) ;) }) (else_clause "else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }" else (compound_statement "{\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }" { (if_statement "if (cVar5 == 'n') goto LAB_000b3490;" if (parenthesized_expression "(cVar5 == 'n')" ( (binary_expression "cVar5 == 'n'" identifier == (char_literal "'n'" ' character ')) )) (goto_statement "goto LAB_000b3490;" goto statement_identifier ;)) (if_statement "if (cVar5 != 'E') goto LAB_000b31fc;" if (parenthesized_expression "(cVar5 != 'E')" ( (binary_expression "cVar5 != 'E'" identifier != (char_literal "'E'" ' character ')) )) (goto_statement "goto LAB_000b31fc;" goto statement_identifier ;)) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) }))) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) (expression_statement "local_28 = (int)*pcVar9;" (assignment_expression "local_28 = (int)*pcVar9" identifier = (cast_expression "(int)*pcVar9" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar9" * identifier))) ;) (if_statement "if (local_28 == 0) break;" if (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "param_1 = (int *)*local_3c;" (assignment_expression "param_1 = (int *)*local_3c" identifier = (cast_expression "(int *)*local_3c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_3c" * identifier))) ;) (if_statement "if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }" { (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" identifier (argument_list "(__stream)" ( identifier ))) ;) (goto_statement "goto LAB_000b3349;" goto statement_identifier ;) })) (expression_statement "pcVar8 = *(char **)param_1[1];" (assignment_expression "pcVar8 = *(char **)param_1[1]" identifier = (pointer_expression "*(char **)param_1[1]" * (cast_expression "(char **)param_1[1]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (if_statement "if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;" if (parenthesized_expression "((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-'))" ( (binary_expression "(pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')" (parenthesized_expression "(pcVar8 == (char *)0x0)" ( (binary_expression "pcVar8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_3c = param_1, *pcVar8 != '-')" ( (comma_expression "local_3c = param_1, *pcVar8 != '-'" (assignment_expression "local_3c = param_1" identifier = identifier) , (binary_expression "*pcVar8 != '-'" (pointer_expression "*pcVar8" * identifier) != (char_literal "'-'" ' character '))) ))) )) (break_statement "break;" break ;)) })) })) }))) (labeled_statement "LAB_000b31fc:\n      clearerr(__stream);" statement_identifier : (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" identifier (argument_list "(__stream)" ( identifier ))) ;)) (goto_statement "goto LAB_000b3230;" goto statement_identifier ;) })) (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" identifier (argument_list "(__stream)" ( identifier ))) ;) }) (else_clause "else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }" else (compound_statement "{\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }" { (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" identifier (argument_list "(__stream)" ( identifier ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }" if (parenthesized_expression "(param_1 != (int *)0x0)" ( (binary_expression "param_1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }" { (labeled_statement "LAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);" statement_identifier : (do_statement "do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);" do (compound_statement "{\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      }" { (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "pcVar8 = *(char **)param_1[1];" (assignment_expression "pcVar8 = *(char **)param_1[1]" identifier = (pointer_expression "*(char **)param_1[1]" * (cast_expression "(char **)param_1[1]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (if_statement "if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }" if (parenthesized_expression "(local_38 == 0)" ( (binary_expression "local_38 == 0" identifier == number_literal) )) (compound_statement "{\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }" { (if_statement "if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }" if (parenthesized_expression "(pcVar8 != (char *)0x0)" ( (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }" { (expression_statement "__printf_chk(1,&DAT_00125693,pcVar8);" (call_expression "__printf_chk(1,&DAT_00125693,pcVar8)" identifier (argument_list "(1,&DAT_00125693,pcVar8)" ( number_literal , (pointer_expression "&DAT_00125693" & identifier) , identifier ))) ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (if_statement "if (terminating_signal != 0) goto LAB_000b33b6;" if (parenthesized_expression "(terminating_signal != 0)" ( (binary_expression "terminating_signal != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b33b6;" goto statement_identifier ;)) (labeled_statement "LAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;" statement_identifier : (if_statement "if (interrupt_state == 0) goto LAB_000b32f9;" if (parenthesized_expression "(interrupt_state == 0)" ( (binary_expression "interrupt_state == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b32f9;" goto statement_identifier ;))) (labeled_statement "LAB_000b33d2:\n          throw_to_top_level();" statement_identifier : (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" identifier (argument_list "()" ( ))) ;)) (if_statement "if (bVar1) goto LAB_000b33e1;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_000b33e1;" goto statement_identifier ;)) }) (else_clause "else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }" else (compound_statement "{\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }" { (expression_statement "sVar7 = 0;" (assignment_expression "sVar7 = 0" identifier = number_literal) ;) (if_statement "if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }" if (parenthesized_expression "((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0'))" ( (binary_expression "(((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')" (parenthesized_expression "(((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0'))" ( (binary_expression "((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')" (parenthesized_expression "((pcVar8 != (char *)0x0) && (*pcVar8 != '\0'))" ( (binary_expression "(pcVar8 != (char *)0x0) && (*pcVar8 != '\0')" (parenthesized_expression "(pcVar8 != (char *)0x0)" ( (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*pcVar8 != '\0')" ( (binary_expression "*pcVar8 != '\0'" (pointer_expression "*pcVar8" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(sVar7 = 1, pcVar8[1] != '\0')" ( (comma_expression "sVar7 = 1, pcVar8[1] != '\0'" (assignment_expression "sVar7 = 1" identifier = number_literal) , (binary_expression "pcVar8[1] != '\0'" (subscript_expression "pcVar8[1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) && (parenthesized_expression "(sVar7 = 2, pcVar8[2] != '\0')" ( (comma_expression "sVar7 = 2, pcVar8[2] != '\0'" (assignment_expression "sVar7 = 2" identifier = number_literal) , (binary_expression "pcVar8[2] != '\0'" (subscript_expression "pcVar8[2]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n            sVar7 = strlen(pcVar8);\n          }" { (expression_statement "sVar7 = strlen(pcVar8);" (assignment_expression "sVar7 = strlen(pcVar8)" identifier = (call_expression "strlen(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier )))) ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);" (assignment_expression "pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24)" identifier = (cast_expression "(char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "ansicstr(pcVar8,sVar7,1,&local_28,&local_24)" identifier (argument_list "(pcVar8,sVar7,1,&local_28,&local_24)" ( identifier , identifier , number_literal , (pointer_expression "&local_28" & identifier) , (pointer_expression "&local_24" & identifier) ))))) ;) (expression_statement "pcVar9 = pcVar8;" (assignment_expression "pcVar9 = pcVar8" identifier = identifier) ;) (if_statement "if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }" if (parenthesized_expression "(pcVar8 != (char *)0x0)" ( (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }" { (for_statement "for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }" for ( ; (binary_expression "0 < local_24" number_literal < identifier) ; (assignment_expression "local_24 = local_24 + -1" identifier = (binary_expression "local_24 + -1" identifier + number_literal)) ) (compound_statement "{\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }" { (expression_statement "putc((int)*pcVar9,*(FILE **)puVar3);" (call_expression "putc((int)*pcVar9,*(FILE **)puVar3)" identifier (argument_list "((int)*pcVar9,*(FILE **)puVar3)" ( (cast_expression "(int)*pcVar9" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar9" * identifier)) , (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) })) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) })) (if_statement "if (terminating_signal == 0) goto LAB_000b32eb;" if (parenthesized_expression "(terminating_signal == 0)" ( (binary_expression "terminating_signal == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b32eb;" goto statement_identifier ;)) (labeled_statement "LAB_000b33b6:\n          termsig_handler(terminating_signal);" statement_identifier : (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" identifier (argument_list "(terminating_signal)" ( identifier ))) ;)) (if_statement "if (interrupt_state != 0) goto LAB_000b33d2;" if (parenthesized_expression "(interrupt_state != 0)" ( (binary_expression "interrupt_state != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b33d2;" goto statement_identifier ;)) (labeled_statement "LAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }" statement_identifier : (if_statement "if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\nLAB_000b33e1:\n            free(pcVar8);\n          }" { (labeled_statement "LAB_000b33e1:\n            free(pcVar8);" statement_identifier : (expression_statement "free(pcVar8);" (call_expression "free(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier ))) ;)) }))) }))) (expression_statement "param_1 = (int *)*param_1;" (assignment_expression "param_1 = (int *)*param_1" identifier = (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (if_statement "if (local_28 != 0) goto LAB_000b3364;" if (parenthesized_expression "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b3364;" goto statement_identifier ;)) (if_statement "if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }" if (parenthesized_expression "(param_1 != (int *)0x0)" ( (binary_expression "param_1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          putc(0x20,*(FILE **)puVar3);\n        }" { (expression_statement "putc(0x20,*(FILE **)puVar3);" (call_expression "putc(0x20,*(FILE **)puVar3)" identifier (argument_list "(0x20,*(FILE **)puVar3)" ( number_literal , (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) })) (if_statement "if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }" if (parenthesized_expression "(terminating_signal != 0)" ( (binary_expression "terminating_signal != 0" identifier != number_literal) )) (compound_statement "{\n          termsig_handler(terminating_signal);\n        }" { (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" identifier (argument_list "(terminating_signal)" ( identifier ))) ;) })) (if_statement "if (interrupt_state != 0) {\n          throw_to_top_level();\n        }" if (parenthesized_expression "(interrupt_state != 0)" ( (binary_expression "interrupt_state != 0" identifier != number_literal) )) (compound_statement "{\n          throw_to_top_level();\n        }" { (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" identifier (argument_list "()" ( ))) ;) })) }) while (parenthesized_expression "(param_1 != (int *)0x0)" ( (binary_expression "param_1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;)) (labeled_statement "LAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;" statement_identifier : (if_statement "if (!bVar2) goto LAB_000b3364;" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (goto_statement "goto LAB_000b3364;" goto statement_identifier ;))) })) }))) (expression_statement "putc(10,*(FILE **)puVar3);" (call_expression "putc(10,*(FILE **)puVar3)" identifier (argument_list "(10,*(FILE **)puVar3)" ( number_literal , (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (labeled_statement "LAB_000b3364:\n  sh_chkwrite(0);" statement_identifier : (expression_statement "sh_chkwrite(0);" (call_expression "sh_chkwrite(0)" identifier (argument_list "(0)" ( number_literal ))) ;)) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "FUN_0010f8b0();" (call_expression "FUN_0010f8b0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000b3490:\n  pcVar9 = pcVar9 + 1;" statement_identifier : (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;)) (expression_statement "cVar5 = *pcVar9;" (assignment_expression "cVar5 = *pcVar9" identifier = (pointer_expression "*pcVar9" * identifier)) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (goto_statement "goto joined_r0x000b344e;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * 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 ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * IDENT) != (char_literal ' character '))) ))) )) (break_statement break ;)) })) })) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 ( LIT , (pointer_expression & IDENT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence '))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (for_statement for ( ; (binary_expression LIT < IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) }))) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (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 ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;))) })) }))) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "void echo_builtin(int *param_1)\n\n{\n  FILE *__stream;\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  char cVar5;\n  char *pcVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int *local_3c;\n  int local_38;\n  int local_28;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_00171f70;\n  uStack_14 = 0xb3139;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = xpg_echo;\n  __stream = *(FILE **)PTR_stdout_00171f70;\n  if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }\n  putc(10,*(FILE **)puVar3);\nLAB_000b3364:\n  sh_chkwrite(0);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0010f8b0();\nLAB_000b3490:\n  pcVar9 = pcVar9 + 1;\n  cVar5 = *pcVar9;\n  bVar2 = false;\n  goto joined_r0x000b344e;\n}" (primitive_type "void") (function_declarator "echo_builtin(int *param_1)" (identifier "echo_builtin") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  FILE *__stream;\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  char cVar5;\n  char *pcVar6;\n  size_t sVar7;\n  char *pcVar8;\n  char *pcVar9;\n  int iVar10;\n  int in_GS_OFFSET;\n  int *local_3c;\n  int local_38;\n  int local_28;\n  int local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_00171f70;\n  uStack_14 = 0xb3139;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = xpg_echo;\n  __stream = *(FILE **)PTR_stdout_00171f70;\n  if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }\n  putc(10,*(FILE **)puVar3);\nLAB_000b3364:\n  sh_chkwrite(0);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0010f8b0();\nLAB_000b3490:\n  pcVar9 = pcVar9 + 1;\n  cVar5 = *pcVar9;\n  bVar2 = false;\n  goto joined_r0x000b344e;\n}" ({ "{") (declaration "FILE *__stream;" (type_identifier "FILE") (pointer_declarator "*__stream" (* "*") (identifier "__stream")) (; ";")) (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "char cVar5;" (primitive_type "char") (identifier "cVar5") (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "size_t sVar7;" (primitive_type "size_t") (identifier "sVar7") (; ";")) (declaration "char *pcVar8;" (primitive_type "char") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "int *local_3c;" (primitive_type "int") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "int local_38;" (primitive_type "int") (identifier "local_38") (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "puVar3 = PTR_stdout_00171f70;" (assignment_expression "puVar3 = PTR_stdout_00171f70" (identifier "puVar3") (= "=") (identifier "PTR_stdout_00171f70")) (; ";")) (expression_statement "uStack_14 = 0xb3139;" (assignment_expression "uStack_14 = 0xb3139" (identifier "uStack_14") (= "=") (number_literal "0xb3139")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_38 = xpg_echo;" (assignment_expression "local_38 = xpg_echo" (identifier "local_38") (= "=") (identifier "xpg_echo")) (; ";")) (expression_statement "__stream = *(FILE **)PTR_stdout_00171f70;" (assignment_expression "__stream = *(FILE **)PTR_stdout_00171f70" (identifier "__stream") (= "=") (pointer_expression "*(FILE **)PTR_stdout_00171f70" (* "*") (cast_expression "(FILE **)PTR_stdout_00171f70" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_00171f70")))) (; ";")) (if_statement "if ((posixly_correct == 0) || (xpg_echo == 0)) {\n    if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }\n  else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }" (if "if") (parenthesized_expression "((posixly_correct == 0) || (xpg_echo == 0))" (( "(") (binary_expression "(posixly_correct == 0) || (xpg_echo == 0)" (parenthesized_expression "(posixly_correct == 0)" (( "(") (binary_expression "posixly_correct == 0" (identifier "posixly_correct") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(xpg_echo == 0)" (( "(") (binary_expression "xpg_echo == 0" (identifier "xpg_echo") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }\n    clearerr(__stream);\n  }" ({ "{") (if_statement "if (param_1 != (int *)0x0) {\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }" (if "if") (parenthesized_expression "(param_1 != (int *)0x0)" (( "(") (binary_expression "param_1 != (int *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pcVar8 = *(char **)param_1[1];\n      if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }\nLAB_000b31fc:\n      clearerr(__stream);\n      goto LAB_000b3230;\n    }" ({ "{") (expression_statement "pcVar8 = *(char **)param_1[1];" (assignment_expression "pcVar8 = *(char **)param_1[1]" (identifier "pcVar8") (= "=") (pointer_expression "*(char **)param_1[1]" (* "*") (cast_expression "(char **)param_1[1]" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (if_statement "if (pcVar8 == (char *)0x0) {\n        bVar2 = true;\n      }\n      else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(pcVar8 == (char *)0x0)" (( "(") (binary_expression "pcVar8 == (char *)0x0" (identifier "pcVar8") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        bVar2 = true;\n      }" ({ "{") (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }" (else "else") (compound_statement "{\n        bVar2 = true;\n        if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }\n      }" ({ "{") (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (if_statement "if (*pcVar8 == '-') {\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }" (if "if") (parenthesized_expression "(*pcVar8 == '-')" (( "(") (binary_expression "*pcVar8 == '-'" (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (compound_statement "{\n          local_3c = param_1;\n          while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }\n        }" ({ "{") (expression_statement "local_3c = param_1;" (assignment_expression "local_3c = param_1" (identifier "local_3c") (= "=") (identifier "param_1")) (; ";")) (while_statement "while( true ) {\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            pcVar9 = pcVar8 + 1;\n            local_28 = 0;\n            cVar5 = pcVar8[1];\n            param_1 = local_3c;\n            if (cVar5 == '\0') break;\n            iVar4 = 1;\n            do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');\n            if (pcVar8[1] == '\0') break;\n            cVar5 = pcVar8[1];\njoined_r0x000b344e:\n            local_28 = (int)cVar5;\n            if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }\n            param_1 = (int *)*local_3c;\n            if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }\n            pcVar8 = *(char **)param_1[1];\n            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;\n          }" ({ "{") (expression_statement "pcVar9 = pcVar8 + 1;" (assignment_expression "pcVar9 = pcVar8 + 1" (identifier "pcVar9") (= "=") (binary_expression "pcVar8 + 1" (identifier "pcVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "cVar5 = pcVar8[1];" (assignment_expression "cVar5 = pcVar8[1]" (identifier "cVar5") (= "=") (subscript_expression "pcVar8[1]" (identifier "pcVar8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "param_1 = local_3c;" (assignment_expression "param_1 = local_3c" (identifier "param_1") (= "=") (identifier "local_3c")) (; ";")) (if_statement "if (cVar5 == '\0') break;" (if "if") (parenthesized_expression "(cVar5 == '\0')" (( "(") (binary_expression "cVar5 == '\0'" (identifier "cVar5") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" (identifier "iVar4") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            } while (cVar5 != '\0');" (do "do") (compound_statement "{\n              iVar10 = iVar4;\n              pcVar6 = strchr("neE",(int)cVar5);\n              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;\n              cVar5 = pcVar8[iVar10 + 1];\n              iVar4 = iVar10 + 1;\n              local_28 = iVar10;\n            }" ({ "{") (expression_statement "iVar10 = iVar4;" (assignment_expression "iVar10 = iVar4" (identifier "iVar10") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "pcVar6 = strchr("neE",(int)cVar5);" (assignment_expression "pcVar6 = strchr("neE",(int)cVar5)" (identifier "pcVar6") (= "=") (call_expression "strchr("neE",(int)cVar5)" (identifier "strchr") (argument_list "("neE",(int)cVar5)" (( "(") (string_literal ""neE"" (" """) (string_content "neE") (" """)) (, ",") (cast_expression "(int)cVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar5")) () ")")))) (; ";")) (if_statement "if (pcVar6 == (char *)0x0) goto LAB_000b31fc;" (if "if") (parenthesized_expression "(pcVar6 == (char *)0x0)" (( "(") (binary_expression "pcVar6 == (char *)0x0" (identifier "pcVar6") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b31fc;" (goto "goto") (statement_identifier "LAB_000b31fc") (; ";"))) (expression_statement "cVar5 = pcVar8[iVar10 + 1];" (assignment_expression "cVar5 = pcVar8[iVar10 + 1]" (identifier "cVar5") (= "=") (subscript_expression "pcVar8[iVar10 + 1]" (identifier "pcVar8") ([ "[") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "iVar4 = iVar10 + 1;" (assignment_expression "iVar4 = iVar10 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_28 = iVar10;" (assignment_expression "local_28 = iVar10" (identifier "local_28") (= "=") (identifier "iVar10")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar5 != '\0')" (( "(") (binary_expression "cVar5 != '\0'" (identifier "cVar5") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (if_statement "if (pcVar8[1] == '\0') break;" (if "if") (parenthesized_expression "(pcVar8[1] == '\0')" (( "(") (binary_expression "pcVar8[1] == '\0'" (subscript_expression "pcVar8[1]" (identifier "pcVar8") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "cVar5 = pcVar8[1];" (assignment_expression "cVar5 = pcVar8[1]" (identifier "cVar5") (= "=") (subscript_expression "pcVar8[1]" (identifier "pcVar8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (labeled_statement "joined_r0x000b344e:\n            local_28 = (int)cVar5;" (statement_identifier "joined_r0x000b344e") (: ":") (expression_statement "local_28 = (int)cVar5;" (assignment_expression "local_28 = (int)cVar5" (identifier "local_28") (= "=") (cast_expression "(int)cVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar5"))) (; ";"))) (if_statement "if (local_28 != 0) {\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }" (if "if") (parenthesized_expression "(local_28 != 0)" (( "(") (binary_expression "local_28 != 0" (identifier "local_28") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );\n            }" ({ "{") (do_statement "do {\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              } while( true );" (do "do") (compound_statement "{\n                cVar5 = (char)local_28;\n                if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }\n                pcVar9 = pcVar9 + 1;\n                local_28 = (int)*pcVar9;\n                if (local_28 == 0) break;\n              }" ({ "{") (expression_statement "cVar5 = (char)local_28;" (assignment_expression "cVar5 = (char)local_28" (identifier "cVar5") (= "=") (cast_expression "(char)local_28" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_28"))) (; ";")) (if_statement "if (cVar5 == 'e') {\n                  local_38 = 1;\n                }\n                else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }" (if "if") (parenthesized_expression "(cVar5 == 'e')" (( "(") (binary_expression "cVar5 == 'e'" (identifier "cVar5") (== "==") (char_literal "'e'" (' "'") (character "e") (' "'"))) () ")")) (compound_statement "{\n                  local_38 = 1;\n                }" ({ "{") (expression_statement "local_38 = 1;" (assignment_expression "local_38 = 1" (identifier "local_38") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }" (else "else") (compound_statement "{\n                  if (cVar5 == 'n') goto LAB_000b3490;\n                  if (cVar5 != 'E') goto LAB_000b31fc;\n                  local_38 = 0;\n                }" ({ "{") (if_statement "if (cVar5 == 'n') goto LAB_000b3490;" (if "if") (parenthesized_expression "(cVar5 == 'n')" (( "(") (binary_expression "cVar5 == 'n'" (identifier "cVar5") (== "==") (char_literal "'n'" (' "'") (character "n") (' "'"))) () ")")) (goto_statement "goto LAB_000b3490;" (goto "goto") (statement_identifier "LAB_000b3490") (; ";"))) (if_statement "if (cVar5 != 'E') goto LAB_000b31fc;" (if "if") (parenthesized_expression "(cVar5 != 'E')" (( "(") (binary_expression "cVar5 != 'E'" (identifier "cVar5") (!= "!=") (char_literal "'E'" (' "'") (character "E") (' "'"))) () ")")) (goto_statement "goto LAB_000b31fc;" (goto "goto") (statement_identifier "LAB_000b31fc") (; ";"))) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" (identifier "pcVar9") (= "=") (binary_expression "pcVar9 + 1" (identifier "pcVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_28 = (int)*pcVar9;" (assignment_expression "local_28 = (int)*pcVar9" (identifier "local_28") (= "=") (cast_expression "(int)*pcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")))) (; ";")) (if_statement "if (local_28 == 0) break;" (if "if") (parenthesized_expression "(local_28 == 0)" (( "(") (binary_expression "local_28 == 0" (identifier "local_28") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "param_1 = (int *)*local_3c;" (assignment_expression "param_1 = (int *)*local_3c" (identifier "param_1") (= "=") (cast_expression "(int *)*local_3c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_3c" (* "*") (identifier "local_3c")))) (; ";")) (if_statement "if (param_1 == (int *)0x0) {\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }" (if "if") (parenthesized_expression "(param_1 == (int *)0x0)" (( "(") (binary_expression "param_1 == (int *)0x0" (identifier "param_1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              clearerr(__stream);\n              goto LAB_000b3349;\n            }" ({ "{") (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" (identifier "clearerr") (argument_list "(__stream)" (( "(") (identifier "__stream") () ")"))) (; ";")) (goto_statement "goto LAB_000b3349;" (goto "goto") (statement_identifier "LAB_000b3349") (; ";")) (} "}"))) (expression_statement "pcVar8 = *(char **)param_1[1];" (assignment_expression "pcVar8 = *(char **)param_1[1]" (identifier "pcVar8") (= "=") (pointer_expression "*(char **)param_1[1]" (* "*") (cast_expression "(char **)param_1[1]" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (if_statement "if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;" (if "if") (parenthesized_expression "((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-'))" (( "(") (binary_expression "(pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')" (parenthesized_expression "(pcVar8 == (char *)0x0)" (( "(") (binary_expression "pcVar8 == (char *)0x0" (identifier "pcVar8") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(local_3c = param_1, *pcVar8 != '-')" (( "(") (comma_expression "local_3c = param_1, *pcVar8 != '-'" (assignment_expression "local_3c = param_1" (identifier "local_3c") (= "=") (identifier "param_1")) (, ",") (binary_expression "*pcVar8 != '-'" (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) (!= "!=") (char_literal "'-'" (' "'") (character "-") (' "'")))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (} "}"))) (} "}")))) (labeled_statement "LAB_000b31fc:\n      clearerr(__stream);" (statement_identifier "LAB_000b31fc") (: ":") (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" (identifier "clearerr") (argument_list "(__stream)" (( "(") (identifier "__stream") () ")"))) (; ";"))) (goto_statement "goto LAB_000b3230;" (goto "goto") (statement_identifier "LAB_000b3230") (; ";")) (} "}"))) (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" (identifier "clearerr") (argument_list "(__stream)" (( "(") (identifier "__stream") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }" (else "else") (compound_statement "{\n    clearerr(__stream);\n    bVar2 = true;\n    if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }\n  }" ({ "{") (expression_statement "clearerr(__stream);" (call_expression "clearerr(__stream)" (identifier "clearerr") (argument_list "(__stream)" (( "(") (identifier "__stream") () ")"))) (; ";")) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (if_statement "if (param_1 != (int *)0x0) {\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }" (if "if") (parenthesized_expression "(param_1 != (int *)0x0)" (( "(") (binary_expression "param_1 != (int *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);\nLAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;\n    }" ({ "{") (labeled_statement "LAB_000b3230:\n      do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);" (statement_identifier "LAB_000b3230") (: ":") (do_statement "do {\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      } while (param_1 != (int *)0x0);" (do "do") (compound_statement "{\n        local_24 = 0;\n        local_28 = 0;\n        pcVar8 = *(char **)param_1[1];\n        if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }\n        param_1 = (int *)*param_1;\n        if (local_28 != 0) goto LAB_000b3364;\n        if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }\n        if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }\n        if (interrupt_state != 0) {\n          throw_to_top_level();\n        }\n      }" ({ "{") (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" (identifier "local_24") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar8 = *(char **)param_1[1];" (assignment_expression "pcVar8 = *(char **)param_1[1]" (identifier "pcVar8") (= "=") (pointer_expression "*(char **)param_1[1]" (* "*") (cast_expression "(char **)param_1[1]" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (if_statement "if (local_38 == 0) {\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }\n        else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }" (if "if") (parenthesized_expression "(local_38 == 0)" (( "(") (binary_expression "local_38 == 0" (identifier "local_38") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }\n          bVar1 = false;\n          if (terminating_signal != 0) goto LAB_000b33b6;\nLAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;\nLAB_000b33d2:\n          throw_to_top_level();\n          if (bVar1) goto LAB_000b33e1;\n        }" ({ "{") (if_statement "if (pcVar8 != (char *)0x0) {\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }" (if "if") (parenthesized_expression "(pcVar8 != (char *)0x0)" (( "(") (binary_expression "pcVar8 != (char *)0x0" (identifier "pcVar8") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            __printf_chk(1,&DAT_00125693,pcVar8);\n          }" ({ "{") (expression_statement "__printf_chk(1,&DAT_00125693,pcVar8);" (call_expression "__printf_chk(1,&DAT_00125693,pcVar8)" (identifier "__printf_chk") (argument_list "(1,&DAT_00125693,pcVar8)" (( "(") (number_literal "1") (, ",") (pointer_expression "&DAT_00125693" (& "&") (identifier "DAT_00125693")) (, ",") (identifier "pcVar8") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (if_statement "if (terminating_signal != 0) goto LAB_000b33b6;" (if "if") (parenthesized_expression "(terminating_signal != 0)" (( "(") (binary_expression "terminating_signal != 0" (identifier "terminating_signal") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b33b6;" (goto "goto") (statement_identifier "LAB_000b33b6") (; ";"))) (labeled_statement "LAB_000b32eb:\n          if (interrupt_state == 0) goto LAB_000b32f9;" (statement_identifier "LAB_000b32eb") (: ":") (if_statement "if (interrupt_state == 0) goto LAB_000b32f9;" (if "if") (parenthesized_expression "(interrupt_state == 0)" (( "(") (binary_expression "interrupt_state == 0" (identifier "interrupt_state") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b32f9;" (goto "goto") (statement_identifier "LAB_000b32f9") (; ";")))) (labeled_statement "LAB_000b33d2:\n          throw_to_top_level();" (statement_identifier "LAB_000b33d2") (: ":") (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" (identifier "throw_to_top_level") (argument_list "()" (( "(") () ")"))) (; ";"))) (if_statement "if (bVar1) goto LAB_000b33e1;" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (goto_statement "goto LAB_000b33e1;" (goto "goto") (statement_identifier "LAB_000b33e1") (; ";"))) (} "}")) (else_clause "else {\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }" (else "else") (compound_statement "{\n          sVar7 = 0;\n          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }\n          bVar1 = false;\n          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);\n          pcVar9 = pcVar8;\n          if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }\n          if (terminating_signal == 0) goto LAB_000b32eb;\nLAB_000b33b6:\n          termsig_handler(terminating_signal);\n          if (interrupt_state != 0) goto LAB_000b33d2;\nLAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }\n        }" ({ "{") (expression_statement "sVar7 = 0;" (assignment_expression "sVar7 = 0" (identifier "sVar7") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')) {\n            sVar7 = strlen(pcVar8);\n          }" (if "if") (parenthesized_expression "((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0'))" (( "(") (binary_expression "(((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&\n             (sVar7 = 2, pcVar8[2] != '\0')" (parenthesized_expression "(((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0'))" (( "(") (binary_expression "((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')" (parenthesized_expression "((pcVar8 != (char *)0x0) && (*pcVar8 != '\0'))" (( "(") (binary_expression "(pcVar8 != (char *)0x0) && (*pcVar8 != '\0')" (parenthesized_expression "(pcVar8 != (char *)0x0)" (( "(") (binary_expression "pcVar8 != (char *)0x0" (identifier "pcVar8") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*pcVar8 != '\0')" (( "(") (binary_expression "*pcVar8 != '\0'" (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(sVar7 = 1, pcVar8[1] != '\0')" (( "(") (comma_expression "sVar7 = 1, pcVar8[1] != '\0'" (assignment_expression "sVar7 = 1" (identifier "sVar7") (= "=") (number_literal "1")) (, ",") (binary_expression "pcVar8[1] != '\0'" (subscript_expression "pcVar8[1]" (identifier "pcVar8") ([ "[") (number_literal "1") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(sVar7 = 2, pcVar8[2] != '\0')" (( "(") (comma_expression "sVar7 = 2, pcVar8[2] != '\0'" (assignment_expression "sVar7 = 2" (identifier "sVar7") (= "=") (number_literal "2")) (, ",") (binary_expression "pcVar8[2] != '\0'" (subscript_expression "pcVar8[2]" (identifier "pcVar8") ([ "[") (number_literal "2") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n            sVar7 = strlen(pcVar8);\n          }" ({ "{") (expression_statement "sVar7 = strlen(pcVar8);" (assignment_expression "sVar7 = strlen(pcVar8)" (identifier "sVar7") (= "=") (call_expression "strlen(pcVar8)" (identifier "strlen") (argument_list "(pcVar8)" (( "(") (identifier "pcVar8") () ")")))) (; ";")) (} "}"))) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);" (assignment_expression "pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24)" (identifier "pcVar8") (= "=") (cast_expression "(char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "ansicstr(pcVar8,sVar7,1,&local_28,&local_24)" (identifier "ansicstr") (argument_list "(pcVar8,sVar7,1,&local_28,&local_24)" (( "(") (identifier "pcVar8") (, ",") (identifier "sVar7") (, ",") (number_literal "1") (, ",") (pointer_expression "&local_28" (& "&") (identifier "local_28")) (, ",") (pointer_expression "&local_24" (& "&") (identifier "local_24")) () ")"))))) (; ";")) (expression_statement "pcVar9 = pcVar8;" (assignment_expression "pcVar9 = pcVar8" (identifier "pcVar9") (= "=") (identifier "pcVar8")) (; ";")) (if_statement "if (pcVar8 != (char *)0x0) {\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }" (if "if") (parenthesized_expression "(pcVar8 != (char *)0x0)" (( "(") (binary_expression "pcVar8 != (char *)0x0" (identifier "pcVar8") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }\n            bVar1 = true;\n          }" ({ "{") (for_statement "for (; 0 < local_24; local_24 = local_24 + -1) {\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }" (for "for") (( "(") (; ";") (binary_expression "0 < local_24" (number_literal "0") (< "<") (identifier "local_24")) (; ";") (assignment_expression "local_24 = local_24 + -1" (identifier "local_24") (= "=") (binary_expression "local_24 + -1" (identifier "local_24") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n              putc((int)*pcVar9,*(FILE **)puVar3);\n              pcVar9 = pcVar9 + 1;\n            }" ({ "{") (expression_statement "putc((int)*pcVar9,*(FILE **)puVar3);" (call_expression "putc((int)*pcVar9,*(FILE **)puVar3)" (identifier "putc") (argument_list "((int)*pcVar9,*(FILE **)puVar3)" (( "(") (cast_expression "(int)*pcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9"))) (, ",") (pointer_expression "*(FILE **)puVar3" (* "*") (cast_expression "(FILE **)puVar3" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar3"))) () ")"))) (; ";")) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" (identifier "pcVar9") (= "=") (binary_expression "pcVar9 + 1" (identifier "pcVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (} "}"))) (if_statement "if (terminating_signal == 0) goto LAB_000b32eb;" (if "if") (parenthesized_expression "(terminating_signal == 0)" (( "(") (binary_expression "terminating_signal == 0" (identifier "terminating_signal") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b32eb;" (goto "goto") (statement_identifier "LAB_000b32eb") (; ";"))) (labeled_statement "LAB_000b33b6:\n          termsig_handler(terminating_signal);" (statement_identifier "LAB_000b33b6") (: ":") (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" (identifier "termsig_handler") (argument_list "(terminating_signal)" (( "(") (identifier "terminating_signal") () ")"))) (; ";"))) (if_statement "if (interrupt_state != 0) goto LAB_000b33d2;" (if "if") (parenthesized_expression "(interrupt_state != 0)" (( "(") (binary_expression "interrupt_state != 0" (identifier "interrupt_state") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b33d2;" (goto "goto") (statement_identifier "LAB_000b33d2") (; ";"))) (labeled_statement "LAB_000b32f9:\n          if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }" (statement_identifier "LAB_000b32f9") (: ":") (if_statement "if (bVar1) {\nLAB_000b33e1:\n            free(pcVar8);\n          }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\nLAB_000b33e1:\n            free(pcVar8);\n          }" ({ "{") (labeled_statement "LAB_000b33e1:\n            free(pcVar8);" (statement_identifier "LAB_000b33e1") (: ":") (expression_statement "free(pcVar8);" (call_expression "free(pcVar8)" (identifier "free") (argument_list "(pcVar8)" (( "(") (identifier "pcVar8") () ")"))) (; ";"))) (} "}")))) (} "}")))) (expression_statement "param_1 = (int *)*param_1;" (assignment_expression "param_1 = (int *)*param_1" (identifier "param_1") (= "=") (cast_expression "(int *)*param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (if_statement "if (local_28 != 0) goto LAB_000b3364;" (if "if") (parenthesized_expression "(local_28 != 0)" (( "(") (binary_expression "local_28 != 0" (identifier "local_28") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b3364;" (goto "goto") (statement_identifier "LAB_000b3364") (; ";"))) (if_statement "if (param_1 != (int *)0x0) {\n          putc(0x20,*(FILE **)puVar3);\n        }" (if "if") (parenthesized_expression "(param_1 != (int *)0x0)" (( "(") (binary_expression "param_1 != (int *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          putc(0x20,*(FILE **)puVar3);\n        }" ({ "{") (expression_statement "putc(0x20,*(FILE **)puVar3);" (call_expression "putc(0x20,*(FILE **)puVar3)" (identifier "putc") (argument_list "(0x20,*(FILE **)puVar3)" (( "(") (number_literal "0x20") (, ",") (pointer_expression "*(FILE **)puVar3" (* "*") (cast_expression "(FILE **)puVar3" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar3"))) () ")"))) (; ";")) (} "}"))) (if_statement "if (terminating_signal != 0) {\n          termsig_handler(terminating_signal);\n        }" (if "if") (parenthesized_expression "(terminating_signal != 0)" (( "(") (binary_expression "terminating_signal != 0" (identifier "terminating_signal") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          termsig_handler(terminating_signal);\n        }" ({ "{") (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" (identifier "termsig_handler") (argument_list "(terminating_signal)" (( "(") (identifier "terminating_signal") () ")"))) (; ";")) (} "}"))) (if_statement "if (interrupt_state != 0) {\n          throw_to_top_level();\n        }" (if "if") (parenthesized_expression "(interrupt_state != 0)" (( "(") (binary_expression "interrupt_state != 0" (identifier "interrupt_state") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          throw_to_top_level();\n        }" ({ "{") (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" (identifier "throw_to_top_level") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(param_1 != (int *)0x0)" (( "(") (binary_expression "param_1 != (int *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";"))) (labeled_statement "LAB_000b3349:\n      if (!bVar2) goto LAB_000b3364;" (statement_identifier "LAB_000b3349") (: ":") (if_statement "if (!bVar2) goto LAB_000b3364;" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (goto_statement "goto LAB_000b3364;" (goto "goto") (statement_identifier "LAB_000b3364") (; ";")))) (} "}"))) (} "}")))) (expression_statement "putc(10,*(FILE **)puVar3);" (call_expression "putc(10,*(FILE **)puVar3)" (identifier "putc") (argument_list "(10,*(FILE **)puVar3)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(FILE **)puVar3" (* "*") (cast_expression "(FILE **)puVar3" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar3"))) () ")"))) (; ";")) (labeled_statement "LAB_000b3364:\n  sh_chkwrite(0);" (statement_identifier "LAB_000b3364") (: ":") (expression_statement "sh_chkwrite(0);" (call_expression "sh_chkwrite(0)" (identifier "sh_chkwrite") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";"))) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0010f8b0();" (call_expression "FUN_0010f8b0()" (identifier "FUN_0010f8b0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000b3490:\n  pcVar9 = pcVar9 + 1;" (statement_identifier "LAB_000b3490") (: ":") (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" (identifier "pcVar9") (= "=") (binary_expression "pcVar9 + 1" (identifier "pcVar9") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "cVar5 = *pcVar9;" (assignment_expression "cVar5 = *pcVar9" (identifier "cVar5") (= "=") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9"))) (; ";")) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (goto_statement "goto joined_r0x000b344e;" (goto "goto") (statement_identifier "joined_r0x000b344e") (; ";")) (} "}")))

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

int function_1(type_1 *var_4)

{
  type_2 *__stream;
  bool bVar1;
  bool bVar2;
  type_3 *puVar3;
  char var_6;
  char *var_8;
  size_t len_00;
  char *var_5;
  int iVar7;
  char *var_11;
  int var_9;
  int var_1;
  type_1 *local_3c;
  int var_13;
  int var_10;
  int var_20;
  int var_25;
  type_4 uStack_14;
  
  puVar3 = PTR_stdout_00171f70;
  uStack_14 = 0xb3139;
  var_25 = *(int *)(var_1 + 0x14);
  var_13 = var_3;
  __stream = *(type_2 **)PTR_stdout_00171f70;
  if ((var_2 == 0) || (var_3 == 0)) {
    if (var_4 != (type_1 *)0x0) {
      var_5 = var_4->word->word;
      if (var_5 == (char *)0x0) {
        bVar2 = true;
      }
      else {
        bVar2 = true;
        if (*var_5 == '-') {
          local_3c = var_4;
          while( true ) {
            var_11 = var_5 + 1;
            var_10 = 0;
            var_6 = var_5[1];
            var_4 = local_3c;
            if (var_6 == '\0') break;
            iVar7 = 1;
            do {
              var_9 = iVar7;
              var_8 = var_7("neE",(int)var_6);
              if (var_8 == (char *)0x0) goto LAB_000b31fc;
              var_6 = var_5[var_9 + 1];
              iVar7 = var_9 + 1;
              var_10 = var_9;
            } while (var_6 != '\0');
            if (var_5[1] == '\0') break;
            var_6 = var_5[1];
joined_r0x000b344e:
            var_10 = (int)var_6;
            if (var_10 != 0) {
              do {
                var_6 = (char)var_10;
                if (var_6 == 'e') {
                  var_13 = 1;
                }
                else {
                  if (var_6 == 'n') goto LAB_000b3490;
                  if (var_6 != 'E') goto LAB_000b31fc;
                  var_13 = 0;
                }
                var_11 = var_11 + 1;
                var_10 = (int)*var_11;
                if (var_10 == 0) break;
              } while( true );
            }
            var_4 = local_3c->next;
            if (var_4 == (type_1 *)0x0) {
              var_12(__stream);
              goto LAB_000b3349;
            }
            var_5 = var_4->word->word;
            if ((var_5 == (char *)0x0) || (local_3c = var_4, *var_5 != '-')) break;
          }
        }
      }
LAB_000b31fc:
      var_12(__stream);
      goto LAB_000b3230;
    }
    var_12(__stream);
  }
  else {
    var_12(__stream);
    bVar2 = true;
    if (var_4 != (type_1 *)0x0) {
LAB_000b3230:
      do {
        var_20 = 0;
        var_10 = 0;
        var_5 = var_4->word->word;
        if (var_13 == 0) {
          if (var_5 != (char *)0x0) {
            var_14(1,&DAT_00125693,var_5);
          }
          bVar1 = false;
          if (var_15 != 0) goto LAB_000b33b6;
LAB_000b32eb:
          if (var_16 == 0) goto LAB_000b32f9;
LAB_000b33d2:
          var_17();
          if (bVar1) goto LAB_000b33e1;
        }
        else {
          len_00 = 0;
          if ((((var_5 != (char *)0x0) && (*var_5 != '\0')) && (len_00 = 1, var_5[1] != '\0')) &&
             (len_00 = 2, var_5[2] != '\0')) {
            len_00 = var_18(var_5);
          }
          bVar1 = false;
          var_5 = var_19(var_5,len_00,1,&var_10,&var_20);
          var_11 = var_5;
          if (var_5 != (char *)0x0) {
            for (; 0 < var_20; var_20 = var_20 + -1) {
              var_21((int)*var_11,*(type_2 **)puVar3);
              var_11 = var_11 + 1;
            }
            bVar1 = true;
          }
          if (var_15 == 0) goto LAB_000b32eb;
LAB_000b33b6:
          var_22(var_15);
          if (var_16 != 0) goto LAB_000b33d2;
LAB_000b32f9:
          if (bVar1) {
LAB_000b33e1:
            var_23(var_5);
          }
        }
        var_4 = var_4->next;
        if (var_10 != 0) goto LAB_000b3364;
        if (var_4 != (type_5 *)0x0) {
          var_21(0x20,*(type_2 **)puVar3);
        }
        if (var_15 != 0) {
          var_22(var_15);
        }
        if (var_16 != 0) {
          var_17();
        }
      } while (var_4 != (type_5 *)0x0);
LAB_000b3349:
      if (!bVar2) goto LAB_000b3364;
    }
  }
  var_21(10,*(type_2 **)puVar3);
LAB_000b3364:
  iVar7 = var_24(0);
  if (var_25 == *(int *)(var_1 + 0x14)) {
    return iVar7;
  }
                    /* WARNING: Subroutine does not return */
  var_26();
LAB_000b3490:
  var_11 = var_11 + 1;
  var_6 = *var_11;
  bVar2 = false;
  goto joined_r0x000b344e;
}


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

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

void MASKED(int *param_1)

{
  FILE *__stream;
  bool bVar1;
  bool bVar2;
  undefined *puVar3;
  int iVar4;
  char cVar5;
  char *pcVar6;
  size_t sVar7;
  char *pcVar8;
  char *pcVar9;
  int iVar10;
  int in_GS_OFFSET;
  int *local_3c;
  int local_38;
  int local_28;
  int local_24;
  int local_20;
  undefined4 uStack_14;
  
  puVar3 = PTR_stdout_00171f70;
  uStack_14 = 0xb3139;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_38 = xpg_echo;
  __stream = *(FILE **)PTR_stdout_00171f70;
  if ((posixly_correct == 0) || (xpg_echo == 0)) {
    if (param_1 != (int *)0x0) {
      pcVar8 = *(char **)param_1[1];
      if (pcVar8 == (char *)0x0) {
        bVar2 = true;
      }
      else {
        bVar2 = true;
        if (*pcVar8 == '-') {
          local_3c = param_1;
          while( true ) {
            pcVar9 = pcVar8 + 1;
            local_28 = 0;
            cVar5 = pcVar8[1];
            param_1 = local_3c;
            if (cVar5 == '\0') break;
            iVar4 = 1;
            do {
              iVar10 = iVar4;
              pcVar6 = strchr("neE",(int)cVar5);
              if (pcVar6 == (char *)0x0) goto LAB_000b31fc;
              cVar5 = pcVar8[iVar10 + 1];
              iVar4 = iVar10 + 1;
              local_28 = iVar10;
            } while (cVar5 != '\0');
            if (pcVar8[1] == '\0') break;
            cVar5 = pcVar8[1];
joined_r0x000b344e:
            local_28 = (int)cVar5;
            if (local_28 != 0) {
              do {
                cVar5 = (char)local_28;
                if (cVar5 == 'e') {
                  local_38 = 1;
                }
                else {
                  if (cVar5 == 'n') goto LAB_000b3490;
                  if (cVar5 != 'E') goto LAB_000b31fc;
                  local_38 = 0;
                }
                pcVar9 = pcVar9 + 1;
                local_28 = (int)*pcVar9;
                if (local_28 == 0) break;
              } while( true );
            }
            param_1 = (int *)*local_3c;
            if (param_1 == (int *)0x0) {
              clearerr(__stream);
              goto LAB_000b3349;
            }
            pcVar8 = *(char **)param_1[1];
            if ((pcVar8 == (char *)0x0) || (local_3c = param_1, *pcVar8 != '-')) break;
          }
        }
      }
LAB_000b31fc:
      clearerr(__stream);
      goto LAB_000b3230;
    }
    clearerr(__stream);
  }
  else {
    clearerr(__stream);
    bVar2 = true;
    if (param_1 != (int *)0x0) {
LAB_000b3230:
      do {
        local_24 = 0;
        local_28 = 0;
        pcVar8 = *(char **)param_1[1];
        if (local_38 == 0) {
          if (pcVar8 != (char *)0x0) {
            __printf_chk(1,&DAT_00125693,pcVar8);
          }
          bVar1 = false;
          if (terminating_signal != 0) goto LAB_000b33b6;
LAB_000b32eb:
          if (interrupt_state == 0) goto LAB_000b32f9;
LAB_000b33d2:
          throw_to_top_level();
          if (bVar1) goto LAB_000b33e1;
        }
        else {
          sVar7 = 0;
          if ((((pcVar8 != (char *)0x0) && (*pcVar8 != '\0')) && (sVar7 = 1, pcVar8[1] != '\0')) &&
             (sVar7 = 2, pcVar8[2] != '\0')) {
            sVar7 = strlen(pcVar8);
          }
          bVar1 = false;
          pcVar8 = (char *)ansicstr(pcVar8,sVar7,1,&local_28,&local_24);
          pcVar9 = pcVar8;
          if (pcVar8 != (char *)0x0) {
            for (; 0 < local_24; local_24 = local_24 + -1) {
              putc((int)*pcVar9,*(FILE **)puVar3);
              pcVar9 = pcVar9 + 1;
            }
            bVar1 = true;
          }
          if (terminating_signal == 0) goto LAB_000b32eb;
LAB_000b33b6:
          termsig_handler(terminating_signal);
          if (interrupt_state != 0) goto LAB_000b33d2;
LAB_000b32f9:
          if (bVar1) {
LAB_000b33e1:
            free(pcVar8);
          }
        }
        param_1 = (int *)*param_1;
        if (local_28 != 0) goto LAB_000b3364;
        if (param_1 != (int *)0x0) {
          putc(0x20,*(FILE **)puVar3);
        }
        if (terminating_signal != 0) {
          termsig_handler(terminating_signal);
        }
        if (interrupt_state != 0) {
          throw_to_top_level();
        }
      } while (param_1 != (int *)0x0);
LAB_000b3349:
      if (!bVar2) goto LAB_000b3364;
    }
  }
  putc(10,*(FILE **)puVar3);
LAB_000b3364:
  sh_chkwrite(0);
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0010f8b0();
LAB_000b3490:
  pcVar9 = pcVar9 + 1;
  cVar5 = *pcVar9;
  bVar2 = false;
  goto joined_r0x000b344e;
}

