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

void __regparm3 put_line(WORD *w,int indent)

{
  byte bVar1;
  WORD *pWVar2;
  byte *pbVar3;
  _IO_FILE *p_Var4;
  char *pcVar5;
  undefined *puVar6;
  int iVar7;
  WORD *pWVar8;
  WORD *pWVar9;
  byte *pbVar10;
  byte *pbVar11;
  WORD *local_28;
  
  out_column = 0;
  put_space(prefix_indent);
  puVar6 = PTR_stdout_0001dfd4;
  fputs_unlocked(prefix,*(FILE **)PTR_stdout_0001dfd4);
  out_column = prefix_length + out_column;
  put_space(indent - out_column);
  pWVar2 = w->next_break;
  local_28 = pWVar2 + -1;
  pWVar8 = w;
  if (w != local_28) {
    do {
      iVar7 = pWVar8->length;
      pbVar3 = (byte *)pWVar8->text;
      if (iVar7 != 0) {
        pbVar10 = pbVar3;
        do {
          pbVar11 = pbVar10 + 1;
          bVar1 = *pbVar10;
          p_Var4 = *(_IO_FILE **)puVar6;
          pbVar10 = (byte *)p_Var4->_IO_write_ptr;
          if (pbVar10 < p_Var4->_IO_write_end) {
            p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);
            *pbVar10 = bVar1;
          }
          else {
            __overflow(p_Var4,(uint)bVar1);
          }
          pbVar10 = pbVar11;
        } while (pbVar11 != pbVar3 + iVar7);
        iVar7 = pWVar8->length;
      }
      out_column = out_column + iVar7;
      pWVar9 = pWVar8 + 1;
      put_space(pWVar8->space);
      pWVar8 = pWVar9;
    } while (local_28 != pWVar9);
    local_28 = w + (((uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2) * 0x36db6db7 & 0x3fffffff) + 1;
  }
  iVar7 = local_28->length;
  pbVar3 = (byte *)local_28->text;
  if (iVar7 != 0) {
    pbVar10 = pbVar3;
    do {
      pbVar11 = pbVar10 + 1;
      bVar1 = *pbVar10;
      p_Var4 = *(_IO_FILE **)puVar6;
      pbVar10 = (byte *)p_Var4->_IO_write_ptr;
      if (pbVar10 < p_Var4->_IO_write_end) {
        p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);
        *pbVar10 = bVar1;
      }
      else {
        __overflow(p_Var4,(uint)bVar1);
      }
      pbVar10 = pbVar11;
    } while (pbVar11 != pbVar3 + iVar7);
    iVar7 = local_28->length;
  }
  last_line_length = iVar7 + out_column;
  p_Var4 = *(_IO_FILE **)puVar6;
  pcVar5 = p_Var4->_IO_write_ptr;
  out_column = last_line_length;
  if (pcVar5 < p_Var4->_IO_write_end) {
    p_Var4->_IO_write_ptr = pcVar5 + 1;
    *pcVar5 = '\n';
  }
  else {
    __overflow(p_Var4,10);
  }
  return;
}



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

void __regparm3 FUN_000120e0(undefined4 *param_1)

{
  byte bVar1;
  byte *pbVar2;
  _IO_FILE *p_Var3;
  char *pcVar4;
  undefined *puVar5;
  int iVar6;
  undefined4 *puVar7;
  byte *pbVar8;
  byte *pbVar9;
  int iVar10;
  undefined4 *local_28;
  
  DAT_000262a8 = 0;
  FUN_00011fd0();
  puVar5 = PTR_stdout_0001dfd4;
  fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4);
  DAT_000262a8 = DAT_000262b4 + DAT_000262a8;
  FUN_00011fd0();
  iVar10 = param_1[6];
  local_28 = (undefined4 *)(iVar10 + -0x1c);
  puVar7 = param_1;
  if (param_1 != local_28) {
    do {
      iVar6 = puVar7[1];
      pbVar2 = (byte *)*puVar7;
      if (iVar6 != 0) {
        pbVar8 = pbVar2;
        do {
          pbVar9 = pbVar8 + 1;
          bVar1 = *pbVar8;
          p_Var3 = *(_IO_FILE **)puVar5;
          pbVar8 = (byte *)p_Var3->_IO_write_ptr;
          if (pbVar8 < p_Var3->_IO_write_end) {
            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);
            *pbVar8 = bVar1;
          }
          else {
            __overflow(p_Var3,(uint)bVar1);
          }
          pbVar8 = pbVar9;
        } while (pbVar9 != pbVar2 + iVar6);
        iVar6 = puVar7[1];
      }
      DAT_000262a8 = DAT_000262a8 + iVar6;
      puVar7 = puVar7 + 7;
      FUN_00011fd0();
    } while (local_28 != puVar7);
    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *
                         7;
  }
  iVar10 = local_28[1];
  pbVar2 = (byte *)*local_28;
  if (iVar10 != 0) {
    pbVar8 = pbVar2;
    do {
      pbVar9 = pbVar8 + 1;
      bVar1 = *pbVar8;
      p_Var3 = *(_IO_FILE **)puVar5;
      pbVar8 = (byte *)p_Var3->_IO_write_ptr;
      if (pbVar8 < p_Var3->_IO_write_end) {
        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);
        *pbVar8 = bVar1;
      }
      else {
        __overflow(p_Var3,(uint)bVar1);
      }
      pbVar8 = pbVar9;
    } while (pbVar9 != pbVar2 + iVar10);
    iVar10 = local_28[1];
  }
  DAT_0001e180 = iVar10 + DAT_000262a8;
  p_Var3 = *(_IO_FILE **)puVar5;
  pcVar4 = p_Var3->_IO_write_ptr;
  DAT_000262a8 = DAT_0001e180;
  if (pcVar4 < p_Var3->_IO_write_end) {
    p_Var3->_IO_write_ptr = pcVar4 + 1;
    *pcVar4 = '\n';
  }
  else {
    __overflow(p_Var3,10);
  }
  return;
}


PUSH EBP
PUSH EDI
MOV EDI,EAX
PUSH ESI
MOV ESI,EDX
PUSH EBX
CALL 0x000118f0
ADD EBX,0xbf13
SUB ESP,0x2c
MOV dword ptr [ESP + 0x1c],EAX
MOV dword ptr [EBX + 0x82a8],0x0
MOV EAX,dword ptr [EBX + 0x194]
CALL 0x00011fd0
MOV EAX,dword ptr [EBX + 0xffffffd4]
SUB ESP,0x8
MOV dword ptr [ESP + 0x14],EAX
PUSH dword ptr [EAX]
PUSH dword ptr [EBX + 0x82c4]
CALL 0x000111e0
MOV EAX,dword ptr [EBX + 0x82b4]
ADD EAX,dword ptr [EBX + 0x82a8]
SUB ESI,EAX
MOV dword ptr [EBX + 0x82a8],EAX
MOV EAX,ESI
CALL 0x00011fd0
MOV EAX,dword ptr [EDI + 0x18]
MOV dword ptr [ESP + 0x28],EAX
SUB EAX,0x1c
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
CMP EDI,EAX
JZ 0x000121d8
MOV ESI,EDI
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESI + 0x4]
MOV EDI,dword ptr [ESI]
TEST EAX,EAX
JZ 0x0001219a
ADD EAX,EDI
MOV dword ptr [ESP + 0x10],EAX
NOP
MOV EAX,dword ptr [ESP + 0xc]
ADD EDI,0x1
MOVZX EDX,byte ptr [EDI + -0x1]
MOV EAX,dword ptr [EAX]
MOV ECX,dword ptr [EAX + 0x14]
CMP ECX,dword ptr [EAX + 0x18]
JNC 0x00012250
LEA EBP,[ECX + 0x1]
MOV dword ptr [EAX + 0x14],EBP
MOV byte ptr [ECX],DL
CMP EDI,dword ptr [ESP + 0x10]
JNZ 0x00012170
MOV EAX,dword ptr [ESI + 0x4]
ADD dword ptr [EBX + 0x82a8],EAX
MOV EAX,dword ptr [ESI + 0x8]
ADD ESI,0x1c
CALL 0x00011fd0
CMP dword ptr [ESP + 0x14],ESI
JNZ 0x00012160
MOV ECX,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [ESP + 0x18]
SUB EAX,ECX
SUB EAX,0x38
SHR EAX,0x2
IMUL EAX,EAX,0x36db6db7
AND EAX,0x3fffffff
ADD EAX,0x1
IMUL EAX,EAX,0x1c
ADD EAX,ECX
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x14]
MOV EDI,dword ptr [EAX + 0x4]
MOV ESI,dword ptr [EAX]
TEST EDI,EDI
JZ 0x00012218
ADD EDI,ESI
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESP + 0xc]
ADD ESI,0x1
MOVZX ECX,byte ptr [ESI + -0x1]
MOV EAX,dword ptr [EAX]
MOV EDX,dword ptr [EAX + 0x14]
CMP EDX,dword ptr [EAX + 0x18]
JNC 0x00012268
LEA EBP,[EDX + 0x1]
MOV dword ptr [EAX + 0x14],EBP
MOV byte ptr [EDX],CL
CMP ESI,EDI
JNZ 0x000121f0
MOV EAX,dword ptr [ESP + 0x14]
MOV EDI,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [ESP + 0xc]
ADD EDI,dword ptr [EBX + 0x82a8]
MOV dword ptr [EBX + 0x82a8],EDI
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBX + 0x180],EDI
MOV EDX,dword ptr [EAX + 0x14]
CMP EDX,dword ptr [EAX + 0x18]
JNC 0x00012280
LEA ECX,[EDX + 0x1]
MOV dword ptr [EAX + 0x14],ECX
MOV byte ptr [EDX],0xa
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
PUSH EDX
PUSH EAX
CALL 0x000112c0
ADD ESP,0x10
JMP 0x00012191
SUB ESP,0x8
PUSH ECX
PUSH EAX
CALL 0x000112c0
ADD ESP,0x10
JMP 0x0001220d
SUB ESP,0x8
PUSH 0xa
PUSH EAX
CALL 0x000112c0
ADD ESP,0x10
JMP 0x00012241
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_000120e0(undefined4 *param_1)\n\n{\n  byte bVar1;\n  byte *pbVar2;\n  _IO_FILE *p_Var3;\n  char *pcVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  int iVar10;\n  undefined4 *local_28;\n  \n  DAT_000262a8 = 0;\n  FUN_00011fd0();\n  puVar5 = PTR_stdout_0001dfd4;\n  fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4);\n  DAT_000262a8 = DAT_000262b4 + DAT_000262a8;\n  FUN_00011fd0();\n  iVar10 = param_1[6];\n  local_28 = (undefined4 *)(iVar10 + -0x1c);\n  puVar7 = param_1;\n  if (param_1 != local_28) {\n    do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);\n    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;\n  }\n  iVar10 = local_28[1];\n  pbVar2 = (byte *)*local_28;\n  if (iVar10 != 0) {\n    pbVar8 = pbVar2;\n    do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);\n    iVar10 = local_28[1];\n  }\n  DAT_0001e180 = iVar10 + DAT_000262a8;\n  p_Var3 = *(_IO_FILE **)puVar5;\n  pcVar4 = p_Var3->_IO_write_ptr;\n  DAT_000262a8 = DAT_0001e180;\n  if (pcVar4 < p_Var3->_IO_write_end) {\n    p_Var3->_IO_write_ptr = pcVar4 + 1;\n    *pcVar4 = '\n';\n  }\n  else {\n    __overflow(p_Var3,10);\n  }\n  return;\n}\n\n" comment (function_definition "void __regparm3 FUN_000120e0(undefined4 *param_1)\n\n{\n  byte bVar1;\n  byte *pbVar2;\n  _IO_FILE *p_Var3;\n  char *pcVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  int iVar10;\n  undefined4 *local_28;\n  \n  DAT_000262a8 = 0;\n  FUN_00011fd0();\n  puVar5 = PTR_stdout_0001dfd4;\n  fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4);\n  DAT_000262a8 = DAT_000262b4 + DAT_000262a8;\n  FUN_00011fd0();\n  iVar10 = param_1[6];\n  local_28 = (undefined4 *)(iVar10 + -0x1c);\n  puVar7 = param_1;\n  if (param_1 != local_28) {\n    do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);\n    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;\n  }\n  iVar10 = local_28[1];\n  pbVar2 = (byte *)*local_28;\n  if (iVar10 != 0) {\n    pbVar8 = pbVar2;\n    do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);\n    iVar10 = local_28[1];\n  }\n  DAT_0001e180 = iVar10 + DAT_000262a8;\n  p_Var3 = *(_IO_FILE **)puVar5;\n  pcVar4 = p_Var3->_IO_write_ptr;\n  DAT_000262a8 = DAT_0001e180;\n  if (pcVar4 < p_Var3->_IO_write_end) {\n    p_Var3->_IO_write_ptr = pcVar4 + 1;\n    *pcVar4 = '\n';\n  }\n  else {\n    __overflow(p_Var3,10);\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000120e0(undefined4 *param_1)" identifier (parameter_list "(undefined4 *param_1)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  byte *pbVar2;\n  _IO_FILE *p_Var3;\n  char *pcVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  int iVar10;\n  undefined4 *local_28;\n  \n  DAT_000262a8 = 0;\n  FUN_00011fd0();\n  puVar5 = PTR_stdout_0001dfd4;\n  fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4);\n  DAT_000262a8 = DAT_000262b4 + DAT_000262a8;\n  FUN_00011fd0();\n  iVar10 = param_1[6];\n  local_28 = (undefined4 *)(iVar10 + -0x1c);\n  puVar7 = param_1;\n  if (param_1 != local_28) {\n    do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);\n    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;\n  }\n  iVar10 = local_28[1];\n  pbVar2 = (byte *)*local_28;\n  if (iVar10 != 0) {\n    pbVar8 = pbVar2;\n    do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);\n    iVar10 = local_28[1];\n  }\n  DAT_0001e180 = iVar10 + DAT_000262a8;\n  p_Var3 = *(_IO_FILE **)puVar5;\n  pcVar4 = p_Var3->_IO_write_ptr;\n  DAT_000262a8 = DAT_0001e180;\n  if (pcVar4 < p_Var3->_IO_write_end) {\n    p_Var3->_IO_write_ptr = pcVar4 + 1;\n    *pcVar4 = '\n';\n  }\n  else {\n    __overflow(p_Var3,10);\n  }\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "_IO_FILE *p_Var3;" type_identifier (pointer_declarator "*p_Var3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined4 *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (expression_statement "DAT_000262a8 = 0;" (assignment_expression "DAT_000262a8 = 0" identifier = number_literal) ;) (expression_statement "FUN_00011fd0();" (call_expression "FUN_00011fd0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar5 = PTR_stdout_0001dfd4;" (assignment_expression "puVar5 = PTR_stdout_0001dfd4" identifier = identifier) ;) (expression_statement "fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4);" (call_expression "fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4)" identifier (argument_list "(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4)" ( identifier , (pointer_expression "*(FILE **)PTR_stdout_0001dfd4" * (cast_expression "(FILE **)PTR_stdout_0001dfd4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "DAT_000262a8 = DAT_000262b4 + DAT_000262a8;" (assignment_expression "DAT_000262a8 = DAT_000262b4 + DAT_000262a8" identifier = (binary_expression "DAT_000262b4 + DAT_000262a8" identifier + identifier)) ;) (expression_statement "FUN_00011fd0();" (call_expression "FUN_00011fd0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar10 = param_1[6];" (assignment_expression "iVar10 = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "local_28 = (undefined4 *)(iVar10 + -0x1c);" (assignment_expression "local_28 = (undefined4 *)(iVar10 + -0x1c)" identifier = (cast_expression "(undefined4 *)(iVar10 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x1c)" ( (binary_expression "iVar10 + -0x1c" identifier + number_literal) )))) ;) (expression_statement "puVar7 = param_1;" (assignment_expression "puVar7 = param_1" identifier = identifier) ;) (if_statement "if (param_1 != local_28) {\n    do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);\n    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;\n  }" if (parenthesized_expression "(param_1 != local_28)" ( (binary_expression "param_1 != local_28" identifier != identifier) )) (compound_statement "{\n    do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);\n    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;\n  }" { (do_statement "do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);" do (compound_statement "{\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    }" { (expression_statement "iVar6 = puVar7[1];" (assignment_expression "iVar6 = puVar7[1]" identifier = (subscript_expression "puVar7[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar2 = (byte *)*puVar7;" (assignment_expression "pbVar2 = (byte *)*puVar7" identifier = (cast_expression "(byte *)*puVar7" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) ;) (if_statement "if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }" { (expression_statement "pbVar8 = pbVar2;" (assignment_expression "pbVar8 = pbVar2" identifier = identifier) ;) (do_statement "do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);" do (compound_statement "{\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        }" { (expression_statement "pbVar9 = pbVar8 + 1;" (assignment_expression "pbVar9 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "p_Var3 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var3 = *(_IO_FILE **)puVar5" identifier = (pointer_expression "*(_IO_FILE **)puVar5" * (cast_expression "(_IO_FILE **)puVar5" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar8 = (byte *)p_Var3->_IO_write_ptr;" (assignment_expression "pbVar8 = (byte *)p_Var3->_IO_write_ptr" identifier = (cast_expression "(byte *)p_Var3->_IO_write_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var3->_IO_write_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }" if (parenthesized_expression "(pbVar8 < p_Var3->_IO_write_end)" ( (binary_expression "pbVar8 < p_Var3->_IO_write_end" identifier < (field_expression "p_Var3->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }" { (expression_statement "p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);" (assignment_expression "p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1)" (field_expression "p_Var3->_IO_write_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar8 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + 1)" ( (binary_expression "pbVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "*pbVar8 = bVar1;" (assignment_expression "*pbVar8 = bVar1" (pointer_expression "*pbVar8" * identifier) = identifier) ;) }) (else_clause "else {\n            __overflow(p_Var3,(uint)bVar1);\n          }" else (compound_statement "{\n            __overflow(p_Var3,(uint)bVar1);\n          }" { (expression_statement "__overflow(p_Var3,(uint)bVar1);" (call_expression "__overflow(p_Var3,(uint)bVar1)" identifier (argument_list "(p_Var3,(uint)bVar1)" ( identifier , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) }))) (expression_statement "pbVar8 = pbVar9;" (assignment_expression "pbVar8 = pbVar9" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar9 != pbVar2 + iVar6)" ( (binary_expression "pbVar9 != pbVar2 + iVar6" identifier != (binary_expression "pbVar2 + iVar6" identifier + identifier)) )) ;) (expression_statement "iVar6 = puVar7[1];" (assignment_expression "iVar6 = puVar7[1]" identifier = (subscript_expression "puVar7[1]" identifier [ number_literal ])) ;) })) (expression_statement "DAT_000262a8 = DAT_000262a8 + iVar6;" (assignment_expression "DAT_000262a8 = DAT_000262a8 + iVar6" identifier = (binary_expression "DAT_000262a8 + iVar6" identifier + identifier)) ;) (expression_statement "puVar7 = puVar7 + 7;" (assignment_expression "puVar7 = puVar7 + 7" identifier = (binary_expression "puVar7 + 7" identifier + number_literal)) ;) (expression_statement "FUN_00011fd0();" (call_expression "FUN_00011fd0()" identifier (argument_list "()" ( ))) ;) }) while (parenthesized_expression "(local_28 != puVar7)" ( (binary_expression "local_28 != puVar7" identifier != identifier) )) ;) (expression_statement "local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;" (assignment_expression "local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7" identifier = (binary_expression "param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7" identifier + (binary_expression "((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7" (parenthesized_expression "((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1)" ( (binary_expression "(((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1" (parenthesized_expression "(((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff)" ( (binary_expression "((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff" (binary_expression "((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7" (parenthesized_expression "((iVar10 - (int)param_1) - 0x38U >> 2)" ( (binary_expression "(iVar10 - (int)param_1) - 0x38U >> 2" (binary_expression "(iVar10 - (int)param_1) - 0x38U" (parenthesized_expression "(iVar10 - (int)param_1)" ( (binary_expression "iVar10 - (int)param_1" identifier - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) >> number_literal) )) * number_literal) & number_literal) )) + number_literal) )) * number_literal))) ;) })) (expression_statement "iVar10 = local_28[1];" (assignment_expression "iVar10 = local_28[1]" identifier = (subscript_expression "local_28[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar2 = (byte *)*local_28;" (assignment_expression "pbVar2 = (byte *)*local_28" identifier = (cast_expression "(byte *)*local_28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_28" * identifier))) ;) (if_statement "if (iVar10 != 0) {\n    pbVar8 = pbVar2;\n    do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);\n    iVar10 = local_28[1];\n  }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n    pbVar8 = pbVar2;\n    do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);\n    iVar10 = local_28[1];\n  }" { (expression_statement "pbVar8 = pbVar2;" (assignment_expression "pbVar8 = pbVar2" identifier = identifier) ;) (do_statement "do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);" do (compound_statement "{\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    }" { (expression_statement "pbVar9 = pbVar8 + 1;" (assignment_expression "pbVar9 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "p_Var3 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var3 = *(_IO_FILE **)puVar5" identifier = (pointer_expression "*(_IO_FILE **)puVar5" * (cast_expression "(_IO_FILE **)puVar5" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar8 = (byte *)p_Var3->_IO_write_ptr;" (assignment_expression "pbVar8 = (byte *)p_Var3->_IO_write_ptr" identifier = (cast_expression "(byte *)p_Var3->_IO_write_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var3->_IO_write_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }" if (parenthesized_expression "(pbVar8 < p_Var3->_IO_write_end)" ( (binary_expression "pbVar8 < p_Var3->_IO_write_end" identifier < (field_expression "p_Var3->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }" { (expression_statement "p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);" (assignment_expression "p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1)" (field_expression "p_Var3->_IO_write_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar8 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + 1)" ( (binary_expression "pbVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "*pbVar8 = bVar1;" (assignment_expression "*pbVar8 = bVar1" (pointer_expression "*pbVar8" * identifier) = identifier) ;) }) (else_clause "else {\n        __overflow(p_Var3,(uint)bVar1);\n      }" else (compound_statement "{\n        __overflow(p_Var3,(uint)bVar1);\n      }" { (expression_statement "__overflow(p_Var3,(uint)bVar1);" (call_expression "__overflow(p_Var3,(uint)bVar1)" identifier (argument_list "(p_Var3,(uint)bVar1)" ( identifier , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) }))) (expression_statement "pbVar8 = pbVar9;" (assignment_expression "pbVar8 = pbVar9" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar9 != pbVar2 + iVar10)" ( (binary_expression "pbVar9 != pbVar2 + iVar10" identifier != (binary_expression "pbVar2 + iVar10" identifier + identifier)) )) ;) (expression_statement "iVar10 = local_28[1];" (assignment_expression "iVar10 = local_28[1]" identifier = (subscript_expression "local_28[1]" identifier [ number_literal ])) ;) })) (expression_statement "DAT_0001e180 = iVar10 + DAT_000262a8;" (assignment_expression "DAT_0001e180 = iVar10 + DAT_000262a8" identifier = (binary_expression "iVar10 + DAT_000262a8" identifier + identifier)) ;) (expression_statement "p_Var3 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var3 = *(_IO_FILE **)puVar5" identifier = (pointer_expression "*(_IO_FILE **)puVar5" * (cast_expression "(_IO_FILE **)puVar5" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar4 = p_Var3->_IO_write_ptr;" (assignment_expression "pcVar4 = p_Var3->_IO_write_ptr" identifier = (field_expression "p_Var3->_IO_write_ptr" identifier -> field_identifier)) ;) (expression_statement "DAT_000262a8 = DAT_0001e180;" (assignment_expression "DAT_000262a8 = DAT_0001e180" identifier = identifier) ;) (if_statement "if (pcVar4 < p_Var3->_IO_write_end) {\n    p_Var3->_IO_write_ptr = pcVar4 + 1;\n    *pcVar4 = '\n';\n  }\n  else {\n    __overflow(p_Var3,10);\n  }" if (parenthesized_expression "(pcVar4 < p_Var3->_IO_write_end)" ( (binary_expression "pcVar4 < p_Var3->_IO_write_end" identifier < (field_expression "p_Var3->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n    p_Var3->_IO_write_ptr = pcVar4 + 1;\n    *pcVar4 = '\n';\n  }" { (expression_statement "p_Var3->_IO_write_ptr = pcVar4 + 1;" (assignment_expression "p_Var3->_IO_write_ptr = pcVar4 + 1" (field_expression "p_Var3->_IO_write_ptr" identifier -> field_identifier) = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar4 = '\n';" (assignment_expression "*pcVar4 = '\n'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }) (else_clause "else {\n    __overflow(p_Var3,10);\n  }" else (compound_statement "{\n    __overflow(p_Var3,10);\n  }" { (expression_statement "__overflow(p_Var3,10);" (call_expression "__overflow(p_Var3,10)" identifier (argument_list "(p_Var3,10)" ( identifier , number_literal ))) ;) }))) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 put_line(WORD *w,int indent)\n\n{\n  byte bVar1;\n  WORD *pWVar2;\n  byte *pbVar3;\n  _IO_FILE *p_Var4;\n  char *pcVar5;\n  undefined *puVar6;\n  int iVar7;\n  WORD *pWVar8;\n  WORD *pWVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  WORD *local_28;\n  \n  out_column = 0;\n  put_space(prefix_indent);\n  puVar6 = PTR_stdout_0001dfd4;\n  fputs_unlocked(prefix,*(FILE **)PTR_stdout_0001dfd4);\n  out_column = prefix_length + out_column;\n  put_space(indent - out_column);\n  pWVar2 = w->next_break;\n  local_28 = pWVar2 + -1;\n  pWVar8 = w;\n  if (w != local_28) {\n    do {\n      iVar7 = pWVar8->length;\n      pbVar3 = (byte *)pWVar8->text;\n      if (iVar7 != 0) {\n        pbVar10 = pbVar3;\n        do {\n          pbVar11 = pbVar10 + 1;\n          bVar1 = *pbVar10;\n          p_Var4 = *(_IO_FILE **)puVar6;\n          pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n          if (pbVar10 < p_Var4->_IO_write_end) {\n            p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n            *pbVar10 = bVar1;\n          }\n          else {\n            __overflow(p_Var4,(uint)bVar1);\n          }\n          pbVar10 = pbVar11;\n        } while (pbVar11 != pbVar3 + iVar7);\n        iVar7 = pWVar8->length;\n      }\n      out_column = out_column + iVar7;\n      pWVar9 = pWVar8 + 1;\n      put_space(pWVar8->space);\n      pWVar8 = pWVar9;\n    } while (local_28 != pWVar9);\n    local_28 = w + (((uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2) * 0x36db6db7 & 0x3fffffff) + 1;\n  }\n  iVar7 = local_28->length;\n  pbVar3 = (byte *)local_28->text;\n  if (iVar7 != 0) {\n    pbVar10 = pbVar3;\n    do {\n      pbVar11 = pbVar10 + 1;\n      bVar1 = *pbVar10;\n      p_Var4 = *(_IO_FILE **)puVar6;\n      pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n      if (pbVar10 < p_Var4->_IO_write_end) {\n        p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n        *pbVar10 = bVar1;\n      }\n      else {\n        __overflow(p_Var4,(uint)bVar1);\n      }\n      pbVar10 = pbVar11;\n    } while (pbVar11 != pbVar3 + iVar7);\n    iVar7 = local_28->length;\n  }\n  last_line_length = iVar7 + out_column;\n  p_Var4 = *(_IO_FILE **)puVar6;\n  pcVar5 = p_Var4->_IO_write_ptr;\n  out_column = last_line_length;\n  if (pcVar5 < p_Var4->_IO_write_end) {\n    p_Var4->_IO_write_ptr = pcVar5 + 1;\n    *pcVar5 = '\n';\n  }\n  else {\n    __overflow(p_Var4,10);\n  }\n  return;\n}\n\n" comment (function_definition "void __regparm3 put_line(WORD *w,int indent)\n\n{\n  byte bVar1;\n  WORD *pWVar2;\n  byte *pbVar3;\n  _IO_FILE *p_Var4;\n  char *pcVar5;\n  undefined *puVar6;\n  int iVar7;\n  WORD *pWVar8;\n  WORD *pWVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  WORD *local_28;\n  \n  out_column = 0;\n  put_space(prefix_indent);\n  puVar6 = PTR_stdout_0001dfd4;\n  fputs_unlocked(prefix,*(FILE **)PTR_stdout_0001dfd4);\n  out_column = prefix_length + out_column;\n  put_space(indent - out_column);\n  pWVar2 = w->next_break;\n  local_28 = pWVar2 + -1;\n  pWVar8 = w;\n  if (w != local_28) {\n    do {\n      iVar7 = pWVar8->length;\n      pbVar3 = (byte *)pWVar8->text;\n      if (iVar7 != 0) {\n        pbVar10 = pbVar3;\n        do {\n          pbVar11 = pbVar10 + 1;\n          bVar1 = *pbVar10;\n          p_Var4 = *(_IO_FILE **)puVar6;\n          pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n          if (pbVar10 < p_Var4->_IO_write_end) {\n            p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n            *pbVar10 = bVar1;\n          }\n          else {\n            __overflow(p_Var4,(uint)bVar1);\n          }\n          pbVar10 = pbVar11;\n        } while (pbVar11 != pbVar3 + iVar7);\n        iVar7 = pWVar8->length;\n      }\n      out_column = out_column + iVar7;\n      pWVar9 = pWVar8 + 1;\n      put_space(pWVar8->space);\n      pWVar8 = pWVar9;\n    } while (local_28 != pWVar9);\n    local_28 = w + (((uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2) * 0x36db6db7 & 0x3fffffff) + 1;\n  }\n  iVar7 = local_28->length;\n  pbVar3 = (byte *)local_28->text;\n  if (iVar7 != 0) {\n    pbVar10 = pbVar3;\n    do {\n      pbVar11 = pbVar10 + 1;\n      bVar1 = *pbVar10;\n      p_Var4 = *(_IO_FILE **)puVar6;\n      pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n      if (pbVar10 < p_Var4->_IO_write_end) {\n        p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n        *pbVar10 = bVar1;\n      }\n      else {\n        __overflow(p_Var4,(uint)bVar1);\n      }\n      pbVar10 = pbVar11;\n    } while (pbVar11 != pbVar3 + iVar7);\n    iVar7 = local_28->length;\n  }\n  last_line_length = iVar7 + out_column;\n  p_Var4 = *(_IO_FILE **)puVar6;\n  pcVar5 = p_Var4->_IO_write_ptr;\n  out_column = last_line_length;\n  if (pcVar5 < p_Var4->_IO_write_end) {\n    p_Var4->_IO_write_ptr = pcVar5 + 1;\n    *pcVar5 = '\n';\n  }\n  else {\n    __overflow(p_Var4,10);\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "put_line(WORD *w,int indent)" identifier (parameter_list "(WORD *w,int indent)" ( (parameter_declaration "WORD *w" type_identifier (pointer_declarator "*w" * identifier)) , (parameter_declaration "int indent" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  WORD *pWVar2;\n  byte *pbVar3;\n  _IO_FILE *p_Var4;\n  char *pcVar5;\n  undefined *puVar6;\n  int iVar7;\n  WORD *pWVar8;\n  WORD *pWVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  WORD *local_28;\n  \n  out_column = 0;\n  put_space(prefix_indent);\n  puVar6 = PTR_stdout_0001dfd4;\n  fputs_unlocked(prefix,*(FILE **)PTR_stdout_0001dfd4);\n  out_column = prefix_length + out_column;\n  put_space(indent - out_column);\n  pWVar2 = w->next_break;\n  local_28 = pWVar2 + -1;\n  pWVar8 = w;\n  if (w != local_28) {\n    do {\n      iVar7 = pWVar8->length;\n      pbVar3 = (byte *)pWVar8->text;\n      if (iVar7 != 0) {\n        pbVar10 = pbVar3;\n        do {\n          pbVar11 = pbVar10 + 1;\n          bVar1 = *pbVar10;\n          p_Var4 = *(_IO_FILE **)puVar6;\n          pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n          if (pbVar10 < p_Var4->_IO_write_end) {\n            p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n            *pbVar10 = bVar1;\n          }\n          else {\n            __overflow(p_Var4,(uint)bVar1);\n          }\n          pbVar10 = pbVar11;\n        } while (pbVar11 != pbVar3 + iVar7);\n        iVar7 = pWVar8->length;\n      }\n      out_column = out_column + iVar7;\n      pWVar9 = pWVar8 + 1;\n      put_space(pWVar8->space);\n      pWVar8 = pWVar9;\n    } while (local_28 != pWVar9);\n    local_28 = w + (((uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2) * 0x36db6db7 & 0x3fffffff) + 1;\n  }\n  iVar7 = local_28->length;\n  pbVar3 = (byte *)local_28->text;\n  if (iVar7 != 0) {\n    pbVar10 = pbVar3;\n    do {\n      pbVar11 = pbVar10 + 1;\n      bVar1 = *pbVar10;\n      p_Var4 = *(_IO_FILE **)puVar6;\n      pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n      if (pbVar10 < p_Var4->_IO_write_end) {\n        p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n        *pbVar10 = bVar1;\n      }\n      else {\n        __overflow(p_Var4,(uint)bVar1);\n      }\n      pbVar10 = pbVar11;\n    } while (pbVar11 != pbVar3 + iVar7);\n    iVar7 = local_28->length;\n  }\n  last_line_length = iVar7 + out_column;\n  p_Var4 = *(_IO_FILE **)puVar6;\n  pcVar5 = p_Var4->_IO_write_ptr;\n  out_column = last_line_length;\n  if (pcVar5 < p_Var4->_IO_write_end) {\n    p_Var4->_IO_write_ptr = pcVar5 + 1;\n    *pcVar5 = '\n';\n  }\n  else {\n    __overflow(p_Var4,10);\n  }\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "WORD *pWVar2;" type_identifier (pointer_declarator "*pWVar2" * identifier) ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "_IO_FILE *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "WORD *pWVar8;" type_identifier (pointer_declarator "*pWVar8" * identifier) ;) (declaration "WORD *pWVar9;" type_identifier (pointer_declarator "*pWVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "WORD *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (expression_statement "out_column = 0;" (assignment_expression "out_column = 0" identifier = number_literal) ;) (expression_statement "put_space(prefix_indent);" (call_expression "put_space(prefix_indent)" identifier (argument_list "(prefix_indent)" ( identifier ))) ;) (expression_statement "puVar6 = PTR_stdout_0001dfd4;" (assignment_expression "puVar6 = PTR_stdout_0001dfd4" identifier = identifier) ;) (expression_statement "fputs_unlocked(prefix,*(FILE **)PTR_stdout_0001dfd4);" (call_expression "fputs_unlocked(prefix,*(FILE **)PTR_stdout_0001dfd4)" identifier (argument_list "(prefix,*(FILE **)PTR_stdout_0001dfd4)" ( identifier , (pointer_expression "*(FILE **)PTR_stdout_0001dfd4" * (cast_expression "(FILE **)PTR_stdout_0001dfd4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "out_column = prefix_length + out_column;" (assignment_expression "out_column = prefix_length + out_column" identifier = (binary_expression "prefix_length + out_column" identifier + identifier)) ;) (expression_statement "put_space(indent - out_column);" (call_expression "put_space(indent - out_column)" identifier (argument_list "(indent - out_column)" ( (binary_expression "indent - out_column" identifier - identifier) ))) ;) (expression_statement "pWVar2 = w->next_break;" (assignment_expression "pWVar2 = w->next_break" identifier = (field_expression "w->next_break" identifier -> field_identifier)) ;) (expression_statement "local_28 = pWVar2 + -1;" (assignment_expression "local_28 = pWVar2 + -1" identifier = (binary_expression "pWVar2 + -1" identifier + number_literal)) ;) (expression_statement "pWVar8 = w;" (assignment_expression "pWVar8 = w" identifier = identifier) ;) (if_statement "if (w != local_28) {\n    do {\n      iVar7 = pWVar8->length;\n      pbVar3 = (byte *)pWVar8->text;\n      if (iVar7 != 0) {\n        pbVar10 = pbVar3;\n        do {\n          pbVar11 = pbVar10 + 1;\n          bVar1 = *pbVar10;\n          p_Var4 = *(_IO_FILE **)puVar6;\n          pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n          if (pbVar10 < p_Var4->_IO_write_end) {\n            p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n            *pbVar10 = bVar1;\n          }\n          else {\n            __overflow(p_Var4,(uint)bVar1);\n          }\n          pbVar10 = pbVar11;\n        } while (pbVar11 != pbVar3 + iVar7);\n        iVar7 = pWVar8->length;\n      }\n      out_column = out_column + iVar7;\n      pWVar9 = pWVar8 + 1;\n      put_space(pWVar8->space);\n      pWVar8 = pWVar9;\n    } while (local_28 != pWVar9);\n    local_28 = w + (((uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2) * 0x36db6db7 & 0x3fffffff) + 1;\n  }" if (parenthesized_expression "(w != local_28)" ( (binary_expression "w != local_28" identifier != identifier) )) (compound_statement "{\n    do {\n      iVar7 = pWVar8->length;\n      pbVar3 = (byte *)pWVar8->text;\n      if (iVar7 != 0) {\n        pbVar10 = pbVar3;\n        do {\n          pbVar11 = pbVar10 + 1;\n          bVar1 = *pbVar10;\n          p_Var4 = *(_IO_FILE **)puVar6;\n          pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n          if (pbVar10 < p_Var4->_IO_write_end) {\n            p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n            *pbVar10 = bVar1;\n          }\n          else {\n            __overflow(p_Var4,(uint)bVar1);\n          }\n          pbVar10 = pbVar11;\n        } while (pbVar11 != pbVar3 + iVar7);\n        iVar7 = pWVar8->length;\n      }\n      out_column = out_column + iVar7;\n      pWVar9 = pWVar8 + 1;\n      put_space(pWVar8->space);\n      pWVar8 = pWVar9;\n    } while (local_28 != pWVar9);\n    local_28 = w + (((uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2) * 0x36db6db7 & 0x3fffffff) + 1;\n  }" { (do_statement "do {\n      iVar7 = pWVar8->length;\n      pbVar3 = (byte *)pWVar8->text;\n      if (iVar7 != 0) {\n        pbVar10 = pbVar3;\n        do {\n          pbVar11 = pbVar10 + 1;\n          bVar1 = *pbVar10;\n          p_Var4 = *(_IO_FILE **)puVar6;\n          pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n          if (pbVar10 < p_Var4->_IO_write_end) {\n            p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n            *pbVar10 = bVar1;\n          }\n          else {\n            __overflow(p_Var4,(uint)bVar1);\n          }\n          pbVar10 = pbVar11;\n        } while (pbVar11 != pbVar3 + iVar7);\n        iVar7 = pWVar8->length;\n      }\n      out_column = out_column + iVar7;\n      pWVar9 = pWVar8 + 1;\n      put_space(pWVar8->space);\n      pWVar8 = pWVar9;\n    } while (local_28 != pWVar9);" do (compound_statement "{\n      iVar7 = pWVar8->length;\n      pbVar3 = (byte *)pWVar8->text;\n      if (iVar7 != 0) {\n        pbVar10 = pbVar3;\n        do {\n          pbVar11 = pbVar10 + 1;\n          bVar1 = *pbVar10;\n          p_Var4 = *(_IO_FILE **)puVar6;\n          pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n          if (pbVar10 < p_Var4->_IO_write_end) {\n            p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n            *pbVar10 = bVar1;\n          }\n          else {\n            __overflow(p_Var4,(uint)bVar1);\n          }\n          pbVar10 = pbVar11;\n        } while (pbVar11 != pbVar3 + iVar7);\n        iVar7 = pWVar8->length;\n      }\n      out_column = out_column + iVar7;\n      pWVar9 = pWVar8 + 1;\n      put_space(pWVar8->space);\n      pWVar8 = pWVar9;\n    }" { (expression_statement "iVar7 = pWVar8->length;" (assignment_expression "iVar7 = pWVar8->length" identifier = (field_expression "pWVar8->length" identifier -> field_identifier)) ;) (expression_statement "pbVar3 = (byte *)pWVar8->text;" (assignment_expression "pbVar3 = (byte *)pWVar8->text" identifier = (cast_expression "(byte *)pWVar8->text" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar8->text" identifier -> field_identifier))) ;) (if_statement "if (iVar7 != 0) {\n        pbVar10 = pbVar3;\n        do {\n          pbVar11 = pbVar10 + 1;\n          bVar1 = *pbVar10;\n          p_Var4 = *(_IO_FILE **)puVar6;\n          pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n          if (pbVar10 < p_Var4->_IO_write_end) {\n            p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n            *pbVar10 = bVar1;\n          }\n          else {\n            __overflow(p_Var4,(uint)bVar1);\n          }\n          pbVar10 = pbVar11;\n        } while (pbVar11 != pbVar3 + iVar7);\n        iVar7 = pWVar8->length;\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        pbVar10 = pbVar3;\n        do {\n          pbVar11 = pbVar10 + 1;\n          bVar1 = *pbVar10;\n          p_Var4 = *(_IO_FILE **)puVar6;\n          pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n          if (pbVar10 < p_Var4->_IO_write_end) {\n            p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n            *pbVar10 = bVar1;\n          }\n          else {\n            __overflow(p_Var4,(uint)bVar1);\n          }\n          pbVar10 = pbVar11;\n        } while (pbVar11 != pbVar3 + iVar7);\n        iVar7 = pWVar8->length;\n      }" { (expression_statement "pbVar10 = pbVar3;" (assignment_expression "pbVar10 = pbVar3" identifier = identifier) ;) (do_statement "do {\n          pbVar11 = pbVar10 + 1;\n          bVar1 = *pbVar10;\n          p_Var4 = *(_IO_FILE **)puVar6;\n          pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n          if (pbVar10 < p_Var4->_IO_write_end) {\n            p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n            *pbVar10 = bVar1;\n          }\n          else {\n            __overflow(p_Var4,(uint)bVar1);\n          }\n          pbVar10 = pbVar11;\n        } while (pbVar11 != pbVar3 + iVar7);" do (compound_statement "{\n          pbVar11 = pbVar10 + 1;\n          bVar1 = *pbVar10;\n          p_Var4 = *(_IO_FILE **)puVar6;\n          pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n          if (pbVar10 < p_Var4->_IO_write_end) {\n            p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n            *pbVar10 = bVar1;\n          }\n          else {\n            __overflow(p_Var4,(uint)bVar1);\n          }\n          pbVar10 = pbVar11;\n        }" { (expression_statement "pbVar11 = pbVar10 + 1;" (assignment_expression "pbVar11 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar10;" (assignment_expression "bVar1 = *pbVar10" identifier = (pointer_expression "*pbVar10" * identifier)) ;) (expression_statement "p_Var4 = *(_IO_FILE **)puVar6;" (assignment_expression "p_Var4 = *(_IO_FILE **)puVar6" identifier = (pointer_expression "*(_IO_FILE **)puVar6" * (cast_expression "(_IO_FILE **)puVar6" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar10 = (byte *)p_Var4->_IO_write_ptr;" (assignment_expression "pbVar10 = (byte *)p_Var4->_IO_write_ptr" identifier = (cast_expression "(byte *)p_Var4->_IO_write_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var4->_IO_write_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar10 < p_Var4->_IO_write_end) {\n            p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n            *pbVar10 = bVar1;\n          }\n          else {\n            __overflow(p_Var4,(uint)bVar1);\n          }" if (parenthesized_expression "(pbVar10 < p_Var4->_IO_write_end)" ( (binary_expression "pbVar10 < p_Var4->_IO_write_end" identifier < (field_expression "p_Var4->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n            p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n            *pbVar10 = bVar1;\n          }" { (expression_statement "p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);" (assignment_expression "p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1)" (field_expression "p_Var4->_IO_write_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar10 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar10 + 1)" ( (binary_expression "pbVar10 + 1" identifier + number_literal) )))) ;) (expression_statement "*pbVar10 = bVar1;" (assignment_expression "*pbVar10 = bVar1" (pointer_expression "*pbVar10" * identifier) = identifier) ;) }) (else_clause "else {\n            __overflow(p_Var4,(uint)bVar1);\n          }" else (compound_statement "{\n            __overflow(p_Var4,(uint)bVar1);\n          }" { (expression_statement "__overflow(p_Var4,(uint)bVar1);" (call_expression "__overflow(p_Var4,(uint)bVar1)" identifier (argument_list "(p_Var4,(uint)bVar1)" ( identifier , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) }))) (expression_statement "pbVar10 = pbVar11;" (assignment_expression "pbVar10 = pbVar11" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar11 != pbVar3 + iVar7)" ( (binary_expression "pbVar11 != pbVar3 + iVar7" identifier != (binary_expression "pbVar3 + iVar7" identifier + identifier)) )) ;) (expression_statement "iVar7 = pWVar8->length;" (assignment_expression "iVar7 = pWVar8->length" identifier = (field_expression "pWVar8->length" identifier -> field_identifier)) ;) })) (expression_statement "out_column = out_column + iVar7;" (assignment_expression "out_column = out_column + iVar7" identifier = (binary_expression "out_column + iVar7" identifier + identifier)) ;) (expression_statement "pWVar9 = pWVar8 + 1;" (assignment_expression "pWVar9 = pWVar8 + 1" identifier = (binary_expression "pWVar8 + 1" identifier + number_literal)) ;) (expression_statement "put_space(pWVar8->space);" (call_expression "put_space(pWVar8->space)" identifier (argument_list "(pWVar8->space)" ( (field_expression "pWVar8->space" identifier -> field_identifier) ))) ;) (expression_statement "pWVar8 = pWVar9;" (assignment_expression "pWVar8 = pWVar9" identifier = identifier) ;) }) while (parenthesized_expression "(local_28 != pWVar9)" ( (binary_expression "local_28 != pWVar9" identifier != identifier) )) ;) (expression_statement "local_28 = w + (((uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2) * 0x36db6db7 & 0x3fffffff) + 1;" (assignment_expression "local_28 = w + (((uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2) * 0x36db6db7 & 0x3fffffff) + 1" identifier = (binary_expression "w + (((uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2) * 0x36db6db7 & 0x3fffffff) + 1" (binary_expression "w + (((uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2) * 0x36db6db7 & 0x3fffffff)" identifier + (parenthesized_expression "(((uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2) * 0x36db6db7 & 0x3fffffff)" ( (binary_expression "((uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2) * 0x36db6db7 & 0x3fffffff" (binary_expression "((uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2) * 0x36db6db7" (parenthesized_expression "((uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2)" ( (binary_expression "(uint)((int)pWVar2 + (-0x38 - (int)w)) >> 2" (call_expression "(uint)((int)pWVar2 + (-0x38 - (int)w))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pWVar2 + (-0x38 - (int)w))" ( (binary_expression "(int)pWVar2 + (-0x38 - (int)w)" (cast_expression "(int)pWVar2" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-0x38 - (int)w)" ( (binary_expression "-0x38 - (int)w" number_literal - (cast_expression "(int)w" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) >> number_literal) )) * number_literal) & number_literal) ))) + number_literal)) ;) })) (expression_statement "iVar7 = local_28->length;" (assignment_expression "iVar7 = local_28->length" identifier = (field_expression "local_28->length" identifier -> field_identifier)) ;) (expression_statement "pbVar3 = (byte *)local_28->text;" (assignment_expression "pbVar3 = (byte *)local_28->text" identifier = (cast_expression "(byte *)local_28->text" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_28->text" identifier -> field_identifier))) ;) (if_statement "if (iVar7 != 0) {\n    pbVar10 = pbVar3;\n    do {\n      pbVar11 = pbVar10 + 1;\n      bVar1 = *pbVar10;\n      p_Var4 = *(_IO_FILE **)puVar6;\n      pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n      if (pbVar10 < p_Var4->_IO_write_end) {\n        p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n        *pbVar10 = bVar1;\n      }\n      else {\n        __overflow(p_Var4,(uint)bVar1);\n      }\n      pbVar10 = pbVar11;\n    } while (pbVar11 != pbVar3 + iVar7);\n    iVar7 = local_28->length;\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    pbVar10 = pbVar3;\n    do {\n      pbVar11 = pbVar10 + 1;\n      bVar1 = *pbVar10;\n      p_Var4 = *(_IO_FILE **)puVar6;\n      pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n      if (pbVar10 < p_Var4->_IO_write_end) {\n        p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n        *pbVar10 = bVar1;\n      }\n      else {\n        __overflow(p_Var4,(uint)bVar1);\n      }\n      pbVar10 = pbVar11;\n    } while (pbVar11 != pbVar3 + iVar7);\n    iVar7 = local_28->length;\n  }" { (expression_statement "pbVar10 = pbVar3;" (assignment_expression "pbVar10 = pbVar3" identifier = identifier) ;) (do_statement "do {\n      pbVar11 = pbVar10 + 1;\n      bVar1 = *pbVar10;\n      p_Var4 = *(_IO_FILE **)puVar6;\n      pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n      if (pbVar10 < p_Var4->_IO_write_end) {\n        p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n        *pbVar10 = bVar1;\n      }\n      else {\n        __overflow(p_Var4,(uint)bVar1);\n      }\n      pbVar10 = pbVar11;\n    } while (pbVar11 != pbVar3 + iVar7);" do (compound_statement "{\n      pbVar11 = pbVar10 + 1;\n      bVar1 = *pbVar10;\n      p_Var4 = *(_IO_FILE **)puVar6;\n      pbVar10 = (byte *)p_Var4->_IO_write_ptr;\n      if (pbVar10 < p_Var4->_IO_write_end) {\n        p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n        *pbVar10 = bVar1;\n      }\n      else {\n        __overflow(p_Var4,(uint)bVar1);\n      }\n      pbVar10 = pbVar11;\n    }" { (expression_statement "pbVar11 = pbVar10 + 1;" (assignment_expression "pbVar11 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar10;" (assignment_expression "bVar1 = *pbVar10" identifier = (pointer_expression "*pbVar10" * identifier)) ;) (expression_statement "p_Var4 = *(_IO_FILE **)puVar6;" (assignment_expression "p_Var4 = *(_IO_FILE **)puVar6" identifier = (pointer_expression "*(_IO_FILE **)puVar6" * (cast_expression "(_IO_FILE **)puVar6" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar10 = (byte *)p_Var4->_IO_write_ptr;" (assignment_expression "pbVar10 = (byte *)p_Var4->_IO_write_ptr" identifier = (cast_expression "(byte *)p_Var4->_IO_write_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var4->_IO_write_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar10 < p_Var4->_IO_write_end) {\n        p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n        *pbVar10 = bVar1;\n      }\n      else {\n        __overflow(p_Var4,(uint)bVar1);\n      }" if (parenthesized_expression "(pbVar10 < p_Var4->_IO_write_end)" ( (binary_expression "pbVar10 < p_Var4->_IO_write_end" identifier < (field_expression "p_Var4->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n        p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);\n        *pbVar10 = bVar1;\n      }" { (expression_statement "p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1);" (assignment_expression "p_Var4->_IO_write_ptr = (char *)(pbVar10 + 1)" (field_expression "p_Var4->_IO_write_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar10 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar10 + 1)" ( (binary_expression "pbVar10 + 1" identifier + number_literal) )))) ;) (expression_statement "*pbVar10 = bVar1;" (assignment_expression "*pbVar10 = bVar1" (pointer_expression "*pbVar10" * identifier) = identifier) ;) }) (else_clause "else {\n        __overflow(p_Var4,(uint)bVar1);\n      }" else (compound_statement "{\n        __overflow(p_Var4,(uint)bVar1);\n      }" { (expression_statement "__overflow(p_Var4,(uint)bVar1);" (call_expression "__overflow(p_Var4,(uint)bVar1)" identifier (argument_list "(p_Var4,(uint)bVar1)" ( identifier , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) }))) (expression_statement "pbVar10 = pbVar11;" (assignment_expression "pbVar10 = pbVar11" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar11 != pbVar3 + iVar7)" ( (binary_expression "pbVar11 != pbVar3 + iVar7" identifier != (binary_expression "pbVar3 + iVar7" identifier + identifier)) )) ;) (expression_statement "iVar7 = local_28->length;" (assignment_expression "iVar7 = local_28->length" identifier = (field_expression "local_28->length" identifier -> field_identifier)) ;) })) (expression_statement "last_line_length = iVar7 + out_column;" (assignment_expression "last_line_length = iVar7 + out_column" identifier = (binary_expression "iVar7 + out_column" identifier + identifier)) ;) (expression_statement "p_Var4 = *(_IO_FILE **)puVar6;" (assignment_expression "p_Var4 = *(_IO_FILE **)puVar6" identifier = (pointer_expression "*(_IO_FILE **)puVar6" * (cast_expression "(_IO_FILE **)puVar6" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar5 = p_Var4->_IO_write_ptr;" (assignment_expression "pcVar5 = p_Var4->_IO_write_ptr" identifier = (field_expression "p_Var4->_IO_write_ptr" identifier -> field_identifier)) ;) (expression_statement "out_column = last_line_length;" (assignment_expression "out_column = last_line_length" identifier = identifier) ;) (if_statement "if (pcVar5 < p_Var4->_IO_write_end) {\n    p_Var4->_IO_write_ptr = pcVar5 + 1;\n    *pcVar5 = '\n';\n  }\n  else {\n    __overflow(p_Var4,10);\n  }" if (parenthesized_expression "(pcVar5 < p_Var4->_IO_write_end)" ( (binary_expression "pcVar5 < p_Var4->_IO_write_end" identifier < (field_expression "p_Var4->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n    p_Var4->_IO_write_ptr = pcVar5 + 1;\n    *pcVar5 = '\n';\n  }" { (expression_statement "p_Var4->_IO_write_ptr = pcVar5 + 1;" (assignment_expression "p_Var4->_IO_write_ptr = pcVar5 + 1" (field_expression "p_Var4->_IO_write_ptr" identifier -> field_identifier) = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar5 = '\n';" (assignment_expression "*pcVar5 = '\n'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }) (else_clause "else {\n    __overflow(p_Var4,10);\n  }" else (compound_statement "{\n    __overflow(p_Var4,10);\n  }" { (expression_statement "__overflow(p_Var4,10);" (call_expression "__overflow(p_Var4,10)" identifier (argument_list "(p_Var4,10)" ( identifier , number_literal ))) ;) }))) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 FUN_000120e0(undefined4 *param_1)\n\n{\n  byte bVar1;\n  byte *pbVar2;\n  _IO_FILE *p_Var3;\n  char *pcVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  int iVar10;\n  undefined4 *local_28;\n  \n  DAT_000262a8 = 0;\n  FUN_00011fd0();\n  puVar5 = PTR_stdout_0001dfd4;\n  fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4);\n  DAT_000262a8 = DAT_000262b4 + DAT_000262a8;\n  FUN_00011fd0();\n  iVar10 = param_1[6];\n  local_28 = (undefined4 *)(iVar10 + -0x1c);\n  puVar7 = param_1;\n  if (param_1 != local_28) {\n    do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);\n    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;\n  }\n  iVar10 = local_28[1];\n  pbVar2 = (byte *)*local_28;\n  if (iVar10 != 0) {\n    pbVar8 = pbVar2;\n    do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);\n    iVar10 = local_28[1];\n  }\n  DAT_0001e180 = iVar10 + DAT_000262a8;\n  p_Var3 = *(_IO_FILE **)puVar5;\n  pcVar4 = p_Var3->_IO_write_ptr;\n  DAT_000262a8 = DAT_0001e180;\n  if (pcVar4 < p_Var3->_IO_write_end) {\n    p_Var3->_IO_write_ptr = pcVar4 + 1;\n    *pcVar4 = '\n';\n  }\n  else {\n    __overflow(p_Var3,10);\n  }\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_000120e0(undefined4 *param_1)\n\n{\n  byte bVar1;\n  byte *pbVar2;\n  _IO_FILE *p_Var3;\n  char *pcVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  int iVar10;\n  undefined4 *local_28;\n  \n  DAT_000262a8 = 0;\n  FUN_00011fd0();\n  puVar5 = PTR_stdout_0001dfd4;\n  fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4);\n  DAT_000262a8 = DAT_000262b4 + DAT_000262a8;\n  FUN_00011fd0();\n  iVar10 = param_1[6];\n  local_28 = (undefined4 *)(iVar10 + -0x1c);\n  puVar7 = param_1;\n  if (param_1 != local_28) {\n    do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);\n    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;\n  }\n  iVar10 = local_28[1];\n  pbVar2 = (byte *)*local_28;\n  if (iVar10 != 0) {\n    pbVar8 = pbVar2;\n    do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);\n    iVar10 = local_28[1];\n  }\n  DAT_0001e180 = iVar10 + DAT_000262a8;\n  p_Var3 = *(_IO_FILE **)puVar5;\n  pcVar4 = p_Var3->_IO_write_ptr;\n  DAT_000262a8 = DAT_0001e180;\n  if (pcVar4 < p_Var3->_IO_write_end) {\n    p_Var3->_IO_write_ptr = pcVar4 + 1;\n    *pcVar4 = '\n';\n  }\n  else {\n    __overflow(p_Var3,10);\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000120e0(undefined4 *param_1)" identifier (parameter_list "(undefined4 *param_1)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  byte *pbVar2;\n  _IO_FILE *p_Var3;\n  char *pcVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  int iVar10;\n  undefined4 *local_28;\n  \n  DAT_000262a8 = 0;\n  FUN_00011fd0();\n  puVar5 = PTR_stdout_0001dfd4;\n  fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4);\n  DAT_000262a8 = DAT_000262b4 + DAT_000262a8;\n  FUN_00011fd0();\n  iVar10 = param_1[6];\n  local_28 = (undefined4 *)(iVar10 + -0x1c);\n  puVar7 = param_1;\n  if (param_1 != local_28) {\n    do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);\n    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;\n  }\n  iVar10 = local_28[1];\n  pbVar2 = (byte *)*local_28;\n  if (iVar10 != 0) {\n    pbVar8 = pbVar2;\n    do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);\n    iVar10 = local_28[1];\n  }\n  DAT_0001e180 = iVar10 + DAT_000262a8;\n  p_Var3 = *(_IO_FILE **)puVar5;\n  pcVar4 = p_Var3->_IO_write_ptr;\n  DAT_000262a8 = DAT_0001e180;\n  if (pcVar4 < p_Var3->_IO_write_end) {\n    p_Var3->_IO_write_ptr = pcVar4 + 1;\n    *pcVar4 = '\n';\n  }\n  else {\n    __overflow(p_Var3,10);\n  }\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "_IO_FILE *p_Var3;" type_identifier (pointer_declarator "*p_Var3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined4 *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (expression_statement "DAT_000262a8 = 0;" (assignment_expression "DAT_000262a8 = 0" identifier = number_literal) ;) (expression_statement "FUN_00011fd0();" (call_expression "FUN_00011fd0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar5 = PTR_stdout_0001dfd4;" (assignment_expression "puVar5 = PTR_stdout_0001dfd4" identifier = identifier) ;) (expression_statement "fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4);" (call_expression "fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4)" identifier (argument_list "(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4)" ( identifier , (pointer_expression "*(FILE **)PTR_stdout_0001dfd4" * (cast_expression "(FILE **)PTR_stdout_0001dfd4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "DAT_000262a8 = DAT_000262b4 + DAT_000262a8;" (assignment_expression "DAT_000262a8 = DAT_000262b4 + DAT_000262a8" identifier = (binary_expression "DAT_000262b4 + DAT_000262a8" identifier + identifier)) ;) (expression_statement "FUN_00011fd0();" (call_expression "FUN_00011fd0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar10 = param_1[6];" (assignment_expression "iVar10 = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "local_28 = (undefined4 *)(iVar10 + -0x1c);" (assignment_expression "local_28 = (undefined4 *)(iVar10 + -0x1c)" identifier = (cast_expression "(undefined4 *)(iVar10 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x1c)" ( (binary_expression "iVar10 + -0x1c" identifier + number_literal) )))) ;) (expression_statement "puVar7 = param_1;" (assignment_expression "puVar7 = param_1" identifier = identifier) ;) (if_statement "if (param_1 != local_28) {\n    do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);\n    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;\n  }" if (parenthesized_expression "(param_1 != local_28)" ( (binary_expression "param_1 != local_28" identifier != identifier) )) (compound_statement "{\n    do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);\n    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;\n  }" { (do_statement "do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);" do (compound_statement "{\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    }" { (expression_statement "iVar6 = puVar7[1];" (assignment_expression "iVar6 = puVar7[1]" identifier = (subscript_expression "puVar7[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar2 = (byte *)*puVar7;" (assignment_expression "pbVar2 = (byte *)*puVar7" identifier = (cast_expression "(byte *)*puVar7" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) ;) (if_statement "if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }" { (expression_statement "pbVar8 = pbVar2;" (assignment_expression "pbVar8 = pbVar2" identifier = identifier) ;) (do_statement "do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);" do (compound_statement "{\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        }" { (expression_statement "pbVar9 = pbVar8 + 1;" (assignment_expression "pbVar9 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "p_Var3 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var3 = *(_IO_FILE **)puVar5" identifier = (pointer_expression "*(_IO_FILE **)puVar5" * (cast_expression "(_IO_FILE **)puVar5" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar8 = (byte *)p_Var3->_IO_write_ptr;" (assignment_expression "pbVar8 = (byte *)p_Var3->_IO_write_ptr" identifier = (cast_expression "(byte *)p_Var3->_IO_write_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var3->_IO_write_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }" if (parenthesized_expression "(pbVar8 < p_Var3->_IO_write_end)" ( (binary_expression "pbVar8 < p_Var3->_IO_write_end" identifier < (field_expression "p_Var3->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }" { (expression_statement "p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);" (assignment_expression "p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1)" (field_expression "p_Var3->_IO_write_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar8 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + 1)" ( (binary_expression "pbVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "*pbVar8 = bVar1;" (assignment_expression "*pbVar8 = bVar1" (pointer_expression "*pbVar8" * identifier) = identifier) ;) }) (else_clause "else {\n            __overflow(p_Var3,(uint)bVar1);\n          }" else (compound_statement "{\n            __overflow(p_Var3,(uint)bVar1);\n          }" { (expression_statement "__overflow(p_Var3,(uint)bVar1);" (call_expression "__overflow(p_Var3,(uint)bVar1)" identifier (argument_list "(p_Var3,(uint)bVar1)" ( identifier , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) }))) (expression_statement "pbVar8 = pbVar9;" (assignment_expression "pbVar8 = pbVar9" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar9 != pbVar2 + iVar6)" ( (binary_expression "pbVar9 != pbVar2 + iVar6" identifier != (binary_expression "pbVar2 + iVar6" identifier + identifier)) )) ;) (expression_statement "iVar6 = puVar7[1];" (assignment_expression "iVar6 = puVar7[1]" identifier = (subscript_expression "puVar7[1]" identifier [ number_literal ])) ;) })) (expression_statement "DAT_000262a8 = DAT_000262a8 + iVar6;" (assignment_expression "DAT_000262a8 = DAT_000262a8 + iVar6" identifier = (binary_expression "DAT_000262a8 + iVar6" identifier + identifier)) ;) (expression_statement "puVar7 = puVar7 + 7;" (assignment_expression "puVar7 = puVar7 + 7" identifier = (binary_expression "puVar7 + 7" identifier + number_literal)) ;) (expression_statement "FUN_00011fd0();" (call_expression "FUN_00011fd0()" identifier (argument_list "()" ( ))) ;) }) while (parenthesized_expression "(local_28 != puVar7)" ( (binary_expression "local_28 != puVar7" identifier != identifier) )) ;) (expression_statement "local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;" (assignment_expression "local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7" identifier = (binary_expression "param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7" identifier + (binary_expression "((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7" (parenthesized_expression "((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1)" ( (binary_expression "(((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1" (parenthesized_expression "(((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff)" ( (binary_expression "((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff" (binary_expression "((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7" (parenthesized_expression "((iVar10 - (int)param_1) - 0x38U >> 2)" ( (binary_expression "(iVar10 - (int)param_1) - 0x38U >> 2" (binary_expression "(iVar10 - (int)param_1) - 0x38U" (parenthesized_expression "(iVar10 - (int)param_1)" ( (binary_expression "iVar10 - (int)param_1" identifier - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) >> number_literal) )) * number_literal) & number_literal) )) + number_literal) )) * number_literal))) ;) })) (expression_statement "iVar10 = local_28[1];" (assignment_expression "iVar10 = local_28[1]" identifier = (subscript_expression "local_28[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar2 = (byte *)*local_28;" (assignment_expression "pbVar2 = (byte *)*local_28" identifier = (cast_expression "(byte *)*local_28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_28" * identifier))) ;) (if_statement "if (iVar10 != 0) {\n    pbVar8 = pbVar2;\n    do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);\n    iVar10 = local_28[1];\n  }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n    pbVar8 = pbVar2;\n    do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);\n    iVar10 = local_28[1];\n  }" { (expression_statement "pbVar8 = pbVar2;" (assignment_expression "pbVar8 = pbVar2" identifier = identifier) ;) (do_statement "do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);" do (compound_statement "{\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    }" { (expression_statement "pbVar9 = pbVar8 + 1;" (assignment_expression "pbVar9 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "p_Var3 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var3 = *(_IO_FILE **)puVar5" identifier = (pointer_expression "*(_IO_FILE **)puVar5" * (cast_expression "(_IO_FILE **)puVar5" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar8 = (byte *)p_Var3->_IO_write_ptr;" (assignment_expression "pbVar8 = (byte *)p_Var3->_IO_write_ptr" identifier = (cast_expression "(byte *)p_Var3->_IO_write_ptr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var3->_IO_write_ptr" identifier -> field_identifier))) ;) (if_statement "if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }" if (parenthesized_expression "(pbVar8 < p_Var3->_IO_write_end)" ( (binary_expression "pbVar8 < p_Var3->_IO_write_end" identifier < (field_expression "p_Var3->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }" { (expression_statement "p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);" (assignment_expression "p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1)" (field_expression "p_Var3->_IO_write_ptr" identifier -> field_identifier) = (cast_expression "(char *)(pbVar8 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + 1)" ( (binary_expression "pbVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "*pbVar8 = bVar1;" (assignment_expression "*pbVar8 = bVar1" (pointer_expression "*pbVar8" * identifier) = identifier) ;) }) (else_clause "else {\n        __overflow(p_Var3,(uint)bVar1);\n      }" else (compound_statement "{\n        __overflow(p_Var3,(uint)bVar1);\n      }" { (expression_statement "__overflow(p_Var3,(uint)bVar1);" (call_expression "__overflow(p_Var3,(uint)bVar1)" identifier (argument_list "(p_Var3,(uint)bVar1)" ( identifier , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) }))) (expression_statement "pbVar8 = pbVar9;" (assignment_expression "pbVar8 = pbVar9" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar9 != pbVar2 + iVar10)" ( (binary_expression "pbVar9 != pbVar2 + iVar10" identifier != (binary_expression "pbVar2 + iVar10" identifier + identifier)) )) ;) (expression_statement "iVar10 = local_28[1];" (assignment_expression "iVar10 = local_28[1]" identifier = (subscript_expression "local_28[1]" identifier [ number_literal ])) ;) })) (expression_statement "DAT_0001e180 = iVar10 + DAT_000262a8;" (assignment_expression "DAT_0001e180 = iVar10 + DAT_000262a8" identifier = (binary_expression "iVar10 + DAT_000262a8" identifier + identifier)) ;) (expression_statement "p_Var3 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var3 = *(_IO_FILE **)puVar5" identifier = (pointer_expression "*(_IO_FILE **)puVar5" * (cast_expression "(_IO_FILE **)puVar5" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar4 = p_Var3->_IO_write_ptr;" (assignment_expression "pcVar4 = p_Var3->_IO_write_ptr" identifier = (field_expression "p_Var3->_IO_write_ptr" identifier -> field_identifier)) ;) (expression_statement "DAT_000262a8 = DAT_0001e180;" (assignment_expression "DAT_000262a8 = DAT_0001e180" identifier = identifier) ;) (if_statement "if (pcVar4 < p_Var3->_IO_write_end) {\n    p_Var3->_IO_write_ptr = pcVar4 + 1;\n    *pcVar4 = '\n';\n  }\n  else {\n    __overflow(p_Var3,10);\n  }" if (parenthesized_expression "(pcVar4 < p_Var3->_IO_write_end)" ( (binary_expression "pcVar4 < p_Var3->_IO_write_end" identifier < (field_expression "p_Var3->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n    p_Var3->_IO_write_ptr = pcVar4 + 1;\n    *pcVar4 = '\n';\n  }" { (expression_statement "p_Var3->_IO_write_ptr = pcVar4 + 1;" (assignment_expression "p_Var3->_IO_write_ptr = pcVar4 + 1" (field_expression "p_Var3->_IO_write_ptr" identifier -> field_identifier) = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar4 = '\n';" (assignment_expression "*pcVar4 = '\n'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }) (else_clause "else {\n    __overflow(p_Var3,10);\n  }" else (compound_statement "{\n    __overflow(p_Var3,10);\n  }" { (expression_statement "__overflow(p_Var3,10);" (call_expression "__overflow(p_Var3,10)" identifier (argument_list "(p_Var3,10)" ( identifier , number_literal ))) ;) }))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (field_expression IDENT -> field_identifier)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - LIT) >> LIT) )) * LIT) & LIT) )) + LIT) )) * LIT))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (field_expression IDENT -> field_identifier)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (field_expression IDENT -> field_identifier)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) }))) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_000120e0(undefined4 *param_1)\n\n{\n  byte bVar1;\n  byte *pbVar2;\n  _IO_FILE *p_Var3;\n  char *pcVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  int iVar10;\n  undefined4 *local_28;\n  \n  DAT_000262a8 = 0;\n  FUN_00011fd0();\n  puVar5 = PTR_stdout_0001dfd4;\n  fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4);\n  DAT_000262a8 = DAT_000262b4 + DAT_000262a8;\n  FUN_00011fd0();\n  iVar10 = param_1[6];\n  local_28 = (undefined4 *)(iVar10 + -0x1c);\n  puVar7 = param_1;\n  if (param_1 != local_28) {\n    do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);\n    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;\n  }\n  iVar10 = local_28[1];\n  pbVar2 = (byte *)*local_28;\n  if (iVar10 != 0) {\n    pbVar8 = pbVar2;\n    do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);\n    iVar10 = local_28[1];\n  }\n  DAT_0001e180 = iVar10 + DAT_000262a8;\n  p_Var3 = *(_IO_FILE **)puVar5;\n  pcVar4 = p_Var3->_IO_write_ptr;\n  DAT_000262a8 = DAT_0001e180;\n  if (pcVar4 < p_Var3->_IO_write_end) {\n    p_Var3->_IO_write_ptr = pcVar4 + 1;\n    *pcVar4 = '\n';\n  }\n  else {\n    __overflow(p_Var3,10);\n  }\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000120e0(undefined4 *param_1)" (identifier "FUN_000120e0") (parameter_list "(undefined4 *param_1)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  byte *pbVar2;\n  _IO_FILE *p_Var3;\n  char *pcVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  int iVar10;\n  undefined4 *local_28;\n  \n  DAT_000262a8 = 0;\n  FUN_00011fd0();\n  puVar5 = PTR_stdout_0001dfd4;\n  fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4);\n  DAT_000262a8 = DAT_000262b4 + DAT_000262a8;\n  FUN_00011fd0();\n  iVar10 = param_1[6];\n  local_28 = (undefined4 *)(iVar10 + -0x1c);\n  puVar7 = param_1;\n  if (param_1 != local_28) {\n    do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);\n    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;\n  }\n  iVar10 = local_28[1];\n  pbVar2 = (byte *)*local_28;\n  if (iVar10 != 0) {\n    pbVar8 = pbVar2;\n    do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);\n    iVar10 = local_28[1];\n  }\n  DAT_0001e180 = iVar10 + DAT_000262a8;\n  p_Var3 = *(_IO_FILE **)puVar5;\n  pcVar4 = p_Var3->_IO_write_ptr;\n  DAT_000262a8 = DAT_0001e180;\n  if (pcVar4 < p_Var3->_IO_write_end) {\n    p_Var3->_IO_write_ptr = pcVar4 + 1;\n    *pcVar4 = '\n';\n  }\n  else {\n    __overflow(p_Var3,10);\n  }\n  return;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "byte *pbVar2;" (type_identifier "byte") (pointer_declarator "*pbVar2" (* "*") (identifier "pbVar2")) (; ";")) (declaration "_IO_FILE *p_Var3;" (type_identifier "_IO_FILE") (pointer_declarator "*p_Var3" (* "*") (identifier "p_Var3")) (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "undefined4 *local_28;" (type_identifier "undefined4") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (expression_statement "DAT_000262a8 = 0;" (assignment_expression "DAT_000262a8 = 0" (identifier "DAT_000262a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00011fd0();" (call_expression "FUN_00011fd0()" (identifier "FUN_00011fd0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar5 = PTR_stdout_0001dfd4;" (assignment_expression "puVar5 = PTR_stdout_0001dfd4" (identifier "puVar5") (= "=") (identifier "PTR_stdout_0001dfd4")) (; ";")) (expression_statement "fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4);" (call_expression "fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4)" (identifier "fputs_unlocked") (argument_list "(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4)" (( "(") (identifier "DAT_000262c4") (, ",") (pointer_expression "*(FILE **)PTR_stdout_0001dfd4" (* "*") (cast_expression "(FILE **)PTR_stdout_0001dfd4" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_0001dfd4"))) () ")"))) (; ";")) (expression_statement "DAT_000262a8 = DAT_000262b4 + DAT_000262a8;" (assignment_expression "DAT_000262a8 = DAT_000262b4 + DAT_000262a8" (identifier "DAT_000262a8") (= "=") (binary_expression "DAT_000262b4 + DAT_000262a8" (identifier "DAT_000262b4") (+ "+") (identifier "DAT_000262a8"))) (; ";")) (expression_statement "FUN_00011fd0();" (call_expression "FUN_00011fd0()" (identifier "FUN_00011fd0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar10 = param_1[6];" (assignment_expression "iVar10 = param_1[6]" (identifier "iVar10") (= "=") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "local_28 = (undefined4 *)(iVar10 + -0x1c);" (assignment_expression "local_28 = (undefined4 *)(iVar10 + -0x1c)" (identifier "local_28") (= "=") (cast_expression "(undefined4 *)(iVar10 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + -0x1c)" (( "(") (binary_expression "iVar10 + -0x1c" (identifier "iVar10") (+ "+") (number_literal "-0x1c")) () ")")))) (; ";")) (expression_statement "puVar7 = param_1;" (assignment_expression "puVar7 = param_1" (identifier "puVar7") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (param_1 != local_28) {\n    do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);\n    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;\n  }" (if "if") (parenthesized_expression "(param_1 != local_28)" (( "(") (binary_expression "param_1 != local_28" (identifier "param_1") (!= "!=") (identifier "local_28")) () ")")) (compound_statement "{\n    do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);\n    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;\n  }" ({ "{") (do_statement "do {\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    } while (local_28 != puVar7);" (do "do") (compound_statement "{\n      iVar6 = puVar7[1];\n      pbVar2 = (byte *)*puVar7;\n      if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }\n      DAT_000262a8 = DAT_000262a8 + iVar6;\n      puVar7 = puVar7 + 7;\n      FUN_00011fd0();\n    }" ({ "{") (expression_statement "iVar6 = puVar7[1];" (assignment_expression "iVar6 = puVar7[1]" (identifier "iVar6") (= "=") (subscript_expression "puVar7[1]" (identifier "puVar7") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pbVar2 = (byte *)*puVar7;" (assignment_expression "pbVar2 = (byte *)*puVar7" (identifier "pbVar2") (= "=") (cast_expression "(byte *)*puVar7" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar7" (* "*") (identifier "puVar7")))) (; ";")) (if_statement "if (iVar6 != 0) {\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pbVar8 = pbVar2;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);\n        iVar6 = puVar7[1];\n      }" ({ "{") (expression_statement "pbVar8 = pbVar2;" (assignment_expression "pbVar8 = pbVar2" (identifier "pbVar8") (= "=") (identifier "pbVar2")) (; ";")) (do_statement "do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        } while (pbVar9 != pbVar2 + iVar6);" (do "do") (compound_statement "{\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          p_Var3 = *(_IO_FILE **)puVar5;\n          pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n          if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }\n          pbVar8 = pbVar9;\n        }" ({ "{") (expression_statement "pbVar9 = pbVar8 + 1;" (assignment_expression "pbVar9 = pbVar8 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" (identifier "bVar1") (= "=") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8"))) (; ";")) (expression_statement "p_Var3 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var3 = *(_IO_FILE **)puVar5" (identifier "p_Var3") (= "=") (pointer_expression "*(_IO_FILE **)puVar5" (* "*") (cast_expression "(_IO_FILE **)puVar5" (( "(") (type_descriptor "_IO_FILE **" (type_identifier "_IO_FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5")))) (; ";")) (expression_statement "pbVar8 = (byte *)p_Var3->_IO_write_ptr;" (assignment_expression "pbVar8 = (byte *)p_Var3->_IO_write_ptr" (identifier "pbVar8") (= "=") (cast_expression "(byte *)p_Var3->_IO_write_ptr" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "p_Var3->_IO_write_ptr" (identifier "p_Var3") (-> "->") (field_identifier "_IO_write_ptr")))) (; ";")) (if_statement "if (pbVar8 < p_Var3->_IO_write_end) {\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }\n          else {\n            __overflow(p_Var3,(uint)bVar1);\n          }" (if "if") (parenthesized_expression "(pbVar8 < p_Var3->_IO_write_end)" (( "(") (binary_expression "pbVar8 < p_Var3->_IO_write_end" (identifier "pbVar8") (< "<") (field_expression "p_Var3->_IO_write_end" (identifier "p_Var3") (-> "->") (field_identifier "_IO_write_end"))) () ")")) (compound_statement "{\n            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n            *pbVar8 = bVar1;\n          }" ({ "{") (expression_statement "p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);" (assignment_expression "p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1)" (field_expression "p_Var3->_IO_write_ptr" (identifier "p_Var3") (-> "->") (field_identifier "_IO_write_ptr")) (= "=") (cast_expression "(char *)(pbVar8 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar8 + 1)" (( "(") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*pbVar8 = bVar1;" (assignment_expression "*pbVar8 = bVar1" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (= "=") (identifier "bVar1")) (; ";")) (} "}")) (else_clause "else {\n            __overflow(p_Var3,(uint)bVar1);\n          }" (else "else") (compound_statement "{\n            __overflow(p_Var3,(uint)bVar1);\n          }" ({ "{") (expression_statement "__overflow(p_Var3,(uint)bVar1);" (call_expression "__overflow(p_Var3,(uint)bVar1)" (identifier "__overflow") (argument_list "(p_Var3,(uint)bVar1)" (( "(") (identifier "p_Var3") (, ",") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) () ")"))) (; ";")) (} "}")))) (expression_statement "pbVar8 = pbVar9;" (assignment_expression "pbVar8 = pbVar9" (identifier "pbVar8") (= "=") (identifier "pbVar9")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar9 != pbVar2 + iVar6)" (( "(") (binary_expression "pbVar9 != pbVar2 + iVar6" (identifier "pbVar9") (!= "!=") (binary_expression "pbVar2 + iVar6" (identifier "pbVar2") (+ "+") (identifier "iVar6"))) () ")")) (; ";")) (expression_statement "iVar6 = puVar7[1];" (assignment_expression "iVar6 = puVar7[1]" (identifier "iVar6") (= "=") (subscript_expression "puVar7[1]" (identifier "puVar7") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (expression_statement "DAT_000262a8 = DAT_000262a8 + iVar6;" (assignment_expression "DAT_000262a8 = DAT_000262a8 + iVar6" (identifier "DAT_000262a8") (= "=") (binary_expression "DAT_000262a8 + iVar6" (identifier "DAT_000262a8") (+ "+") (identifier "iVar6"))) (; ";")) (expression_statement "puVar7 = puVar7 + 7;" (assignment_expression "puVar7 = puVar7 + 7" (identifier "puVar7") (= "=") (binary_expression "puVar7 + 7" (identifier "puVar7") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "FUN_00011fd0();" (call_expression "FUN_00011fd0()" (identifier "FUN_00011fd0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_28 != puVar7)" (( "(") (binary_expression "local_28 != puVar7" (identifier "local_28") (!= "!=") (identifier "puVar7")) () ")")) (; ";")) (expression_statement "local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7;" (assignment_expression "local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7" (identifier "local_28") (= "=") (binary_expression "param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7" (identifier "param_1") (+ "+") (binary_expression "((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *\n                         7" (parenthesized_expression "((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1)" (( "(") (binary_expression "(((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1" (parenthesized_expression "(((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff)" (( "(") (binary_expression "((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff" (binary_expression "((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7" (parenthesized_expression "((iVar10 - (int)param_1) - 0x38U >> 2)" (( "(") (binary_expression "(iVar10 - (int)param_1) - 0x38U >> 2" (binary_expression "(iVar10 - (int)param_1) - 0x38U" (parenthesized_expression "(iVar10 - (int)param_1)" (( "(") (binary_expression "iVar10 - (int)param_1" (identifier "iVar10") (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")")) (- "-") (number_literal "0x38U")) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "0x36db6db7")) (& "&") (number_literal "0x3fffffff")) () ")")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "7")))) (; ";")) (} "}"))) (expression_statement "iVar10 = local_28[1];" (assignment_expression "iVar10 = local_28[1]" (identifier "iVar10") (= "=") (subscript_expression "local_28[1]" (identifier "local_28") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pbVar2 = (byte *)*local_28;" (assignment_expression "pbVar2 = (byte *)*local_28" (identifier "pbVar2") (= "=") (cast_expression "(byte *)*local_28" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_28" (* "*") (identifier "local_28")))) (; ";")) (if_statement "if (iVar10 != 0) {\n    pbVar8 = pbVar2;\n    do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);\n    iVar10 = local_28[1];\n  }" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    pbVar8 = pbVar2;\n    do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);\n    iVar10 = local_28[1];\n  }" ({ "{") (expression_statement "pbVar8 = pbVar2;" (assignment_expression "pbVar8 = pbVar2" (identifier "pbVar8") (= "=") (identifier "pbVar2")) (; ";")) (do_statement "do {\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    } while (pbVar9 != pbVar2 + iVar10);" (do "do") (compound_statement "{\n      pbVar9 = pbVar8 + 1;\n      bVar1 = *pbVar8;\n      p_Var3 = *(_IO_FILE **)puVar5;\n      pbVar8 = (byte *)p_Var3->_IO_write_ptr;\n      if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }\n      pbVar8 = pbVar9;\n    }" ({ "{") (expression_statement "pbVar9 = pbVar8 + 1;" (assignment_expression "pbVar9 = pbVar8 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" (identifier "bVar1") (= "=") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8"))) (; ";")) (expression_statement "p_Var3 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var3 = *(_IO_FILE **)puVar5" (identifier "p_Var3") (= "=") (pointer_expression "*(_IO_FILE **)puVar5" (* "*") (cast_expression "(_IO_FILE **)puVar5" (( "(") (type_descriptor "_IO_FILE **" (type_identifier "_IO_FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5")))) (; ";")) (expression_statement "pbVar8 = (byte *)p_Var3->_IO_write_ptr;" (assignment_expression "pbVar8 = (byte *)p_Var3->_IO_write_ptr" (identifier "pbVar8") (= "=") (cast_expression "(byte *)p_Var3->_IO_write_ptr" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "p_Var3->_IO_write_ptr" (identifier "p_Var3") (-> "->") (field_identifier "_IO_write_ptr")))) (; ";")) (if_statement "if (pbVar8 < p_Var3->_IO_write_end) {\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }\n      else {\n        __overflow(p_Var3,(uint)bVar1);\n      }" (if "if") (parenthesized_expression "(pbVar8 < p_Var3->_IO_write_end)" (( "(") (binary_expression "pbVar8 < p_Var3->_IO_write_end" (identifier "pbVar8") (< "<") (field_expression "p_Var3->_IO_write_end" (identifier "p_Var3") (-> "->") (field_identifier "_IO_write_end"))) () ")")) (compound_statement "{\n        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);\n        *pbVar8 = bVar1;\n      }" ({ "{") (expression_statement "p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);" (assignment_expression "p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1)" (field_expression "p_Var3->_IO_write_ptr" (identifier "p_Var3") (-> "->") (field_identifier "_IO_write_ptr")) (= "=") (cast_expression "(char *)(pbVar8 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar8 + 1)" (( "(") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*pbVar8 = bVar1;" (assignment_expression "*pbVar8 = bVar1" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (= "=") (identifier "bVar1")) (; ";")) (} "}")) (else_clause "else {\n        __overflow(p_Var3,(uint)bVar1);\n      }" (else "else") (compound_statement "{\n        __overflow(p_Var3,(uint)bVar1);\n      }" ({ "{") (expression_statement "__overflow(p_Var3,(uint)bVar1);" (call_expression "__overflow(p_Var3,(uint)bVar1)" (identifier "__overflow") (argument_list "(p_Var3,(uint)bVar1)" (( "(") (identifier "p_Var3") (, ",") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) () ")"))) (; ";")) (} "}")))) (expression_statement "pbVar8 = pbVar9;" (assignment_expression "pbVar8 = pbVar9" (identifier "pbVar8") (= "=") (identifier "pbVar9")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar9 != pbVar2 + iVar10)" (( "(") (binary_expression "pbVar9 != pbVar2 + iVar10" (identifier "pbVar9") (!= "!=") (binary_expression "pbVar2 + iVar10" (identifier "pbVar2") (+ "+") (identifier "iVar10"))) () ")")) (; ";")) (expression_statement "iVar10 = local_28[1];" (assignment_expression "iVar10 = local_28[1]" (identifier "iVar10") (= "=") (subscript_expression "local_28[1]" (identifier "local_28") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (expression_statement "DAT_0001e180 = iVar10 + DAT_000262a8;" (assignment_expression "DAT_0001e180 = iVar10 + DAT_000262a8" (identifier "DAT_0001e180") (= "=") (binary_expression "iVar10 + DAT_000262a8" (identifier "iVar10") (+ "+") (identifier "DAT_000262a8"))) (; ";")) (expression_statement "p_Var3 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var3 = *(_IO_FILE **)puVar5" (identifier "p_Var3") (= "=") (pointer_expression "*(_IO_FILE **)puVar5" (* "*") (cast_expression "(_IO_FILE **)puVar5" (( "(") (type_descriptor "_IO_FILE **" (type_identifier "_IO_FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5")))) (; ";")) (expression_statement "pcVar4 = p_Var3->_IO_write_ptr;" (assignment_expression "pcVar4 = p_Var3->_IO_write_ptr" (identifier "pcVar4") (= "=") (field_expression "p_Var3->_IO_write_ptr" (identifier "p_Var3") (-> "->") (field_identifier "_IO_write_ptr"))) (; ";")) (expression_statement "DAT_000262a8 = DAT_0001e180;" (assignment_expression "DAT_000262a8 = DAT_0001e180" (identifier "DAT_000262a8") (= "=") (identifier "DAT_0001e180")) (; ";")) (if_statement "if (pcVar4 < p_Var3->_IO_write_end) {\n    p_Var3->_IO_write_ptr = pcVar4 + 1;\n    *pcVar4 = '\n';\n  }\n  else {\n    __overflow(p_Var3,10);\n  }" (if "if") (parenthesized_expression "(pcVar4 < p_Var3->_IO_write_end)" (( "(") (binary_expression "pcVar4 < p_Var3->_IO_write_end" (identifier "pcVar4") (< "<") (field_expression "p_Var3->_IO_write_end" (identifier "p_Var3") (-> "->") (field_identifier "_IO_write_end"))) () ")")) (compound_statement "{\n    p_Var3->_IO_write_ptr = pcVar4 + 1;\n    *pcVar4 = '\n';\n  }" ({ "{") (expression_statement "p_Var3->_IO_write_ptr = pcVar4 + 1;" (assignment_expression "p_Var3->_IO_write_ptr = pcVar4 + 1" (field_expression "p_Var3->_IO_write_ptr" (identifier "p_Var3") (-> "->") (field_identifier "_IO_write_ptr")) (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pcVar4 = '\n';" (assignment_expression "*pcVar4 = '\n'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n    __overflow(p_Var3,10);\n  }" (else "else") (compound_statement "{\n    __overflow(p_Var3,10);\n  }" ({ "{") (expression_statement "__overflow(p_Var3,10);" (call_expression "__overflow(p_Var3,10)" (identifier "__overflow") (argument_list "(p_Var3,10)" (( "(") (identifier "p_Var3") (, ",") (number_literal "10") () ")"))) (; ";")) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void __regparm3 function_1(type_1 *var_7,int var_5)

{
  type_2 bVar1;
  type_1 *var_6;
  type_2 *var_13;
  type_3 *p_Var4;
  char *var_16;
  type_4 *puVar6;
  int var_9;
  type_1 *var_14;
  type_1 *var_15;
  type_2 *var_10;
  type_2 *var_12;
  type_1 *var_8;
  
  var_4 = 0;
  var_1(prefix_indent);
  puVar6 = PTR_stdout_0001dfd4;
  var_2(prefix,*(type_5 **)PTR_stdout_0001dfd4);
  var_4 = var_3 + var_4;
  var_1(var_5 - var_4);
  var_6 = var_7->next_break;
  var_8 = var_6 + -1;
  var_14 = var_7;
  if (var_7 != var_8) {
    do {
      var_9 = var_14->length;
      var_13 = (type_2 *)var_14->text;
      if (var_9 != 0) {
        var_10 = var_13;
        do {
          var_12 = var_10 + 1;
          bVar1 = *var_10;
          p_Var4 = *(type_3 **)puVar6;
          var_10 = (type_2 *)p_Var4->_IO_write_ptr;
          if (var_10 < p_Var4->_IO_write_end) {
            p_Var4->_IO_write_ptr = (char *)(var_10 + 1);
            *var_10 = bVar1;
          }
          else {
            var_11(p_Var4,(type_6)bVar1);
          }
          var_10 = var_12;
        } while (var_12 != var_13 + var_9);
        var_9 = var_14->length;
      }
      var_4 = var_4 + var_9;
      var_15 = var_14 + 1;
      var_1(var_14->space);
      var_14 = var_15;
    } while (var_8 != var_15);
    var_8 = var_7 + (((type_6)((int)var_6 + (-0x38 - (int)var_7)) >> 2) * 0x36db6db7 & 0x3fffffff) + 1;
  }
  var_9 = var_8->length;
  var_13 = (type_2 *)var_8->text;
  if (var_9 != 0) {
    var_10 = var_13;
    do {
      var_12 = var_10 + 1;
      bVar1 = *var_10;
      p_Var4 = *(type_3 **)puVar6;
      var_10 = (type_2 *)p_Var4->_IO_write_ptr;
      if (var_10 < p_Var4->_IO_write_end) {
        p_Var4->_IO_write_ptr = (char *)(var_10 + 1);
        *var_10 = bVar1;
      }
      else {
        var_11(p_Var4,(type_6)bVar1);
      }
      var_10 = var_12;
    } while (var_12 != var_13 + var_9);
    var_9 = var_8->length;
  }
  last_line_length = var_9 + var_4;
  p_Var4 = *(type_3 **)puVar6;
  var_16 = p_Var4->_IO_write_ptr;
  var_4 = last_line_length;
  if (var_16 < p_Var4->_IO_write_end) {
    p_Var4->_IO_write_ptr = var_16 + 1;
    *var_16 = '\n';
  }
  else {
    var_11(p_Var4,10);
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (number_literal)) right: (number_literal))) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_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))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))))) (return_statement))))

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

void __regparm3 MASKED(undefined4 *param_1)

{
  byte bVar1;
  byte *pbVar2;
  _IO_FILE *p_Var3;
  char *pcVar4;
  undefined *puVar5;
  int iVar6;
  undefined4 *puVar7;
  byte *pbVar8;
  byte *pbVar9;
  int iVar10;
  undefined4 *local_28;
  
  DAT_000262a8 = 0;
  FUN_00011fd0();
  puVar5 = PTR_stdout_0001dfd4;
  fputs_unlocked(DAT_000262c4,*(FILE **)PTR_stdout_0001dfd4);
  DAT_000262a8 = DAT_000262b4 + DAT_000262a8;
  FUN_00011fd0();
  iVar10 = param_1[6];
  local_28 = (undefined4 *)(iVar10 + -0x1c);
  puVar7 = param_1;
  if (param_1 != local_28) {
    do {
      iVar6 = puVar7[1];
      pbVar2 = (byte *)*puVar7;
      if (iVar6 != 0) {
        pbVar8 = pbVar2;
        do {
          pbVar9 = pbVar8 + 1;
          bVar1 = *pbVar8;
          p_Var3 = *(_IO_FILE **)puVar5;
          pbVar8 = (byte *)p_Var3->_IO_write_ptr;
          if (pbVar8 < p_Var3->_IO_write_end) {
            p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);
            *pbVar8 = bVar1;
          }
          else {
            __overflow(p_Var3,(uint)bVar1);
          }
          pbVar8 = pbVar9;
        } while (pbVar9 != pbVar2 + iVar6);
        iVar6 = puVar7[1];
      }
      DAT_000262a8 = DAT_000262a8 + iVar6;
      puVar7 = puVar7 + 7;
      FUN_00011fd0();
    } while (local_28 != puVar7);
    local_28 = param_1 + ((((iVar10 - (int)param_1) - 0x38U >> 2) * 0x36db6db7 & 0x3fffffff) + 1) *
                         7;
  }
  iVar10 = local_28[1];
  pbVar2 = (byte *)*local_28;
  if (iVar10 != 0) {
    pbVar8 = pbVar2;
    do {
      pbVar9 = pbVar8 + 1;
      bVar1 = *pbVar8;
      p_Var3 = *(_IO_FILE **)puVar5;
      pbVar8 = (byte *)p_Var3->_IO_write_ptr;
      if (pbVar8 < p_Var3->_IO_write_end) {
        p_Var3->_IO_write_ptr = (char *)(pbVar8 + 1);
        *pbVar8 = bVar1;
      }
      else {
        __overflow(p_Var3,(uint)bVar1);
      }
      pbVar8 = pbVar9;
    } while (pbVar9 != pbVar2 + iVar10);
    iVar10 = local_28[1];
  }
  DAT_0001e180 = iVar10 + DAT_000262a8;
  p_Var3 = *(_IO_FILE **)puVar5;
  pcVar4 = p_Var3->_IO_write_ptr;
  DAT_000262a8 = DAT_0001e180;
  if (pcVar4 < p_Var3->_IO_write_end) {
    p_Var3->_IO_write_ptr = pcVar4 + 1;
    *pcVar4 = '\n';
  }
  else {
    __overflow(p_Var3,10);
  }
  return;
}

