
void do_repeat(size_t count,char *start,char *end)

{
  int iVar1;
  char *pcVar2;
  long lVar3;
  sb one;
  sb many;
  
  if ((long)count < 0) {
    pcVar2 = (char *)dcgettext(0,"negative count for %s - ignored",5);
    as_bad(pcVar2,start);
    sb_new(&one);
    iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);
    if (iVar1 == 0) goto LAB_001283f4;
    sb_build(&many,0);
  }
  else {
    sb_new(&one);
    iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);
    if (iVar1 == 0) {
LAB_001283f4:
      pcVar2 = (char *)dcgettext(0,"%s without %s",5);
      as_bad(pcVar2,start,end);
      return;
    }
    lVar3 = count - 1;
    sb_build(&many,one.len * count);
    if (count != 0) {
      do {
        lVar3 = lVar3 + -1;
        sb_add_sb(&many,&one);
      } while (lVar3 != -1);
    }
  }
  sb_kill(&one);
  input_scrub_include_sb(&many,input_line_pointer,1);
  sb_kill(&many);
  buffer_limit = input_scrub_next_buffer(&input_line_pointer);
  return;
}



void FUN_001282f0(long param_1,undefined8 param_2,undefined8 param_3)

{
  int iVar1;
  undefined8 uVar2;
  long lVar3;
  undefined1 auStack_68 [8];
  long local_60;
  undefined1 local_48 [40];
  
  if (param_1 < 0) {
    uVar2 = dcgettext(0,"negative count for %s - ignored",5);
    FUN_00126580(uVar2,param_2);
    FUN_0012eca0(auStack_68);
    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);
    if (iVar1 == 0) goto LAB_001283f4;
    FUN_0012ec70(local_48,0);
  }
  else {
    FUN_0012eca0(auStack_68);
    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);
    if (iVar1 == 0) {
LAB_001283f4:
      uVar2 = dcgettext(0,"%s without %s",5);
      FUN_00126580(uVar2,param_2,param_3);
      return;
    }
    lVar3 = param_1 + -1;
    FUN_0012ec70(local_48,local_60 * param_1);
    if (param_1 != 0) {
      do {
        lVar3 = lVar3 + -1;
        FUN_0012ece0(local_48,auStack_68);
      } while (lVar3 != -1);
    }
  }
  FUN_0012ecd0(auStack_68);
  FUN_00120ce0(local_48,DAT_00175a40,1);
  FUN_0012ecd0(local_48);
  DAT_00175260 = FUN_00120e00(&DAT_00175a40);
  return;
}


PUSH R13
PUSH R12
MOV R12,RDX
PUSH RBP
PUSH RBX
MOV RBX,RSI
SUB RSP,0x48
TEST RDI,RDI
JS 0x001283b0
MOV RBP,RSP
MOV R13,RDI
MOV RDI,RBP
CALL 0x0012eca0
MOV RDX,RBP
MOV RSI,R12
MOV RDI,RBX
LEA RCX,[0x127350]
CALL 0x00124ce0
TEST EAX,EAX
JZ 0x001283f4
MOV RSI,qword ptr [RSP + 0x8]
LEA R12,[RSP + 0x20]
LEA RBX,[R13 + -0x1]
MOV RDI,R12
IMUL RSI,R13
CALL 0x0012ec70
TEST R13,R13
JZ 0x0012836d
NOP dword ptr [RAX + RAX*0x1]
MOV RSI,RBP
MOV RDI,R12
SUB RBX,0x1
CALL 0x0012ece0
CMP RBX,-0x1
JNZ 0x00128358
MOV RDI,RBP
CALL 0x0012ecd0
MOV RSI,qword ptr [0x00175a40]
MOV EDX,0x1
MOV RDI,R12
CALL 0x00120ce0
MOV RDI,R12
CALL 0x0012ecd0
LEA RDI,[0x175a40]
CALL 0x00120e00
MOV qword ptr [0x00175260],RAX
ADD RSP,0x48
POP RBX
POP RBP
POP R12
POP R13
RET
MOV EDX,0x5
XOR EDI,EDI
LEA RSI,[0x1509b8]
MOV RBP,RSP
CALL 0x001111c0
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00126580
MOV RDI,RBP
CALL 0x0012eca0
MOV RDX,RBP
MOV RSI,R12
MOV RDI,RBX
LEA RCX,[0x127350]
CALL 0x00124ce0
TEST EAX,EAX
JNZ 0x00128428
MOV EDX,0x5
LEA RSI,[0x15136d]
XOR EDI,EDI
CALL 0x001111c0
MOV RDX,R12
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00126580
ADD RSP,0x48
POP RBX
POP RBP
POP R12
POP R13
RET
LEA R12,[RSP + 0x20]
XOR ESI,ESI
MOV RDI,R12
CALL 0x0012ec70
JMP 0x0012836d
(translation_unit "void FUN_001282f0(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined1 auStack_68 [8];\n  long local_60;\n  undefined1 local_48 [40];\n  \n  if (param_1 < 0) {\n    uVar2 = dcgettext(0,"negative count for %s - ignored",5);\n    FUN_00126580(uVar2,param_2);\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) goto LAB_001283f4;\n    FUN_0012ec70(local_48,0);\n  }\n  else {\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }\n  FUN_0012ecd0(auStack_68);\n  FUN_00120ce0(local_48,DAT_00175a40,1);\n  FUN_0012ecd0(local_48);\n  DAT_00175260 = FUN_00120e00(&DAT_00175a40);\n  return;\n}\n\n" (function_definition "void FUN_001282f0(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined1 auStack_68 [8];\n  long local_60;\n  undefined1 local_48 [40];\n  \n  if (param_1 < 0) {\n    uVar2 = dcgettext(0,"negative count for %s - ignored",5);\n    FUN_00126580(uVar2,param_2);\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) goto LAB_001283f4;\n    FUN_0012ec70(local_48,0);\n  }\n  else {\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }\n  FUN_0012ecd0(auStack_68);\n  FUN_00120ce0(local_48,DAT_00175a40,1);\n  FUN_0012ecd0(local_48);\n  DAT_00175260 = FUN_00120e00(&DAT_00175a40);\n  return;\n}" primitive_type (function_declarator "FUN_001282f0(long param_1,undefined8 param_2,undefined8 param_3)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined1 auStack_68 [8];\n  long local_60;\n  undefined1 local_48 [40];\n  \n  if (param_1 < 0) {\n    uVar2 = dcgettext(0,"negative count for %s - ignored",5);\n    FUN_00126580(uVar2,param_2);\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) goto LAB_001283f4;\n    FUN_0012ec70(local_48,0);\n  }\n  else {\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }\n  FUN_0012ecd0(auStack_68);\n  FUN_00120ce0(local_48,DAT_00175a40,1);\n  FUN_0012ecd0(local_48);\n  DAT_00175260 = FUN_00120e00(&DAT_00175a40);\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 auStack_68 [8];" type_identifier (array_declarator "auStack_68 [8]" identifier [ number_literal ]) ;) (declaration "long local_60;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_48 [40];" type_identifier (array_declarator "local_48 [40]" identifier [ number_literal ]) ;) (if_statement "if (param_1 < 0) {\n    uVar2 = dcgettext(0,"negative count for %s - ignored",5);\n    FUN_00126580(uVar2,param_2);\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) goto LAB_001283f4;\n    FUN_0012ec70(local_48,0);\n  }\n  else {\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }" if (parenthesized_expression "(param_1 < 0)" ( (binary_expression "param_1 < 0" identifier < number_literal) )) (compound_statement "{\n    uVar2 = dcgettext(0,"negative count for %s - ignored",5);\n    FUN_00126580(uVar2,param_2);\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) goto LAB_001283f4;\n    FUN_0012ec70(local_48,0);\n  }" { (expression_statement "uVar2 = dcgettext(0,"negative count for %s - ignored",5);" (assignment_expression "uVar2 = dcgettext(0,"negative count for %s - ignored",5)" identifier = (call_expression "dcgettext(0,"negative count for %s - ignored",5)" identifier (argument_list "(0,"negative count for %s - ignored",5)" ( number_literal , (string_literal ""negative count for %s - ignored"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00126580(uVar2,param_2);" (call_expression "FUN_00126580(uVar2,param_2)" identifier (argument_list "(uVar2,param_2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0012eca0(auStack_68);" (call_expression "FUN_0012eca0(auStack_68)" identifier (argument_list "(auStack_68)" ( identifier ))) ;) (expression_statement "iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);" (assignment_expression "iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350)" identifier = (call_expression "FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350)" identifier (argument_list "(param_2,param_3,auStack_68,FUN_00127350)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar1 == 0) goto LAB_001283f4;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001283f4;" goto statement_identifier ;)) (expression_statement "FUN_0012ec70(local_48,0);" (call_expression "FUN_0012ec70(local_48,0)" identifier (argument_list "(local_48,0)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }" else (compound_statement "{\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }" { (expression_statement "FUN_0012eca0(auStack_68);" (call_expression "FUN_0012eca0(auStack_68)" identifier (argument_list "(auStack_68)" ( identifier ))) ;) (expression_statement "iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);" (assignment_expression "iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350)" identifier = (call_expression "FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350)" identifier (argument_list "(param_2,param_3,auStack_68,FUN_00127350)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }" { (labeled_statement "LAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);" statement_identifier : (expression_statement "uVar2 = dcgettext(0,"%s without %s",5);" (assignment_expression "uVar2 = dcgettext(0,"%s without %s",5)" identifier = (call_expression "dcgettext(0,"%s without %s",5)" identifier (argument_list "(0,"%s without %s",5)" ( number_literal , (string_literal ""%s without %s"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_00126580(uVar2,param_2,param_3);" (call_expression "FUN_00126580(uVar2,param_2,param_3)" identifier (argument_list "(uVar2,param_2,param_3)" ( identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "lVar3 = param_1 + -1;" (assignment_expression "lVar3 = param_1 + -1" identifier = (binary_expression "param_1 + -1" identifier + number_literal)) ;) (expression_statement "FUN_0012ec70(local_48,local_60 * param_1);" (call_expression "FUN_0012ec70(local_48,local_60 * param_1)" identifier (argument_list "(local_48,local_60 * param_1)" ( identifier , (binary_expression "local_60 * param_1" identifier * identifier) ))) ;) (if_statement "if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }" { (do_statement "do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);" do (compound_statement "{\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      }" { (expression_statement "lVar3 = lVar3 + -1;" (assignment_expression "lVar3 = lVar3 + -1" identifier = (binary_expression "lVar3 + -1" identifier + number_literal)) ;) (expression_statement "FUN_0012ece0(local_48,auStack_68);" (call_expression "FUN_0012ece0(local_48,auStack_68)" identifier (argument_list "(local_48,auStack_68)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "(lVar3 != -1)" ( (binary_expression "lVar3 != -1" identifier != number_literal) )) ;) })) }))) (expression_statement "FUN_0012ecd0(auStack_68);" (call_expression "FUN_0012ecd0(auStack_68)" identifier (argument_list "(auStack_68)" ( identifier ))) ;) (expression_statement "FUN_00120ce0(local_48,DAT_00175a40,1);" (call_expression "FUN_00120ce0(local_48,DAT_00175a40,1)" identifier (argument_list "(local_48,DAT_00175a40,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "FUN_0012ecd0(local_48);" (call_expression "FUN_0012ecd0(local_48)" identifier (argument_list "(local_48)" ( identifier ))) ;) (expression_statement "DAT_00175260 = FUN_00120e00(&DAT_00175a40);" (assignment_expression "DAT_00175260 = FUN_00120e00(&DAT_00175a40)" identifier = (call_expression "FUN_00120e00(&DAT_00175a40)" identifier (argument_list "(&DAT_00175a40)" ( (pointer_expression "&DAT_00175a40" & identifier) )))) ;) (return_statement "return;" return ;) })))
(translation_unit "void do_repeat(size_t count,char *start,char *end)\n\n{\n  int iVar1;\n  char *pcVar2;\n  long lVar3;\n  sb one;\n  sb many;\n  \n  if ((long)count < 0) {\n    pcVar2 = (char *)dcgettext(0,"negative count for %s - ignored",5);\n    as_bad(pcVar2,start);\n    sb_new(&one);\n    iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);\n    if (iVar1 == 0) goto LAB_001283f4;\n    sb_build(&many,0);\n  }\n  else {\n    sb_new(&one);\n    iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      pcVar2 = (char *)dcgettext(0,"%s without %s",5);\n      as_bad(pcVar2,start,end);\n      return;\n    }\n    lVar3 = count - 1;\n    sb_build(&many,one.len * count);\n    if (count != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        sb_add_sb(&many,&one);\n      } while (lVar3 != -1);\n    }\n  }\n  sb_kill(&one);\n  input_scrub_include_sb(&many,input_line_pointer,1);\n  sb_kill(&many);\n  buffer_limit = input_scrub_next_buffer(&input_line_pointer);\n  return;\n}\n\n" (function_definition "void do_repeat(size_t count,char *start,char *end)\n\n{\n  int iVar1;\n  char *pcVar2;\n  long lVar3;\n  sb one;\n  sb many;\n  \n  if ((long)count < 0) {\n    pcVar2 = (char *)dcgettext(0,"negative count for %s - ignored",5);\n    as_bad(pcVar2,start);\n    sb_new(&one);\n    iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);\n    if (iVar1 == 0) goto LAB_001283f4;\n    sb_build(&many,0);\n  }\n  else {\n    sb_new(&one);\n    iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      pcVar2 = (char *)dcgettext(0,"%s without %s",5);\n      as_bad(pcVar2,start,end);\n      return;\n    }\n    lVar3 = count - 1;\n    sb_build(&many,one.len * count);\n    if (count != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        sb_add_sb(&many,&one);\n      } while (lVar3 != -1);\n    }\n  }\n  sb_kill(&one);\n  input_scrub_include_sb(&many,input_line_pointer,1);\n  sb_kill(&many);\n  buffer_limit = input_scrub_next_buffer(&input_line_pointer);\n  return;\n}" primitive_type (function_declarator "do_repeat(size_t count,char *start,char *end)" identifier (parameter_list "(size_t count,char *start,char *end)" ( (parameter_declaration "size_t count" primitive_type identifier) , (parameter_declaration "char *start" primitive_type (pointer_declarator "*start" * identifier)) , (parameter_declaration "char *end" primitive_type (pointer_declarator "*end" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  char *pcVar2;\n  long lVar3;\n  sb one;\n  sb many;\n  \n  if ((long)count < 0) {\n    pcVar2 = (char *)dcgettext(0,"negative count for %s - ignored",5);\n    as_bad(pcVar2,start);\n    sb_new(&one);\n    iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);\n    if (iVar1 == 0) goto LAB_001283f4;\n    sb_build(&many,0);\n  }\n  else {\n    sb_new(&one);\n    iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      pcVar2 = (char *)dcgettext(0,"%s without %s",5);\n      as_bad(pcVar2,start,end);\n      return;\n    }\n    lVar3 = count - 1;\n    sb_build(&many,one.len * count);\n    if (count != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        sb_add_sb(&many,&one);\n      } while (lVar3 != -1);\n    }\n  }\n  sb_kill(&one);\n  input_scrub_include_sb(&many,input_line_pointer,1);\n  sb_kill(&many);\n  buffer_limit = input_scrub_next_buffer(&input_line_pointer);\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "sb one;" type_identifier identifier ;) (declaration "sb many;" type_identifier identifier ;) (if_statement "if ((long)count < 0) {\n    pcVar2 = (char *)dcgettext(0,"negative count for %s - ignored",5);\n    as_bad(pcVar2,start);\n    sb_new(&one);\n    iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);\n    if (iVar1 == 0) goto LAB_001283f4;\n    sb_build(&many,0);\n  }\n  else {\n    sb_new(&one);\n    iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      pcVar2 = (char *)dcgettext(0,"%s without %s",5);\n      as_bad(pcVar2,start,end);\n      return;\n    }\n    lVar3 = count - 1;\n    sb_build(&many,one.len * count);\n    if (count != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        sb_add_sb(&many,&one);\n      } while (lVar3 != -1);\n    }\n  }" if (parenthesized_expression "((long)count < 0)" ( (binary_expression "(long)count < 0" (cast_expression "(long)count" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) (compound_statement "{\n    pcVar2 = (char *)dcgettext(0,"negative count for %s - ignored",5);\n    as_bad(pcVar2,start);\n    sb_new(&one);\n    iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);\n    if (iVar1 == 0) goto LAB_001283f4;\n    sb_build(&many,0);\n  }" { (expression_statement "pcVar2 = (char *)dcgettext(0,"negative count for %s - ignored",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"negative count for %s - ignored",5)" identifier = (cast_expression "(char *)dcgettext(0,"negative count for %s - ignored",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"negative count for %s - ignored",5)" identifier (argument_list "(0,"negative count for %s - ignored",5)" ( number_literal , (string_literal ""negative count for %s - ignored"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar2,start);" (call_expression "as_bad(pcVar2,start)" identifier (argument_list "(pcVar2,start)" ( identifier , identifier ))) ;) (expression_statement "sb_new(&one);" (call_expression "sb_new(&one)" identifier (argument_list "(&one)" ( (pointer_expression "&one" & identifier) ))) ;) (expression_statement "iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);" (assignment_expression "iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb)" identifier = (call_expression "buffer_and_nest(start,end,&one,get_non_macro_line_sb)" identifier (argument_list "(start,end,&one,get_non_macro_line_sb)" ( identifier , identifier , (pointer_expression "&one" & identifier) , identifier )))) ;) (if_statement "if (iVar1 == 0) goto LAB_001283f4;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001283f4;" goto statement_identifier ;)) (expression_statement "sb_build(&many,0);" (call_expression "sb_build(&many,0)" identifier (argument_list "(&many,0)" ( (pointer_expression "&many" & identifier) , number_literal ))) ;) }) (else_clause "else {\n    sb_new(&one);\n    iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      pcVar2 = (char *)dcgettext(0,"%s without %s",5);\n      as_bad(pcVar2,start,end);\n      return;\n    }\n    lVar3 = count - 1;\n    sb_build(&many,one.len * count);\n    if (count != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        sb_add_sb(&many,&one);\n      } while (lVar3 != -1);\n    }\n  }" else (compound_statement "{\n    sb_new(&one);\n    iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      pcVar2 = (char *)dcgettext(0,"%s without %s",5);\n      as_bad(pcVar2,start,end);\n      return;\n    }\n    lVar3 = count - 1;\n    sb_build(&many,one.len * count);\n    if (count != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        sb_add_sb(&many,&one);\n      } while (lVar3 != -1);\n    }\n  }" { (expression_statement "sb_new(&one);" (call_expression "sb_new(&one)" identifier (argument_list "(&one)" ( (pointer_expression "&one" & identifier) ))) ;) (expression_statement "iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb);" (assignment_expression "iVar1 = buffer_and_nest(start,end,&one,get_non_macro_line_sb)" identifier = (call_expression "buffer_and_nest(start,end,&one,get_non_macro_line_sb)" identifier (argument_list "(start,end,&one,get_non_macro_line_sb)" ( identifier , identifier , (pointer_expression "&one" & identifier) , identifier )))) ;) (if_statement "if (iVar1 == 0) {\nLAB_001283f4:\n      pcVar2 = (char *)dcgettext(0,"%s without %s",5);\n      as_bad(pcVar2,start,end);\n      return;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001283f4:\n      pcVar2 = (char *)dcgettext(0,"%s without %s",5);\n      as_bad(pcVar2,start,end);\n      return;\n    }" { (labeled_statement "LAB_001283f4:\n      pcVar2 = (char *)dcgettext(0,"%s without %s",5);" statement_identifier : (expression_statement "pcVar2 = (char *)dcgettext(0,"%s without %s",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"%s without %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s without %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s without %s",5)" identifier (argument_list "(0,"%s without %s",5)" ( number_literal , (string_literal ""%s without %s"" " string_content ") , number_literal ))))) ;)) (expression_statement "as_bad(pcVar2,start,end);" (call_expression "as_bad(pcVar2,start,end)" identifier (argument_list "(pcVar2,start,end)" ( identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "lVar3 = count - 1;" (assignment_expression "lVar3 = count - 1" identifier = (binary_expression "count - 1" identifier - number_literal)) ;) (expression_statement "sb_build(&many,one.len * count);" (call_expression "sb_build(&many,one.len * count)" identifier (argument_list "(&many,one.len * count)" ( (pointer_expression "&many" & identifier) , (binary_expression "one.len * count" (field_expression "one.len" identifier . field_identifier) * identifier) ))) ;) (if_statement "if (count != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        sb_add_sb(&many,&one);\n      } while (lVar3 != -1);\n    }" if (parenthesized_expression "(count != 0)" ( (binary_expression "count != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        lVar3 = lVar3 + -1;\n        sb_add_sb(&many,&one);\n      } while (lVar3 != -1);\n    }" { (do_statement "do {\n        lVar3 = lVar3 + -1;\n        sb_add_sb(&many,&one);\n      } while (lVar3 != -1);" do (compound_statement "{\n        lVar3 = lVar3 + -1;\n        sb_add_sb(&many,&one);\n      }" { (expression_statement "lVar3 = lVar3 + -1;" (assignment_expression "lVar3 = lVar3 + -1" identifier = (binary_expression "lVar3 + -1" identifier + number_literal)) ;) (expression_statement "sb_add_sb(&many,&one);" (call_expression "sb_add_sb(&many,&one)" identifier (argument_list "(&many,&one)" ( (pointer_expression "&many" & identifier) , (pointer_expression "&one" & identifier) ))) ;) }) while (parenthesized_expression "(lVar3 != -1)" ( (binary_expression "lVar3 != -1" identifier != number_literal) )) ;) })) }))) (expression_statement "sb_kill(&one);" (call_expression "sb_kill(&one)" identifier (argument_list "(&one)" ( (pointer_expression "&one" & identifier) ))) ;) (expression_statement "input_scrub_include_sb(&many,input_line_pointer,1);" (call_expression "input_scrub_include_sb(&many,input_line_pointer,1)" identifier (argument_list "(&many,input_line_pointer,1)" ( (pointer_expression "&many" & identifier) , identifier , number_literal ))) ;) (expression_statement "sb_kill(&many);" (call_expression "sb_kill(&many)" identifier (argument_list "(&many)" ( (pointer_expression "&many" & identifier) ))) ;) (expression_statement "buffer_limit = input_scrub_next_buffer(&input_line_pointer);" (assignment_expression "buffer_limit = input_scrub_next_buffer(&input_line_pointer)" identifier = (call_expression "input_scrub_next_buffer(&input_line_pointer)" identifier (argument_list "(&input_line_pointer)" ( (pointer_expression "&input_line_pointer" & identifier) )))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_001282f0(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined1 auStack_68 [8];\n  long local_60;\n  undefined1 local_48 [40];\n  \n  if (param_1 < 0) {\n    uVar2 = dcgettext(0,"negative count for %s - ignored",5);\n    FUN_00126580(uVar2,param_2);\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) goto LAB_001283f4;\n    FUN_0012ec70(local_48,0);\n  }\n  else {\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }\n  FUN_0012ecd0(auStack_68);\n  FUN_00120ce0(local_48,DAT_00175a40,1);\n  FUN_0012ecd0(local_48);\n  DAT_00175260 = FUN_00120e00(&DAT_00175a40);\n  return;\n}\n\n" (function_definition "void FUN_001282f0(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined1 auStack_68 [8];\n  long local_60;\n  undefined1 local_48 [40];\n  \n  if (param_1 < 0) {\n    uVar2 = dcgettext(0,"negative count for %s - ignored",5);\n    FUN_00126580(uVar2,param_2);\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) goto LAB_001283f4;\n    FUN_0012ec70(local_48,0);\n  }\n  else {\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }\n  FUN_0012ecd0(auStack_68);\n  FUN_00120ce0(local_48,DAT_00175a40,1);\n  FUN_0012ecd0(local_48);\n  DAT_00175260 = FUN_00120e00(&DAT_00175a40);\n  return;\n}" primitive_type (function_declarator "FUN_001282f0(long param_1,undefined8 param_2,undefined8 param_3)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined1 auStack_68 [8];\n  long local_60;\n  undefined1 local_48 [40];\n  \n  if (param_1 < 0) {\n    uVar2 = dcgettext(0,"negative count for %s - ignored",5);\n    FUN_00126580(uVar2,param_2);\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) goto LAB_001283f4;\n    FUN_0012ec70(local_48,0);\n  }\n  else {\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }\n  FUN_0012ecd0(auStack_68);\n  FUN_00120ce0(local_48,DAT_00175a40,1);\n  FUN_0012ecd0(local_48);\n  DAT_00175260 = FUN_00120e00(&DAT_00175a40);\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 auStack_68 [8];" type_identifier (array_declarator "auStack_68 [8]" identifier [ number_literal ]) ;) (declaration "long local_60;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_48 [40];" type_identifier (array_declarator "local_48 [40]" identifier [ number_literal ]) ;) (if_statement "if (param_1 < 0) {\n    uVar2 = dcgettext(0,"negative count for %s - ignored",5);\n    FUN_00126580(uVar2,param_2);\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) goto LAB_001283f4;\n    FUN_0012ec70(local_48,0);\n  }\n  else {\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }" if (parenthesized_expression "(param_1 < 0)" ( (binary_expression "param_1 < 0" identifier < number_literal) )) (compound_statement "{\n    uVar2 = dcgettext(0,"negative count for %s - ignored",5);\n    FUN_00126580(uVar2,param_2);\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) goto LAB_001283f4;\n    FUN_0012ec70(local_48,0);\n  }" { (expression_statement "uVar2 = dcgettext(0,"negative count for %s - ignored",5);" (assignment_expression "uVar2 = dcgettext(0,"negative count for %s - ignored",5)" identifier = (call_expression "dcgettext(0,"negative count for %s - ignored",5)" identifier (argument_list "(0,"negative count for %s - ignored",5)" ( number_literal , (string_literal ""negative count for %s - ignored"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00126580(uVar2,param_2);" (call_expression "FUN_00126580(uVar2,param_2)" identifier (argument_list "(uVar2,param_2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0012eca0(auStack_68);" (call_expression "FUN_0012eca0(auStack_68)" identifier (argument_list "(auStack_68)" ( identifier ))) ;) (expression_statement "iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);" (assignment_expression "iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350)" identifier = (call_expression "FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350)" identifier (argument_list "(param_2,param_3,auStack_68,FUN_00127350)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar1 == 0) goto LAB_001283f4;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001283f4;" goto statement_identifier ;)) (expression_statement "FUN_0012ec70(local_48,0);" (call_expression "FUN_0012ec70(local_48,0)" identifier (argument_list "(local_48,0)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }" else (compound_statement "{\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }" { (expression_statement "FUN_0012eca0(auStack_68);" (call_expression "FUN_0012eca0(auStack_68)" identifier (argument_list "(auStack_68)" ( identifier ))) ;) (expression_statement "iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);" (assignment_expression "iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350)" identifier = (call_expression "FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350)" identifier (argument_list "(param_2,param_3,auStack_68,FUN_00127350)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }" { (labeled_statement "LAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);" statement_identifier : (expression_statement "uVar2 = dcgettext(0,"%s without %s",5);" (assignment_expression "uVar2 = dcgettext(0,"%s without %s",5)" identifier = (call_expression "dcgettext(0,"%s without %s",5)" identifier (argument_list "(0,"%s without %s",5)" ( number_literal , (string_literal ""%s without %s"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_00126580(uVar2,param_2,param_3);" (call_expression "FUN_00126580(uVar2,param_2,param_3)" identifier (argument_list "(uVar2,param_2,param_3)" ( identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "lVar3 = param_1 + -1;" (assignment_expression "lVar3 = param_1 + -1" identifier = (binary_expression "param_1 + -1" identifier + number_literal)) ;) (expression_statement "FUN_0012ec70(local_48,local_60 * param_1);" (call_expression "FUN_0012ec70(local_48,local_60 * param_1)" identifier (argument_list "(local_48,local_60 * param_1)" ( identifier , (binary_expression "local_60 * param_1" identifier * identifier) ))) ;) (if_statement "if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }" { (do_statement "do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);" do (compound_statement "{\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      }" { (expression_statement "lVar3 = lVar3 + -1;" (assignment_expression "lVar3 = lVar3 + -1" identifier = (binary_expression "lVar3 + -1" identifier + number_literal)) ;) (expression_statement "FUN_0012ece0(local_48,auStack_68);" (call_expression "FUN_0012ece0(local_48,auStack_68)" identifier (argument_list "(local_48,auStack_68)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "(lVar3 != -1)" ( (binary_expression "lVar3 != -1" identifier != number_literal) )) ;) })) }))) (expression_statement "FUN_0012ecd0(auStack_68);" (call_expression "FUN_0012ecd0(auStack_68)" identifier (argument_list "(auStack_68)" ( identifier ))) ;) (expression_statement "FUN_00120ce0(local_48,DAT_00175a40,1);" (call_expression "FUN_00120ce0(local_48,DAT_00175a40,1)" identifier (argument_list "(local_48,DAT_00175a40,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "FUN_0012ecd0(local_48);" (call_expression "FUN_0012ecd0(local_48)" identifier (argument_list "(local_48)" ( identifier ))) ;) (expression_statement "DAT_00175260 = FUN_00120e00(&DAT_00175a40);" (assignment_expression "DAT_00175260 = FUN_00120e00(&DAT_00175a40)" identifier = (call_expression "FUN_00120e00(&DAT_00175a40)" identifier (argument_list "(&DAT_00175a40)" ( (pointer_expression "&DAT_00175a40" & identifier) )))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT * IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (return_statement return ;) })))
(function_definition "void FUN_001282f0(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined1 auStack_68 [8];\n  long local_60;\n  undefined1 local_48 [40];\n  \n  if (param_1 < 0) {\n    uVar2 = dcgettext(0,"negative count for %s - ignored",5);\n    FUN_00126580(uVar2,param_2);\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) goto LAB_001283f4;\n    FUN_0012ec70(local_48,0);\n  }\n  else {\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }\n  FUN_0012ecd0(auStack_68);\n  FUN_00120ce0(local_48,DAT_00175a40,1);\n  FUN_0012ecd0(local_48);\n  DAT_00175260 = FUN_00120e00(&DAT_00175a40);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001282f0(long param_1,undefined8 param_2,undefined8 param_3)" (identifier "FUN_001282f0") (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined1 auStack_68 [8];\n  long local_60;\n  undefined1 local_48 [40];\n  \n  if (param_1 < 0) {\n    uVar2 = dcgettext(0,"negative count for %s - ignored",5);\n    FUN_00126580(uVar2,param_2);\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) goto LAB_001283f4;\n    FUN_0012ec70(local_48,0);\n  }\n  else {\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }\n  FUN_0012ecd0(auStack_68);\n  FUN_00120ce0(local_48,DAT_00175a40,1);\n  FUN_0012ecd0(local_48);\n  DAT_00175260 = FUN_00120e00(&DAT_00175a40);\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (declaration "long lVar3;" (sized_type_specifier "long" (long "long")) (identifier "lVar3") (; ";")) (declaration "undefined1 auStack_68 [8];" (type_identifier "undefined1") (array_declarator "auStack_68 [8]" (identifier "auStack_68") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "long local_60;" (sized_type_specifier "long" (long "long")) (identifier "local_60") (; ";")) (declaration "undefined1 local_48 [40];" (type_identifier "undefined1") (array_declarator "local_48 [40]" (identifier "local_48") ([ "[") (number_literal "40") (] "]")) (; ";")) (if_statement "if (param_1 < 0) {\n    uVar2 = dcgettext(0,"negative count for %s - ignored",5);\n    FUN_00126580(uVar2,param_2);\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) goto LAB_001283f4;\n    FUN_0012ec70(local_48,0);\n  }\n  else {\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }" (if "if") (parenthesized_expression "(param_1 < 0)" (( "(") (binary_expression "param_1 < 0" (identifier "param_1") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    uVar2 = dcgettext(0,"negative count for %s - ignored",5);\n    FUN_00126580(uVar2,param_2);\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) goto LAB_001283f4;\n    FUN_0012ec70(local_48,0);\n  }" ({ "{") (expression_statement "uVar2 = dcgettext(0,"negative count for %s - ignored",5);" (assignment_expression "uVar2 = dcgettext(0,"negative count for %s - ignored",5)" (identifier "uVar2") (= "=") (call_expression "dcgettext(0,"negative count for %s - ignored",5)" (identifier "dcgettext") (argument_list "(0,"negative count for %s - ignored",5)" (( "(") (number_literal "0") (, ",") (string_literal ""negative count for %s - ignored"" (" """) (string_content "negative count for %s - ignored") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00126580(uVar2,param_2);" (call_expression "FUN_00126580(uVar2,param_2)" (identifier "FUN_00126580") (argument_list "(uVar2,param_2)" (( "(") (identifier "uVar2") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "FUN_0012eca0(auStack_68);" (call_expression "FUN_0012eca0(auStack_68)" (identifier "FUN_0012eca0") (argument_list "(auStack_68)" (( "(") (identifier "auStack_68") () ")"))) (; ";")) (expression_statement "iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);" (assignment_expression "iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350)" (identifier "iVar1") (= "=") (call_expression "FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350)" (identifier "FUN_00124ce0") (argument_list "(param_2,param_3,auStack_68,FUN_00127350)" (( "(") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "auStack_68") (, ",") (identifier "FUN_00127350") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) goto LAB_001283f4;" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001283f4;" (goto "goto") (statement_identifier "LAB_001283f4") (; ";"))) (expression_statement "FUN_0012ec70(local_48,0);" (call_expression "FUN_0012ec70(local_48,0)" (identifier "FUN_0012ec70") (argument_list "(local_48,0)" (( "(") (identifier "local_48") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }" (else "else") (compound_statement "{\n    FUN_0012eca0(auStack_68);\n    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);\n    if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }\n    lVar3 = param_1 + -1;\n    FUN_0012ec70(local_48,local_60 * param_1);\n    if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }\n  }" ({ "{") (expression_statement "FUN_0012eca0(auStack_68);" (call_expression "FUN_0012eca0(auStack_68)" (identifier "FUN_0012eca0") (argument_list "(auStack_68)" (( "(") (identifier "auStack_68") () ")"))) (; ";")) (expression_statement "iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);" (assignment_expression "iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350)" (identifier "iVar1") (= "=") (call_expression "FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350)" (identifier "FUN_00124ce0") (argument_list "(param_2,param_3,auStack_68,FUN_00127350)" (( "(") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "auStack_68") (, ",") (identifier "FUN_00127350") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);\n      FUN_00126580(uVar2,param_2,param_3);\n      return;\n    }" ({ "{") (labeled_statement "LAB_001283f4:\n      uVar2 = dcgettext(0,"%s without %s",5);" (statement_identifier "LAB_001283f4") (: ":") (expression_statement "uVar2 = dcgettext(0,"%s without %s",5);" (assignment_expression "uVar2 = dcgettext(0,"%s without %s",5)" (identifier "uVar2") (= "=") (call_expression "dcgettext(0,"%s without %s",5)" (identifier "dcgettext") (argument_list "(0,"%s without %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s without %s"" (" """) (string_content "%s without %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_00126580(uVar2,param_2,param_3);" (call_expression "FUN_00126580(uVar2,param_2,param_3)" (identifier "FUN_00126580") (argument_list "(uVar2,param_2,param_3)" (( "(") (identifier "uVar2") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "lVar3 = param_1 + -1;" (assignment_expression "lVar3 = param_1 + -1" (identifier "lVar3") (= "=") (binary_expression "param_1 + -1" (identifier "param_1") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "FUN_0012ec70(local_48,local_60 * param_1);" (call_expression "FUN_0012ec70(local_48,local_60 * param_1)" (identifier "FUN_0012ec70") (argument_list "(local_48,local_60 * param_1)" (( "(") (identifier "local_48") (, ",") (binary_expression "local_60 * param_1" (identifier "local_60") (* "*") (identifier "param_1")) () ")"))) (; ";")) (if_statement "if (param_1 != 0) {\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);\n    }" ({ "{") (do_statement "do {\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      } while (lVar3 != -1);" (do "do") (compound_statement "{\n        lVar3 = lVar3 + -1;\n        FUN_0012ece0(local_48,auStack_68);\n      }" ({ "{") (expression_statement "lVar3 = lVar3 + -1;" (assignment_expression "lVar3 = lVar3 + -1" (identifier "lVar3") (= "=") (binary_expression "lVar3 + -1" (identifier "lVar3") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "FUN_0012ece0(local_48,auStack_68);" (call_expression "FUN_0012ece0(local_48,auStack_68)" (identifier "FUN_0012ece0") (argument_list "(local_48,auStack_68)" (( "(") (identifier "local_48") (, ",") (identifier "auStack_68") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(lVar3 != -1)" (( "(") (binary_expression "lVar3 != -1" (identifier "lVar3") (!= "!=") (number_literal "-1")) () ")")) (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_0012ecd0(auStack_68);" (call_expression "FUN_0012ecd0(auStack_68)" (identifier "FUN_0012ecd0") (argument_list "(auStack_68)" (( "(") (identifier "auStack_68") () ")"))) (; ";")) (expression_statement "FUN_00120ce0(local_48,DAT_00175a40,1);" (call_expression "FUN_00120ce0(local_48,DAT_00175a40,1)" (identifier "FUN_00120ce0") (argument_list "(local_48,DAT_00175a40,1)" (( "(") (identifier "local_48") (, ",") (identifier "DAT_00175a40") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_0012ecd0(local_48);" (call_expression "FUN_0012ecd0(local_48)" (identifier "FUN_0012ecd0") (argument_list "(local_48)" (( "(") (identifier "local_48") () ")"))) (; ";")) (expression_statement "DAT_00175260 = FUN_00120e00(&DAT_00175a40);" (assignment_expression "DAT_00175260 = FUN_00120e00(&DAT_00175a40)" (identifier "DAT_00175260") (= "=") (call_expression "FUN_00120e00(&DAT_00175a40)" (identifier "FUN_00120e00") (argument_list "(&DAT_00175a40)" (( "(") (pointer_expression "&DAT_00175a40" (& "&") (identifier "DAT_00175a40")) () ")")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(size_t var_7,char *start,char *end)

{
  int var_5;
  char *pcVar2;
  long var_8;
  type_1 one;
  type_1 many;
  
  if ((long)var_7 < 0) {
    pcVar2 = (char *)var_1(0,"negative count for %s - ignored",5);
    var_2(pcVar2,start);
    var_3(&one);
    var_5 = var_4(start,end,&one,get_non_macro_line_sb);
    if (var_5 == 0) goto LAB_001283f4;
    var_6(&many,0);
  }
  else {
    var_3(&one);
    var_5 = var_4(start,end,&one,get_non_macro_line_sb);
    if (var_5 == 0) {
LAB_001283f4:
      pcVar2 = (char *)var_1(0,"%s without %s",5);
      var_2(pcVar2,start,end);
      return;
    }
    var_8 = var_7 - 1;
    var_6(&many,one.len * var_7);
    if (var_7 != 0) {
      do {
        var_8 = var_8 + -1;
        var_9(&many,&one);
      } while (var_8 != -1);
    }
  }
  var_10(&one);
  var_11(&many,input_line_pointer,1);
  var_10(&many);
  buffer_limit = var_12(&input_line_pointer);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (return_statement))))

void MASKED(long param_1,undefined8 param_2,undefined8 param_3)

{
  int iVar1;
  undefined8 uVar2;
  long lVar3;
  undefined1 auStack_68 [8];
  long local_60;
  undefined1 local_48 [40];
  
  if (param_1 < 0) {
    uVar2 = dcgettext(0,"negative count for %s - ignored",5);
    FUN_00126580(uVar2,param_2);
    FUN_0012eca0(auStack_68);
    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);
    if (iVar1 == 0) goto LAB_001283f4;
    FUN_0012ec70(local_48,0);
  }
  else {
    FUN_0012eca0(auStack_68);
    iVar1 = FUN_00124ce0(param_2,param_3,auStack_68,FUN_00127350);
    if (iVar1 == 0) {
LAB_001283f4:
      uVar2 = dcgettext(0,"%s without %s",5);
      FUN_00126580(uVar2,param_2,param_3);
      return;
    }
    lVar3 = param_1 + -1;
    FUN_0012ec70(local_48,local_60 * param_1);
    if (param_1 != 0) {
      do {
        lVar3 = lVar3 + -1;
        FUN_0012ece0(local_48,auStack_68);
      } while (lVar3 != -1);
    }
  }
  FUN_0012ecd0(auStack_68);
  FUN_00120ce0(local_48,DAT_00175a40,1);
  FUN_0012ecd0(local_48);
  DAT_00175260 = FUN_00120e00(&DAT_00175a40);
  return;
}

