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

void s_errwarn(int err)

{
  char *pcVar1;
  char *format;
  byte bVar2;
  int len;
  
  len = 0x34b58;
  if (err == 0) {
    pcVar1 = (char *)dcgettext(0,".warning directive invoked in source file",5);
  }
  else {
    pcVar1 = (char *)dcgettext(0,".error directive invoked in source file",5);
  }
  bVar2 = *input_line_pointer;
  if (bVar2 == 0x20) {
    bVar2 = input_line_pointer[1];
    input_line_pointer = input_line_pointer + 1;
  }
  if (is_end_of_line[bVar2] == '\0') {
    if (bVar2 == 0x22) {
      pcVar1 = demand_copy_C_string(&len);
      if (pcVar1 != (char *)0x0) goto LAB_00034c04;
    }
    else {
      pcVar1 = ".error";
      if (err == 0) {
        pcVar1 = ".warning";
      }
      format = (char *)dcgettext(0,"%s argument must be a string",5);
      as_bad(format,pcVar1);
      ignore_rest_of_line();
    }
    return;
  }
LAB_00034c04:
  if (err == 0) {
    as_warn("%s",pcVar1);
  }
  else {
    as_bad("%s",pcVar1);
  }
  demand_empty_rest_of_line();
  return;
}



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

void FUN_00034b50(int param_1)

{
  int iVar1;
  undefined4 uVar2;
  byte bVar3;
  char *pcVar4;
  undefined4 local_10;
  
  local_10 = 0x34b58;
  if (param_1 == 0) {
    iVar1 = dcgettext(0,".warning directive invoked in source file",5);
  }
  else {
    iVar1 = dcgettext(0,".error directive invoked in source file",5);
  }
  bVar3 = *DAT_000819b8;
  if (bVar3 == 0x20) {
    bVar3 = DAT_000819b8[1];
    DAT_000819b8 = DAT_000819b8 + 1;
  }
  if ((&DAT_00078320)[bVar3] == '\0') {
    if (bVar3 == 0x22) {
      iVar1 = FUN_00034aa0(&local_10);
      if (iVar1 != 0) goto LAB_00034c04;
    }
    else {
      pcVar4 = ".error";
      if (param_1 == 0) {
        pcVar4 = ".warning";
      }
      uVar2 = dcgettext(0,"%s argument must be a string",5);
      FUN_0002cea0(uVar2,pcVar4);
      FUN_0002f1e0();
    }
    return;
  }
LAB_00034c04:
  if (param_1 == 0) {
    FUN_0002cdc0(&DAT_0005b1be,iVar1);
  }
  else {
    FUN_0002cea0(&DAT_0005b1be,iVar1);
  }
  FUN_0002f430();
  return;
}


PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00017140
ADD EBX,0x434a8
SUB ESP,0x10
MOV ESI,dword ptr [ESP + 0x20]
TEST ESI,ESI
JZ 0x00034c48
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe0eb4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000151e0
ADD ESP,0x10
LEA EDI,[EBX + 0x99b8]
MOV ECX,dword ptr [EDI]
MOVZX EDX,byte ptr [ECX]
CMP DL,0x20
JNZ 0x00034b9c
LEA EDX,[ECX + 0x1]
MOV dword ptr [EDI],EDX
MOVZX EDX,byte ptr [ECX + 0x1]
MOVZX ECX,DL
CMP byte ptr [EBX + ECX*0x1 + 0x320],0x0
JNZ 0x00034c04
CMP DL,0x22
JZ 0x00034bf0
TEST ESI,ESI
LEA EAX,[EBX + 0xfffe137c]
LEA ESI,[EBX + 0xfffe1375]
CMOVZ ESI,EAX
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe1385]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000151e0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x0002cea0
CALL 0x0002f1e0
ADD ESP,0x10
ADD ESP,0x10
POP EBX
POP ESI
POP EDI
RET
SUB ESP,0xc
LEA EAX,[ESP + 0x18]
PUSH EAX
CALL 0x00034aa0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00034be3
TEST ESI,ESI
JNZ 0x00034c30
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xfffe31be]
PUSH EAX
CALL 0x0002cdc0
ADD ESP,0x10
CALL 0x0002f430
ADD ESP,0x10
POP EBX
POP ESI
POP EDI
RET
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xfffe31be]
PUSH EAX
CALL 0x0002cea0
ADD ESP,0x10
JMP 0x00034c1b
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe0edc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000151e0
ADD ESP,0x10
JMP 0x00034b83
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00034b50(int param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  byte bVar3;\n  char *pcVar4;\n  undefined4 local_10;\n  \n  local_10 = 0x34b58;\n  if (param_1 == 0) {\n    iVar1 = dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }\n  bVar3 = *DAT_000819b8;\n  if (bVar3 == 0x20) {\n    bVar3 = DAT_000819b8[1];\n    DAT_000819b8 = DAT_000819b8 + 1;\n  }\n  if ((&DAT_00078320)[bVar3] == '\0') {\n    if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }\n    return;\n  }\nLAB_00034c04:\n  if (param_1 == 0) {\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }\n  else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }\n  FUN_0002f430();\n  return;\n}\n\n" comment (function_definition "void FUN_00034b50(int param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  byte bVar3;\n  char *pcVar4;\n  undefined4 local_10;\n  \n  local_10 = 0x34b58;\n  if (param_1 == 0) {\n    iVar1 = dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }\n  bVar3 = *DAT_000819b8;\n  if (bVar3 == 0x20) {\n    bVar3 = DAT_000819b8[1];\n    DAT_000819b8 = DAT_000819b8 + 1;\n  }\n  if ((&DAT_00078320)[bVar3] == '\0') {\n    if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }\n    return;\n  }\nLAB_00034c04:\n  if (param_1 == 0) {\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }\n  else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }\n  FUN_0002f430();\n  return;\n}" primitive_type (function_declarator "FUN_00034b50(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  byte bVar3;\n  char *pcVar4;\n  undefined4 local_10;\n  \n  local_10 = 0x34b58;\n  if (param_1 == 0) {\n    iVar1 = dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }\n  bVar3 = *DAT_000819b8;\n  if (bVar3 == 0x20) {\n    bVar3 = DAT_000819b8[1];\n    DAT_000819b8 = DAT_000819b8 + 1;\n  }\n  if ((&DAT_00078320)[bVar3] == '\0') {\n    if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }\n    return;\n  }\nLAB_00034c04:\n  if (param_1 == 0) {\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }\n  else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }\n  FUN_0002f430();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 local_10;" type_identifier identifier ;) (expression_statement "local_10 = 0x34b58;" (assignment_expression "local_10 = 0x34b58" identifier = number_literal) ;) (if_statement "if (param_1 == 0) {\n    iVar1 = dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = dcgettext(0,".warning directive invoked in source file",5);\n  }" { (expression_statement "iVar1 = dcgettext(0,".warning directive invoked in source file",5);" (assignment_expression "iVar1 = dcgettext(0,".warning directive invoked in source file",5)" identifier = (call_expression "dcgettext(0,".warning directive invoked in source file",5)" identifier (argument_list "(0,".warning directive invoked in source file",5)" ( number_literal , (string_literal "".warning directive invoked in source file"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }" else (compound_statement "{\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }" { (expression_statement "iVar1 = dcgettext(0,".error directive invoked in source file",5);" (assignment_expression "iVar1 = dcgettext(0,".error directive invoked in source file",5)" identifier = (call_expression "dcgettext(0,".error directive invoked in source file",5)" identifier (argument_list "(0,".error directive invoked in source file",5)" ( number_literal , (string_literal "".error directive invoked in source file"" " string_content ") , number_literal )))) ;) }))) (expression_statement "bVar3 = *DAT_000819b8;" (assignment_expression "bVar3 = *DAT_000819b8" identifier = (pointer_expression "*DAT_000819b8" * identifier)) ;) (if_statement "if (bVar3 == 0x20) {\n    bVar3 = DAT_000819b8[1];\n    DAT_000819b8 = DAT_000819b8 + 1;\n  }" if (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) )) (compound_statement "{\n    bVar3 = DAT_000819b8[1];\n    DAT_000819b8 = DAT_000819b8 + 1;\n  }" { (expression_statement "bVar3 = DAT_000819b8[1];" (assignment_expression "bVar3 = DAT_000819b8[1]" identifier = (subscript_expression "DAT_000819b8[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_000819b8 = DAT_000819b8 + 1;" (assignment_expression "DAT_000819b8 = DAT_000819b8 + 1" identifier = (binary_expression "DAT_000819b8 + 1" identifier + number_literal)) ;) })) (if_statement "if ((&DAT_00078320)[bVar3] == '\0') {\n    if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }\n    return;\n  }" if (parenthesized_expression "((&DAT_00078320)[bVar3] == '\0')" ( (binary_expression "(&DAT_00078320)[bVar3] == '\0'" (subscript_expression "(&DAT_00078320)[bVar3]" (parenthesized_expression "(&DAT_00078320)" ( (pointer_expression "&DAT_00078320" & identifier) )) [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }\n    return;\n  }" { (if_statement "if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }" if (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) (compound_statement "{\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }" { (expression_statement "iVar1 = FUN_00034aa0(&local_10);" (assignment_expression "iVar1 = FUN_00034aa0(&local_10)" identifier = (call_expression "FUN_00034aa0(&local_10)" identifier (argument_list "(&local_10)" ( (pointer_expression "&local_10" & identifier) )))) ;) (if_statement "if (iVar1 != 0) goto LAB_00034c04;" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00034c04;" goto statement_identifier ;)) }) (else_clause "else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }" else (compound_statement "{\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }" { (expression_statement "pcVar4 = ".error";" (assignment_expression "pcVar4 = ".error"" identifier = (string_literal "".error"" " string_content ")) ;) (if_statement "if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar4 = ".warning";\n      }" { (expression_statement "pcVar4 = ".warning";" (assignment_expression "pcVar4 = ".warning"" identifier = (string_literal "".warning"" " string_content ")) ;) })) (expression_statement "uVar2 = dcgettext(0,"%s argument must be a string",5);" (assignment_expression "uVar2 = dcgettext(0,"%s argument must be a string",5)" identifier = (call_expression "dcgettext(0,"%s argument must be a string",5)" identifier (argument_list "(0,"%s argument must be a string",5)" ( number_literal , (string_literal ""%s argument must be a string"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002cea0(uVar2,pcVar4);" (call_expression "FUN_0002cea0(uVar2,pcVar4)" identifier (argument_list "(uVar2,pcVar4)" ( identifier , identifier ))) ;) (expression_statement "FUN_0002f1e0();" (call_expression "FUN_0002f1e0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })) (labeled_statement "LAB_00034c04:\n  if (param_1 == 0) {\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }\n  else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }" statement_identifier : (if_statement "if (param_1 == 0) {\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }\n  else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }" { (expression_statement "FUN_0002cdc0(&DAT_0005b1be,iVar1);" (call_expression "FUN_0002cdc0(&DAT_0005b1be,iVar1)" identifier (argument_list "(&DAT_0005b1be,iVar1)" ( (pointer_expression "&DAT_0005b1be" & identifier) , identifier ))) ;) }) (else_clause "else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }" else (compound_statement "{\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }" { (expression_statement "FUN_0002cea0(&DAT_0005b1be,iVar1);" (call_expression "FUN_0002cea0(&DAT_0005b1be,iVar1)" identifier (argument_list "(&DAT_0005b1be,iVar1)" ( (pointer_expression "&DAT_0005b1be" & identifier) , identifier ))) ;) })))) (expression_statement "FUN_0002f430();" (call_expression "FUN_0002f430()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nvoid s_errwarn(int err)\n\n{\n  char *pcVar1;\n  char *format;\n  byte bVar2;\n  int len;\n  \n  len = 0x34b58;\n  if (err == 0) {\n    pcVar1 = (char *)dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    pcVar1 = (char *)dcgettext(0,".error directive invoked in source file",5);\n  }\n  bVar2 = *input_line_pointer;\n  if (bVar2 == 0x20) {\n    bVar2 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (is_end_of_line[bVar2] == '\0') {\n    if (bVar2 == 0x22) {\n      pcVar1 = demand_copy_C_string(&len);\n      if (pcVar1 != (char *)0x0) goto LAB_00034c04;\n    }\n    else {\n      pcVar1 = ".error";\n      if (err == 0) {\n        pcVar1 = ".warning";\n      }\n      format = (char *)dcgettext(0,"%s argument must be a string",5);\n      as_bad(format,pcVar1);\n      ignore_rest_of_line();\n    }\n    return;\n  }\nLAB_00034c04:\n  if (err == 0) {\n    as_warn("%s",pcVar1);\n  }\n  else {\n    as_bad("%s",pcVar1);\n  }\n  demand_empty_rest_of_line();\n  return;\n}\n\n" comment comment (function_definition "void s_errwarn(int err)\n\n{\n  char *pcVar1;\n  char *format;\n  byte bVar2;\n  int len;\n  \n  len = 0x34b58;\n  if (err == 0) {\n    pcVar1 = (char *)dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    pcVar1 = (char *)dcgettext(0,".error directive invoked in source file",5);\n  }\n  bVar2 = *input_line_pointer;\n  if (bVar2 == 0x20) {\n    bVar2 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (is_end_of_line[bVar2] == '\0') {\n    if (bVar2 == 0x22) {\n      pcVar1 = demand_copy_C_string(&len);\n      if (pcVar1 != (char *)0x0) goto LAB_00034c04;\n    }\n    else {\n      pcVar1 = ".error";\n      if (err == 0) {\n        pcVar1 = ".warning";\n      }\n      format = (char *)dcgettext(0,"%s argument must be a string",5);\n      as_bad(format,pcVar1);\n      ignore_rest_of_line();\n    }\n    return;\n  }\nLAB_00034c04:\n  if (err == 0) {\n    as_warn("%s",pcVar1);\n  }\n  else {\n    as_bad("%s",pcVar1);\n  }\n  demand_empty_rest_of_line();\n  return;\n}" primitive_type (function_declarator "s_errwarn(int err)" identifier (parameter_list "(int err)" ( (parameter_declaration "int err" primitive_type identifier) ))) (compound_statement "{\n  char *pcVar1;\n  char *format;\n  byte bVar2;\n  int len;\n  \n  len = 0x34b58;\n  if (err == 0) {\n    pcVar1 = (char *)dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    pcVar1 = (char *)dcgettext(0,".error directive invoked in source file",5);\n  }\n  bVar2 = *input_line_pointer;\n  if (bVar2 == 0x20) {\n    bVar2 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (is_end_of_line[bVar2] == '\0') {\n    if (bVar2 == 0x22) {\n      pcVar1 = demand_copy_C_string(&len);\n      if (pcVar1 != (char *)0x0) goto LAB_00034c04;\n    }\n    else {\n      pcVar1 = ".error";\n      if (err == 0) {\n        pcVar1 = ".warning";\n      }\n      format = (char *)dcgettext(0,"%s argument must be a string",5);\n      as_bad(format,pcVar1);\n      ignore_rest_of_line();\n    }\n    return;\n  }\nLAB_00034c04:\n  if (err == 0) {\n    as_warn("%s",pcVar1);\n  }\n  else {\n    as_bad("%s",pcVar1);\n  }\n  demand_empty_rest_of_line();\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "int len;" primitive_type identifier ;) (expression_statement "len = 0x34b58;" (assignment_expression "len = 0x34b58" identifier = number_literal) ;) (if_statement "if (err == 0) {\n    pcVar1 = (char *)dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    pcVar1 = (char *)dcgettext(0,".error directive invoked in source file",5);\n  }" if (parenthesized_expression "(err == 0)" ( (binary_expression "err == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar1 = (char *)dcgettext(0,".warning directive invoked in source file",5);\n  }" { (expression_statement "pcVar1 = (char *)dcgettext(0,".warning directive invoked in source file",5);" (assignment_expression "pcVar1 = (char *)dcgettext(0,".warning directive invoked in source file",5)" identifier = (cast_expression "(char *)dcgettext(0,".warning directive invoked in source file",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,".warning directive invoked in source file",5)" identifier (argument_list "(0,".warning directive invoked in source file",5)" ( number_literal , (string_literal "".warning directive invoked in source file"" " string_content ") , number_literal ))))) ;) }) (else_clause "else {\n    pcVar1 = (char *)dcgettext(0,".error directive invoked in source file",5);\n  }" else (compound_statement "{\n    pcVar1 = (char *)dcgettext(0,".error directive invoked in source file",5);\n  }" { (expression_statement "pcVar1 = (char *)dcgettext(0,".error directive invoked in source file",5);" (assignment_expression "pcVar1 = (char *)dcgettext(0,".error directive invoked in source file",5)" identifier = (cast_expression "(char *)dcgettext(0,".error directive invoked in source file",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,".error directive invoked in source file",5)" identifier (argument_list "(0,".error directive invoked in source file",5)" ( number_literal , (string_literal "".error directive invoked in source file"" " string_content ") , number_literal ))))) ;) }))) (expression_statement "bVar2 = *input_line_pointer;" (assignment_expression "bVar2 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (if_statement "if (bVar2 == 0x20) {\n    bVar2 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }" if (parenthesized_expression "(bVar2 == 0x20)" ( (binary_expression "bVar2 == 0x20" identifier == number_literal) )) (compound_statement "{\n    bVar2 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }" { (expression_statement "bVar2 = input_line_pointer[1];" (assignment_expression "bVar2 = input_line_pointer[1]" identifier = (subscript_expression "input_line_pointer[1]" identifier [ number_literal ])) ;) (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) })) (if_statement "if (is_end_of_line[bVar2] == '\0') {\n    if (bVar2 == 0x22) {\n      pcVar1 = demand_copy_C_string(&len);\n      if (pcVar1 != (char *)0x0) goto LAB_00034c04;\n    }\n    else {\n      pcVar1 = ".error";\n      if (err == 0) {\n        pcVar1 = ".warning";\n      }\n      format = (char *)dcgettext(0,"%s argument must be a string",5);\n      as_bad(format,pcVar1);\n      ignore_rest_of_line();\n    }\n    return;\n  }" if (parenthesized_expression "(is_end_of_line[bVar2] == '\0')" ( (binary_expression "is_end_of_line[bVar2] == '\0'" (subscript_expression "is_end_of_line[bVar2]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (bVar2 == 0x22) {\n      pcVar1 = demand_copy_C_string(&len);\n      if (pcVar1 != (char *)0x0) goto LAB_00034c04;\n    }\n    else {\n      pcVar1 = ".error";\n      if (err == 0) {\n        pcVar1 = ".warning";\n      }\n      format = (char *)dcgettext(0,"%s argument must be a string",5);\n      as_bad(format,pcVar1);\n      ignore_rest_of_line();\n    }\n    return;\n  }" { (if_statement "if (bVar2 == 0x22) {\n      pcVar1 = demand_copy_C_string(&len);\n      if (pcVar1 != (char *)0x0) goto LAB_00034c04;\n    }\n    else {\n      pcVar1 = ".error";\n      if (err == 0) {\n        pcVar1 = ".warning";\n      }\n      format = (char *)dcgettext(0,"%s argument must be a string",5);\n      as_bad(format,pcVar1);\n      ignore_rest_of_line();\n    }" if (parenthesized_expression "(bVar2 == 0x22)" ( (binary_expression "bVar2 == 0x22" identifier == number_literal) )) (compound_statement "{\n      pcVar1 = demand_copy_C_string(&len);\n      if (pcVar1 != (char *)0x0) goto LAB_00034c04;\n    }" { (expression_statement "pcVar1 = demand_copy_C_string(&len);" (assignment_expression "pcVar1 = demand_copy_C_string(&len)" identifier = (call_expression "demand_copy_C_string(&len)" identifier (argument_list "(&len)" ( (pointer_expression "&len" & identifier) )))) ;) (if_statement "if (pcVar1 != (char *)0x0) goto LAB_00034c04;" if (parenthesized_expression "(pcVar1 != (char *)0x0)" ( (binary_expression "pcVar1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00034c04;" goto statement_identifier ;)) }) (else_clause "else {\n      pcVar1 = ".error";\n      if (err == 0) {\n        pcVar1 = ".warning";\n      }\n      format = (char *)dcgettext(0,"%s argument must be a string",5);\n      as_bad(format,pcVar1);\n      ignore_rest_of_line();\n    }" else (compound_statement "{\n      pcVar1 = ".error";\n      if (err == 0) {\n        pcVar1 = ".warning";\n      }\n      format = (char *)dcgettext(0,"%s argument must be a string",5);\n      as_bad(format,pcVar1);\n      ignore_rest_of_line();\n    }" { (expression_statement "pcVar1 = ".error";" (assignment_expression "pcVar1 = ".error"" identifier = (string_literal "".error"" " string_content ")) ;) (if_statement "if (err == 0) {\n        pcVar1 = ".warning";\n      }" if (parenthesized_expression "(err == 0)" ( (binary_expression "err == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar1 = ".warning";\n      }" { (expression_statement "pcVar1 = ".warning";" (assignment_expression "pcVar1 = ".warning"" identifier = (string_literal "".warning"" " string_content ")) ;) })) (expression_statement "format = (char *)dcgettext(0,"%s argument must be a string",5);" (assignment_expression "format = (char *)dcgettext(0,"%s argument must be a string",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s argument must be a string",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s argument must be a string",5)" identifier (argument_list "(0,"%s argument must be a string",5)" ( number_literal , (string_literal ""%s argument must be a string"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(format,pcVar1);" (call_expression "as_bad(format,pcVar1)" identifier (argument_list "(format,pcVar1)" ( identifier , identifier ))) ;) (expression_statement "ignore_rest_of_line();" (call_expression "ignore_rest_of_line()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })) (labeled_statement "LAB_00034c04:\n  if (err == 0) {\n    as_warn("%s",pcVar1);\n  }\n  else {\n    as_bad("%s",pcVar1);\n  }" statement_identifier : (if_statement "if (err == 0) {\n    as_warn("%s",pcVar1);\n  }\n  else {\n    as_bad("%s",pcVar1);\n  }" if (parenthesized_expression "(err == 0)" ( (binary_expression "err == 0" identifier == number_literal) )) (compound_statement "{\n    as_warn("%s",pcVar1);\n  }" { (expression_statement "as_warn("%s",pcVar1);" (call_expression "as_warn("%s",pcVar1)" identifier (argument_list "("%s",pcVar1)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) }) (else_clause "else {\n    as_bad("%s",pcVar1);\n  }" else (compound_statement "{\n    as_bad("%s",pcVar1);\n  }" { (expression_statement "as_bad("%s",pcVar1);" (call_expression "as_bad("%s",pcVar1)" identifier (argument_list "("%s",pcVar1)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) })))) (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00034b50(int param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  byte bVar3;\n  char *pcVar4;\n  undefined4 local_10;\n  \n  local_10 = 0x34b58;\n  if (param_1 == 0) {\n    iVar1 = dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }\n  bVar3 = *DAT_000819b8;\n  if (bVar3 == 0x20) {\n    bVar3 = DAT_000819b8[1];\n    DAT_000819b8 = DAT_000819b8 + 1;\n  }\n  if ((&DAT_00078320)[bVar3] == '\0') {\n    if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }\n    return;\n  }\nLAB_00034c04:\n  if (param_1 == 0) {\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }\n  else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }\n  FUN_0002f430();\n  return;\n}\n\n" (function_definition "void FUN_00034b50(int param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  byte bVar3;\n  char *pcVar4;\n  undefined4 local_10;\n  \n  local_10 = 0x34b58;\n  if (param_1 == 0) {\n    iVar1 = dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }\n  bVar3 = *DAT_000819b8;\n  if (bVar3 == 0x20) {\n    bVar3 = DAT_000819b8[1];\n    DAT_000819b8 = DAT_000819b8 + 1;\n  }\n  if ((&DAT_00078320)[bVar3] == '\0') {\n    if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }\n    return;\n  }\nLAB_00034c04:\n  if (param_1 == 0) {\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }\n  else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }\n  FUN_0002f430();\n  return;\n}" primitive_type (function_declarator "FUN_00034b50(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  byte bVar3;\n  char *pcVar4;\n  undefined4 local_10;\n  \n  local_10 = 0x34b58;\n  if (param_1 == 0) {\n    iVar1 = dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }\n  bVar3 = *DAT_000819b8;\n  if (bVar3 == 0x20) {\n    bVar3 = DAT_000819b8[1];\n    DAT_000819b8 = DAT_000819b8 + 1;\n  }\n  if ((&DAT_00078320)[bVar3] == '\0') {\n    if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }\n    return;\n  }\nLAB_00034c04:\n  if (param_1 == 0) {\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }\n  else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }\n  FUN_0002f430();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 local_10;" type_identifier identifier ;) (expression_statement "local_10 = 0x34b58;" (assignment_expression "local_10 = 0x34b58" identifier = number_literal) ;) (if_statement "if (param_1 == 0) {\n    iVar1 = dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = dcgettext(0,".warning directive invoked in source file",5);\n  }" { (expression_statement "iVar1 = dcgettext(0,".warning directive invoked in source file",5);" (assignment_expression "iVar1 = dcgettext(0,".warning directive invoked in source file",5)" identifier = (call_expression "dcgettext(0,".warning directive invoked in source file",5)" identifier (argument_list "(0,".warning directive invoked in source file",5)" ( number_literal , (string_literal "".warning directive invoked in source file"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }" else (compound_statement "{\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }" { (expression_statement "iVar1 = dcgettext(0,".error directive invoked in source file",5);" (assignment_expression "iVar1 = dcgettext(0,".error directive invoked in source file",5)" identifier = (call_expression "dcgettext(0,".error directive invoked in source file",5)" identifier (argument_list "(0,".error directive invoked in source file",5)" ( number_literal , (string_literal "".error directive invoked in source file"" " string_content ") , number_literal )))) ;) }))) (expression_statement "bVar3 = *DAT_000819b8;" (assignment_expression "bVar3 = *DAT_000819b8" identifier = (pointer_expression "*DAT_000819b8" * identifier)) ;) (if_statement "if (bVar3 == 0x20) {\n    bVar3 = DAT_000819b8[1];\n    DAT_000819b8 = DAT_000819b8 + 1;\n  }" if (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) )) (compound_statement "{\n    bVar3 = DAT_000819b8[1];\n    DAT_000819b8 = DAT_000819b8 + 1;\n  }" { (expression_statement "bVar3 = DAT_000819b8[1];" (assignment_expression "bVar3 = DAT_000819b8[1]" identifier = (subscript_expression "DAT_000819b8[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_000819b8 = DAT_000819b8 + 1;" (assignment_expression "DAT_000819b8 = DAT_000819b8 + 1" identifier = (binary_expression "DAT_000819b8 + 1" identifier + number_literal)) ;) })) (if_statement "if ((&DAT_00078320)[bVar3] == '\0') {\n    if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }\n    return;\n  }" if (parenthesized_expression "((&DAT_00078320)[bVar3] == '\0')" ( (binary_expression "(&DAT_00078320)[bVar3] == '\0'" (subscript_expression "(&DAT_00078320)[bVar3]" (parenthesized_expression "(&DAT_00078320)" ( (pointer_expression "&DAT_00078320" & identifier) )) [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }\n    return;\n  }" { (if_statement "if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }" if (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) (compound_statement "{\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }" { (expression_statement "iVar1 = FUN_00034aa0(&local_10);" (assignment_expression "iVar1 = FUN_00034aa0(&local_10)" identifier = (call_expression "FUN_00034aa0(&local_10)" identifier (argument_list "(&local_10)" ( (pointer_expression "&local_10" & identifier) )))) ;) (if_statement "if (iVar1 != 0) goto LAB_00034c04;" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00034c04;" goto statement_identifier ;)) }) (else_clause "else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }" else (compound_statement "{\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }" { (expression_statement "pcVar4 = ".error";" (assignment_expression "pcVar4 = ".error"" identifier = (string_literal "".error"" " string_content ")) ;) (if_statement "if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar4 = ".warning";\n      }" { (expression_statement "pcVar4 = ".warning";" (assignment_expression "pcVar4 = ".warning"" identifier = (string_literal "".warning"" " string_content ")) ;) })) (expression_statement "uVar2 = dcgettext(0,"%s argument must be a string",5);" (assignment_expression "uVar2 = dcgettext(0,"%s argument must be a string",5)" identifier = (call_expression "dcgettext(0,"%s argument must be a string",5)" identifier (argument_list "(0,"%s argument must be a string",5)" ( number_literal , (string_literal ""%s argument must be a string"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002cea0(uVar2,pcVar4);" (call_expression "FUN_0002cea0(uVar2,pcVar4)" identifier (argument_list "(uVar2,pcVar4)" ( identifier , identifier ))) ;) (expression_statement "FUN_0002f1e0();" (call_expression "FUN_0002f1e0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })) (labeled_statement "LAB_00034c04:\n  if (param_1 == 0) {\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }\n  else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }" statement_identifier : (if_statement "if (param_1 == 0) {\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }\n  else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }" { (expression_statement "FUN_0002cdc0(&DAT_0005b1be,iVar1);" (call_expression "FUN_0002cdc0(&DAT_0005b1be,iVar1)" identifier (argument_list "(&DAT_0005b1be,iVar1)" ( (pointer_expression "&DAT_0005b1be" & identifier) , identifier ))) ;) }) (else_clause "else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }" else (compound_statement "{\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }" { (expression_statement "FUN_0002cea0(&DAT_0005b1be,iVar1);" (call_expression "FUN_0002cea0(&DAT_0005b1be,iVar1)" identifier (argument_list "(&DAT_0005b1be,iVar1)" ( (pointer_expression "&DAT_0005b1be" & identifier) , identifier ))) ;) })))) (expression_statement "FUN_0002f430();" (call_expression "FUN_0002f430()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression 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 )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (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 ( ))) ;) }))) (return_statement return ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) })))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00034b50(int param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  byte bVar3;\n  char *pcVar4;\n  undefined4 local_10;\n  \n  local_10 = 0x34b58;\n  if (param_1 == 0) {\n    iVar1 = dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }\n  bVar3 = *DAT_000819b8;\n  if (bVar3 == 0x20) {\n    bVar3 = DAT_000819b8[1];\n    DAT_000819b8 = DAT_000819b8 + 1;\n  }\n  if ((&DAT_00078320)[bVar3] == '\0') {\n    if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }\n    return;\n  }\nLAB_00034c04:\n  if (param_1 == 0) {\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }\n  else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }\n  FUN_0002f430();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00034b50(int param_1)" (identifier "FUN_00034b50") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  byte bVar3;\n  char *pcVar4;\n  undefined4 local_10;\n  \n  local_10 = 0x34b58;\n  if (param_1 == 0) {\n    iVar1 = dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }\n  bVar3 = *DAT_000819b8;\n  if (bVar3 == 0x20) {\n    bVar3 = DAT_000819b8[1];\n    DAT_000819b8 = DAT_000819b8 + 1;\n  }\n  if ((&DAT_00078320)[bVar3] == '\0') {\n    if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }\n    return;\n  }\nLAB_00034c04:\n  if (param_1 == 0) {\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }\n  else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }\n  FUN_0002f430();\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "undefined4 local_10;" (type_identifier "undefined4") (identifier "local_10") (; ";")) (expression_statement "local_10 = 0x34b58;" (assignment_expression "local_10 = 0x34b58" (identifier "local_10") (= "=") (number_literal "0x34b58")) (; ";")) (if_statement "if (param_1 == 0) {\n    iVar1 = dcgettext(0,".warning directive invoked in source file",5);\n  }\n  else {\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar1 = dcgettext(0,".warning directive invoked in source file",5);\n  }" ({ "{") (expression_statement "iVar1 = dcgettext(0,".warning directive invoked in source file",5);" (assignment_expression "iVar1 = dcgettext(0,".warning directive invoked in source file",5)" (identifier "iVar1") (= "=") (call_expression "dcgettext(0,".warning directive invoked in source file",5)" (identifier "dcgettext") (argument_list "(0,".warning directive invoked in source file",5)" (( "(") (number_literal "0") (, ",") (string_literal "".warning directive invoked in source file"" (" """) (string_content ".warning directive invoked in source file") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")) (else_clause "else {\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }" (else "else") (compound_statement "{\n    iVar1 = dcgettext(0,".error directive invoked in source file",5);\n  }" ({ "{") (expression_statement "iVar1 = dcgettext(0,".error directive invoked in source file",5);" (assignment_expression "iVar1 = dcgettext(0,".error directive invoked in source file",5)" (identifier "iVar1") (= "=") (call_expression "dcgettext(0,".error directive invoked in source file",5)" (identifier "dcgettext") (argument_list "(0,".error directive invoked in source file",5)" (( "(") (number_literal "0") (, ",") (string_literal "".error directive invoked in source file"" (" """) (string_content ".error directive invoked in source file") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")))) (expression_statement "bVar3 = *DAT_000819b8;" (assignment_expression "bVar3 = *DAT_000819b8" (identifier "bVar3") (= "=") (pointer_expression "*DAT_000819b8" (* "*") (identifier "DAT_000819b8"))) (; ";")) (if_statement "if (bVar3 == 0x20) {\n    bVar3 = DAT_000819b8[1];\n    DAT_000819b8 = DAT_000819b8 + 1;\n  }" (if "if") (parenthesized_expression "(bVar3 == 0x20)" (( "(") (binary_expression "bVar3 == 0x20" (identifier "bVar3") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n    bVar3 = DAT_000819b8[1];\n    DAT_000819b8 = DAT_000819b8 + 1;\n  }" ({ "{") (expression_statement "bVar3 = DAT_000819b8[1];" (assignment_expression "bVar3 = DAT_000819b8[1]" (identifier "bVar3") (= "=") (subscript_expression "DAT_000819b8[1]" (identifier "DAT_000819b8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "DAT_000819b8 = DAT_000819b8 + 1;" (assignment_expression "DAT_000819b8 = DAT_000819b8 + 1" (identifier "DAT_000819b8") (= "=") (binary_expression "DAT_000819b8 + 1" (identifier "DAT_000819b8") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if ((&DAT_00078320)[bVar3] == '\0') {\n    if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }\n    return;\n  }" (if "if") (parenthesized_expression "((&DAT_00078320)[bVar3] == '\0')" (( "(") (binary_expression "(&DAT_00078320)[bVar3] == '\0'" (subscript_expression "(&DAT_00078320)[bVar3]" (parenthesized_expression "(&DAT_00078320)" (( "(") (pointer_expression "&DAT_00078320" (& "&") (identifier "DAT_00078320")) () ")")) ([ "[") (identifier "bVar3") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }\n    return;\n  }" ({ "{") (if_statement "if (bVar3 == 0x22) {\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }\n    else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }" (if "if") (parenthesized_expression "(bVar3 == 0x22)" (( "(") (binary_expression "bVar3 == 0x22" (identifier "bVar3") (== "==") (number_literal "0x22")) () ")")) (compound_statement "{\n      iVar1 = FUN_00034aa0(&local_10);\n      if (iVar1 != 0) goto LAB_00034c04;\n    }" ({ "{") (expression_statement "iVar1 = FUN_00034aa0(&local_10);" (assignment_expression "iVar1 = FUN_00034aa0(&local_10)" (identifier "iVar1") (= "=") (call_expression "FUN_00034aa0(&local_10)" (identifier "FUN_00034aa0") (argument_list "(&local_10)" (( "(") (pointer_expression "&local_10" (& "&") (identifier "local_10")) () ")")))) (; ";")) (if_statement "if (iVar1 != 0) goto LAB_00034c04;" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00034c04;" (goto "goto") (statement_identifier "LAB_00034c04") (; ";"))) (} "}")) (else_clause "else {\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }" (else "else") (compound_statement "{\n      pcVar4 = ".error";\n      if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }\n      uVar2 = dcgettext(0,"%s argument must be a string",5);\n      FUN_0002cea0(uVar2,pcVar4);\n      FUN_0002f1e0();\n    }" ({ "{") (expression_statement "pcVar4 = ".error";" (assignment_expression "pcVar4 = ".error"" (identifier "pcVar4") (= "=") (string_literal "".error"" (" """) (string_content ".error") (" """))) (; ";")) (if_statement "if (param_1 == 0) {\n        pcVar4 = ".warning";\n      }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar4 = ".warning";\n      }" ({ "{") (expression_statement "pcVar4 = ".warning";" (assignment_expression "pcVar4 = ".warning"" (identifier "pcVar4") (= "=") (string_literal "".warning"" (" """) (string_content ".warning") (" """))) (; ";")) (} "}"))) (expression_statement "uVar2 = dcgettext(0,"%s argument must be a string",5);" (assignment_expression "uVar2 = dcgettext(0,"%s argument must be a string",5)" (identifier "uVar2") (= "=") (call_expression "dcgettext(0,"%s argument must be a string",5)" (identifier "dcgettext") (argument_list "(0,"%s argument must be a string",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s argument must be a string"" (" """) (string_content "%s argument must be a string") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002cea0(uVar2,pcVar4);" (call_expression "FUN_0002cea0(uVar2,pcVar4)" (identifier "FUN_0002cea0") (argument_list "(uVar2,pcVar4)" (( "(") (identifier "uVar2") (, ",") (identifier "pcVar4") () ")"))) (; ";")) (expression_statement "FUN_0002f1e0();" (call_expression "FUN_0002f1e0()" (identifier "FUN_0002f1e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "LAB_00034c04:\n  if (param_1 == 0) {\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }\n  else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }" (statement_identifier "LAB_00034c04") (: ":") (if_statement "if (param_1 == 0) {\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }\n  else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0002cdc0(&DAT_0005b1be,iVar1);\n  }" ({ "{") (expression_statement "FUN_0002cdc0(&DAT_0005b1be,iVar1);" (call_expression "FUN_0002cdc0(&DAT_0005b1be,iVar1)" (identifier "FUN_0002cdc0") (argument_list "(&DAT_0005b1be,iVar1)" (( "(") (pointer_expression "&DAT_0005b1be" (& "&") (identifier "DAT_0005b1be")) (, ",") (identifier "iVar1") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }" (else "else") (compound_statement "{\n    FUN_0002cea0(&DAT_0005b1be,iVar1);\n  }" ({ "{") (expression_statement "FUN_0002cea0(&DAT_0005b1be,iVar1);" (call_expression "FUN_0002cea0(&DAT_0005b1be,iVar1)" (identifier "FUN_0002cea0") (argument_list "(&DAT_0005b1be,iVar1)" (( "(") (pointer_expression "&DAT_0005b1be" (& "&") (identifier "DAT_0005b1be")) (, ",") (identifier "iVar1") () ")"))) (; ";")) (} "}"))))) (expression_statement "FUN_0002f430();" (call_expression "FUN_0002f430()" (identifier "FUN_0002f430") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(int var_1)

{
  char *var_6;
  char *format;
  type_1 var_3;
  int len;
  
  len = 0x34b58;
  if (var_1 == 0) {
    var_6 = (char *)var_2(0,".warning directive invoked in source file",5);
  }
  else {
    var_6 = (char *)var_2(0,".error directive invoked in source file",5);
  }
  var_3 = *var_4;
  if (var_3 == 0x20) {
    var_3 = var_4[1];
    var_4 = var_4 + 1;
  }
  if (is_end_of_line[var_3] == '\0') {
    if (var_3 == 0x22) {
      var_6 = var_5(&len);
      if (var_6 != (char *)0x0) goto LAB_00034c04;
    }
    else {
      var_6 = ".error";
      if (var_1 == 0) {
        var_6 = ".warning";
      }
      format = (char *)var_2(0,"%s argument must be a string",5);
      var_7(format,var_6);
      var_8();
    }
    return;
  }
LAB_00034c04:
  if (var_1 == 0) {
    var_9("%s",var_6);
  }
  else {
    var_7("%s",var_6);
  }
  var_10();
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) alternative: (else_clause (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 (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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 (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))))) (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)))))) (return_statement))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

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

void MASKED(int param_1)

{
  int iVar1;
  undefined4 uVar2;
  byte bVar3;
  char *pcVar4;
  undefined4 local_10;
  
  local_10 = 0x34b58;
  if (param_1 == 0) {
    iVar1 = dcgettext(0,".warning directive invoked in source file",5);
  }
  else {
    iVar1 = dcgettext(0,".error directive invoked in source file",5);
  }
  bVar3 = *DAT_000819b8;
  if (bVar3 == 0x20) {
    bVar3 = DAT_000819b8[1];
    DAT_000819b8 = DAT_000819b8 + 1;
  }
  if ((&DAT_00078320)[bVar3] == '\0') {
    if (bVar3 == 0x22) {
      iVar1 = FUN_00034aa0(&local_10);
      if (iVar1 != 0) goto LAB_00034c04;
    }
    else {
      pcVar4 = ".error";
      if (param_1 == 0) {
        pcVar4 = ".warning";
      }
      uVar2 = dcgettext(0,"%s argument must be a string",5);
      FUN_0002cea0(uVar2,pcVar4);
      FUN_0002f1e0();
    }
    return;
  }
LAB_00034c04:
  if (param_1 == 0) {
    FUN_0002cdc0(&DAT_0005b1be,iVar1);
  }
  else {
    FUN_0002cea0(&DAT_0005b1be,iVar1);
  }
  FUN_0002f430();
  return;
}

