
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* DWARF original prototype: void writeline(linebuffer * line, FILE * stream, int class, linebuffer
   * line) */

void __regparm3 writeline(linebuffer *line,FILE *stream,int class,linebuffer *line_1)

{
  if (line_1 == (linebuffer *)0x2) {
    if (!only_file_2) {
      return;
    }
    if (only_file_1) {
      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);
    }
  }
  else if (line_1 == (linebuffer *)0x3) {
    if (!both) {
      return;
    }
    if (only_file_1) {
      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);
    }
    if (only_file_2 != false) {
      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);
    }
  }
  else if (!only_file_1) {
    return;
  }
  fwrite_unlocked((void *)stream->_flags,1,line->size,(FILE *)class);
  return;
}



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

void __regparm3 FUN_00011ff0(size_t *param_1,undefined4 *param_2,FILE *param_3,int param_4)

{
  if (param_4 == 2) {
    if (DAT_0001c175 == '\0') {
      return;
    }
    if (DAT_0001c176 != '\0') {
      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);
    }
  }
  else if (param_4 == 3) {
    if (DAT_0001c174 == '\0') {
      return;
    }
    if (DAT_0001c176 != '\0') {
      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);
    }
    if (DAT_0001c175 != '\0') {
      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);
    }
  }
  else if (DAT_0001c176 == '\0') {
    return;
  }
  fwrite_unlocked((void *)*param_2,1,*param_1,param_3);
  return;
}


PUSH ESI
MOV ESI,EAX
PUSH EBX
CALL 0x00011eb0
ADD EBX,0xa007
SUB ESP,0x14
MOV EAX,dword ptr [ESP + 0x20]
CMP EAX,0x2
JZ 0x00012030
CMP EAX,0x3
JZ 0x00012070
CMP byte ptr [EBX + 0x176],0x0
JZ 0x00012028
PUSH ECX
PUSH dword ptr [ESI]
PUSH 0x1
PUSH dword ptr [EDX]
CALL 0x00011270
ADD ESP,0x10
ADD ESP,0x14
POP EBX
POP ESI
RET
CMP byte ptr [EBX + 0x175],0x0
JZ 0x00012028
CMP byte ptr [EBX + 0x176],0x0
JZ 0x00012019
MOV dword ptr [ESP + 0xc],EDX
PUSH ECX
MOV dword ptr [ESP + 0xc],ECX
PUSH dword ptr [EBX + 0x168]
PUSH 0x1
PUSH dword ptr [EBX + 0xec]
CALL 0x00011270
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0xc]
JMP 0x00012019
CMP byte ptr [EBX + 0x174],0x0
JZ 0x00012028
CMP byte ptr [EBX + 0x176],0x0
JZ 0x000120a9
MOV dword ptr [ESP + 0xc],EDX
PUSH ECX
MOV dword ptr [ESP + 0xc],ECX
PUSH dword ptr [EBX + 0x168]
PUSH 0x1
PUSH dword ptr [EBX + 0xec]
CALL 0x00011270
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
MOV ECX,dword ptr [ESP + 0x8]
CMP byte ptr [EBX + 0x175],0x0
JZ 0x00012019
MOV dword ptr [ESP + 0xc],EDX
PUSH ECX
MOV dword ptr [ESP + 0xc],ECX
PUSH dword ptr [EBX + 0x168]
PUSH 0x1
PUSH dword ptr [EBX + 0xec]
CALL 0x00011270
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
MOV ECX,dword ptr [ESP + 0x8]
JMP 0x00012019
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_00011ff0(size_t *param_1,undefined4 *param_2,FILE *param_3,int param_4)\n\n{\n  if (param_4 == 2) {\n    if (DAT_0001c175 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }\n  fwrite_unlocked((void *)*param_2,1,*param_1,param_3);\n  return;\n}\n\n" comment (function_definition "void __regparm3 FUN_00011ff0(size_t *param_1,undefined4 *param_2,FILE *param_3,int param_4)\n\n{\n  if (param_4 == 2) {\n    if (DAT_0001c175 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }\n  fwrite_unlocked((void *)*param_2,1,*param_1,param_3);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00011ff0(size_t *param_1,undefined4 *param_2,FILE *param_3,int param_4)" identifier (parameter_list "(size_t *param_1,undefined4 *param_2,FILE *param_3,int param_4)" ( (parameter_declaration "size_t *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "FILE *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  if (param_4 == 2) {\n    if (DAT_0001c175 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }\n  fwrite_unlocked((void *)*param_2,1,*param_1,param_3);\n  return;\n}" { (if_statement "if (param_4 == 2) {\n    if (DAT_0001c175 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }" if (parenthesized_expression "(param_4 == 2)" ( (binary_expression "param_4 == 2" identifier == number_literal) )) (compound_statement "{\n    if (DAT_0001c175 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }" { (if_statement "if (DAT_0001c175 == '\0') {\n      return;\n    }" if (parenthesized_expression "(DAT_0001c175 == '\0')" ( (binary_expression "DAT_0001c175 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" if (parenthesized_expression "(DAT_0001c176 != '\0')" ( (binary_expression "DAT_0001c176 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" { (expression_statement "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);" (call_expression "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" identifier (argument_list "(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" ( identifier , number_literal , identifier , identifier ))) ;) })) }) (else_clause "else if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }" else (if_statement "if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }" if (parenthesized_expression "(param_4 == 3)" ( (binary_expression "param_4 == 3" identifier == number_literal) )) (compound_statement "{\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }" { (if_statement "if (DAT_0001c174 == '\0') {\n      return;\n    }" if (parenthesized_expression "(DAT_0001c174 == '\0')" ( (binary_expression "DAT_0001c174 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" if (parenthesized_expression "(DAT_0001c176 != '\0')" ( (binary_expression "DAT_0001c176 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" { (expression_statement "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);" (call_expression "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" identifier (argument_list "(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" ( identifier , number_literal , identifier , identifier ))) ;) })) (if_statement "if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" if (parenthesized_expression "(DAT_0001c175 != '\0')" ( (binary_expression "DAT_0001c175 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" { (expression_statement "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);" (call_expression "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" identifier (argument_list "(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" ( identifier , number_literal , identifier , identifier ))) ;) })) }) (else_clause "else if (DAT_0001c176 == '\0') {\n    return;\n  }" else (if_statement "if (DAT_0001c176 == '\0') {\n    return;\n  }" if (parenthesized_expression "(DAT_0001c176 == '\0')" ( (binary_expression "DAT_0001c176 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })))))) (expression_statement "fwrite_unlocked((void *)*param_2,1,*param_1,param_3);" (call_expression "fwrite_unlocked((void *)*param_2,1,*param_1,param_3)" identifier (argument_list "((void *)*param_2,1,*param_1,param_3)" ( (cast_expression "(void *)*param_2" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) , number_literal , (pointer_expression "*param_1" * identifier) , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* DWARF original prototype: void writeline(linebuffer * line, FILE * stream, int class, linebuffer\n   * line) */\n\nvoid __regparm3 writeline(linebuffer *line,FILE *stream,int class,linebuffer *line_1)\n\n{\n  if (line_1 == (linebuffer *)0x2) {\n    if (!only_file_2) {\n      return;\n    }\n    if (only_file_1) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n  }\n  else if (line_1 == (linebuffer *)0x3) {\n    if (!both) {\n      return;\n    }\n    if (only_file_1) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n    if (only_file_2 != false) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n  }\n  else if (!only_file_1) {\n    return;\n  }\n  fwrite_unlocked((void *)stream->_flags,1,line->size,(FILE *)class);\n  return;\n}\n\n" comment comment (function_definition "void __regparm3 writeline(linebuffer *line,FILE *stream,int class,linebuffer *line_1)\n\n{\n  if (line_1 == (linebuffer *)0x2) {\n    if (!only_file_2) {\n      return;\n    }\n    if (only_file_1) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n  }\n  else if (line_1 == (linebuffer *)0x3) {\n    if (!both) {\n      return;\n    }\n    if (only_file_1) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n    if (only_file_2 != false) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n  }\n  else if (!only_file_1) {\n    return;\n  }\n  fwrite_unlocked((void *)stream->_flags,1,line->size,(FILE *)class);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "writeline(linebuffer *line,FILE *stream,int class,linebuffer *line_1)" identifier (parameter_list "(linebuffer *line,FILE *stream,int class,linebuffer *line_1)" ( (parameter_declaration "linebuffer *line" type_identifier (pointer_declarator "*line" * identifier)) , (parameter_declaration "FILE *stream" type_identifier (pointer_declarator "*stream" * identifier)) , (parameter_declaration "int class" primitive_type identifier) , (parameter_declaration "linebuffer *line_1" type_identifier (pointer_declarator "*line_1" * identifier)) ))) (compound_statement "{\n  if (line_1 == (linebuffer *)0x2) {\n    if (!only_file_2) {\n      return;\n    }\n    if (only_file_1) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n  }\n  else if (line_1 == (linebuffer *)0x3) {\n    if (!both) {\n      return;\n    }\n    if (only_file_1) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n    if (only_file_2 != false) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n  }\n  else if (!only_file_1) {\n    return;\n  }\n  fwrite_unlocked((void *)stream->_flags,1,line->size,(FILE *)class);\n  return;\n}" { (if_statement "if (line_1 == (linebuffer *)0x2) {\n    if (!only_file_2) {\n      return;\n    }\n    if (only_file_1) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n  }\n  else if (line_1 == (linebuffer *)0x3) {\n    if (!both) {\n      return;\n    }\n    if (only_file_1) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n    if (only_file_2 != false) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n  }\n  else if (!only_file_1) {\n    return;\n  }" if (parenthesized_expression "(line_1 == (linebuffer *)0x2)" ( (binary_expression "line_1 == (linebuffer *)0x2" identifier == (cast_expression "(linebuffer *)0x2" ( (type_descriptor "linebuffer *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (!only_file_2) {\n      return;\n    }\n    if (only_file_1) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n  }" { (if_statement "if (!only_file_2) {\n      return;\n    }" if (parenthesized_expression "(!only_file_2)" ( (unary_expression "!only_file_2" ! identifier) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (only_file_1) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }" if (parenthesized_expression "(only_file_1)" ( identifier )) (compound_statement "{\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }" { (expression_statement "fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);" (call_expression "fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class)" identifier (argument_list "(col_sep,1,col_sep_len,(FILE *)class)" ( identifier , number_literal , identifier , (cast_expression "(FILE *)class" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) }) (else_clause "else if (line_1 == (linebuffer *)0x3) {\n    if (!both) {\n      return;\n    }\n    if (only_file_1) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n    if (only_file_2 != false) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n  }\n  else if (!only_file_1) {\n    return;\n  }" else (if_statement "if (line_1 == (linebuffer *)0x3) {\n    if (!both) {\n      return;\n    }\n    if (only_file_1) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n    if (only_file_2 != false) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n  }\n  else if (!only_file_1) {\n    return;\n  }" if (parenthesized_expression "(line_1 == (linebuffer *)0x3)" ( (binary_expression "line_1 == (linebuffer *)0x3" identifier == (cast_expression "(linebuffer *)0x3" ( (type_descriptor "linebuffer *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (!both) {\n      return;\n    }\n    if (only_file_1) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n    if (only_file_2 != false) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }\n  }" { (if_statement "if (!both) {\n      return;\n    }" if (parenthesized_expression "(!both)" ( (unary_expression "!both" ! identifier) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (only_file_1) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }" if (parenthesized_expression "(only_file_1)" ( identifier )) (compound_statement "{\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }" { (expression_statement "fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);" (call_expression "fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class)" identifier (argument_list "(col_sep,1,col_sep_len,(FILE *)class)" ( identifier , number_literal , identifier , (cast_expression "(FILE *)class" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) (if_statement "if (only_file_2 != false) {\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }" if (parenthesized_expression "(only_file_2 != false)" ( (binary_expression "only_file_2 != false" identifier != false) )) (compound_statement "{\n      fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);\n    }" { (expression_statement "fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class);" (call_expression "fwrite_unlocked(col_sep,1,col_sep_len,(FILE *)class)" identifier (argument_list "(col_sep,1,col_sep_len,(FILE *)class)" ( identifier , number_literal , identifier , (cast_expression "(FILE *)class" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) }) (else_clause "else if (!only_file_1) {\n    return;\n  }" else (if_statement "if (!only_file_1) {\n    return;\n  }" if (parenthesized_expression "(!only_file_1)" ( (unary_expression "!only_file_1" ! identifier) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })))))) (expression_statement "fwrite_unlocked((void *)stream->_flags,1,line->size,(FILE *)class);" (call_expression "fwrite_unlocked((void *)stream->_flags,1,line->size,(FILE *)class)" identifier (argument_list "((void *)stream->_flags,1,line->size,(FILE *)class)" ( (cast_expression "(void *)stream->_flags" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "stream->_flags" identifier -> field_identifier)) , number_literal , (field_expression "line->size" identifier -> field_identifier) , (cast_expression "(FILE *)class" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 FUN_00011ff0(size_t *param_1,undefined4 *param_2,FILE *param_3,int param_4)\n\n{\n  if (param_4 == 2) {\n    if (DAT_0001c175 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }\n  fwrite_unlocked((void *)*param_2,1,*param_1,param_3);\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00011ff0(size_t *param_1,undefined4 *param_2,FILE *param_3,int param_4)\n\n{\n  if (param_4 == 2) {\n    if (DAT_0001c175 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }\n  fwrite_unlocked((void *)*param_2,1,*param_1,param_3);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00011ff0(size_t *param_1,undefined4 *param_2,FILE *param_3,int param_4)" identifier (parameter_list "(size_t *param_1,undefined4 *param_2,FILE *param_3,int param_4)" ( (parameter_declaration "size_t *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "FILE *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  if (param_4 == 2) {\n    if (DAT_0001c175 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }\n  fwrite_unlocked((void *)*param_2,1,*param_1,param_3);\n  return;\n}" { (if_statement "if (param_4 == 2) {\n    if (DAT_0001c175 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }" if (parenthesized_expression "(param_4 == 2)" ( (binary_expression "param_4 == 2" identifier == number_literal) )) (compound_statement "{\n    if (DAT_0001c175 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }" { (if_statement "if (DAT_0001c175 == '\0') {\n      return;\n    }" if (parenthesized_expression "(DAT_0001c175 == '\0')" ( (binary_expression "DAT_0001c175 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" if (parenthesized_expression "(DAT_0001c176 != '\0')" ( (binary_expression "DAT_0001c176 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" { (expression_statement "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);" (call_expression "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" identifier (argument_list "(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" ( identifier , number_literal , identifier , identifier ))) ;) })) }) (else_clause "else if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }" else (if_statement "if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }" if (parenthesized_expression "(param_4 == 3)" ( (binary_expression "param_4 == 3" identifier == number_literal) )) (compound_statement "{\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }" { (if_statement "if (DAT_0001c174 == '\0') {\n      return;\n    }" if (parenthesized_expression "(DAT_0001c174 == '\0')" ( (binary_expression "DAT_0001c174 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" if (parenthesized_expression "(DAT_0001c176 != '\0')" ( (binary_expression "DAT_0001c176 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" { (expression_statement "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);" (call_expression "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" identifier (argument_list "(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" ( identifier , number_literal , identifier , identifier ))) ;) })) (if_statement "if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" if (parenthesized_expression "(DAT_0001c175 != '\0')" ( (binary_expression "DAT_0001c175 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" { (expression_statement "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);" (call_expression "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" identifier (argument_list "(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" ( identifier , number_literal , identifier , identifier ))) ;) })) }) (else_clause "else if (DAT_0001c176 == '\0') {\n    return;\n  }" else (if_statement "if (DAT_0001c176 == '\0') {\n    return;\n  }" if (parenthesized_expression "(DAT_0001c176 == '\0')" ( (binary_expression "DAT_0001c176 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })))))) (expression_statement "fwrite_unlocked((void *)*param_2,1,*param_1,param_3);" (call_expression "fwrite_unlocked((void *)*param_2,1,*param_1,param_3)" identifier (argument_list "((void *)*param_2,1,*param_1,param_3)" ( (cast_expression "(void *)*param_2" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) , number_literal , (pointer_expression "*param_1" * identifier) , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) })))))) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , LIT , (pointer_expression * IDENT) , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_00011ff0(size_t *param_1,undefined4 *param_2,FILE *param_3,int param_4)\n\n{\n  if (param_4 == 2) {\n    if (DAT_0001c175 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }\n  fwrite_unlocked((void *)*param_2,1,*param_1,param_3);\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00011ff0(size_t *param_1,undefined4 *param_2,FILE *param_3,int param_4)" (identifier "FUN_00011ff0") (parameter_list "(size_t *param_1,undefined4 *param_2,FILE *param_3,int param_4)" (( "(") (parameter_declaration "size_t *param_1" (primitive_type "size_t") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "FILE *param_3" (type_identifier "FILE") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) () ")"))) (compound_statement "{\n  if (param_4 == 2) {\n    if (DAT_0001c175 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }\n  fwrite_unlocked((void *)*param_2,1,*param_1,param_3);\n  return;\n}" ({ "{") (if_statement "if (param_4 == 2) {\n    if (DAT_0001c175 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }" (if "if") (parenthesized_expression "(param_4 == 2)" (( "(") (binary_expression "param_4 == 2" (identifier "param_4") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    if (DAT_0001c175 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }" ({ "{") (if_statement "if (DAT_0001c175 == '\0') {\n      return;\n    }" (if "if") (parenthesized_expression "(DAT_0001c175 == '\0')" (( "(") (binary_expression "DAT_0001c175 == '\0'" (identifier "DAT_0001c175") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" (if "if") (parenthesized_expression "(DAT_0001c176 != '\0')" (( "(") (binary_expression "DAT_0001c176 != '\0'" (identifier "DAT_0001c176") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" ({ "{") (expression_statement "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);" (call_expression "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" (identifier "fwrite_unlocked") (argument_list "(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" (( "(") (identifier "PTR_DAT_0001c0ec") (, ",") (number_literal "1") (, ",") (identifier "DAT_0001c168") (, ",") (identifier "param_3") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }" (else "else") (if_statement "if (param_4 == 3) {\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }\n  else if (DAT_0001c176 == '\0') {\n    return;\n  }" (if "if") (parenthesized_expression "(param_4 == 3)" (( "(") (binary_expression "param_4 == 3" (identifier "param_4") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n    if (DAT_0001c174 == '\0') {\n      return;\n    }\n    if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n    if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }\n  }" ({ "{") (if_statement "if (DAT_0001c174 == '\0') {\n      return;\n    }" (if "if") (parenthesized_expression "(DAT_0001c174 == '\0')" (( "(") (binary_expression "DAT_0001c174 == '\0'" (identifier "DAT_0001c174") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (DAT_0001c176 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" (if "if") (parenthesized_expression "(DAT_0001c176 != '\0')" (( "(") (binary_expression "DAT_0001c176 != '\0'" (identifier "DAT_0001c176") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" ({ "{") (expression_statement "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);" (call_expression "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" (identifier "fwrite_unlocked") (argument_list "(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" (( "(") (identifier "PTR_DAT_0001c0ec") (, ",") (number_literal "1") (, ",") (identifier "DAT_0001c168") (, ",") (identifier "param_3") () ")"))) (; ";")) (} "}"))) (if_statement "if (DAT_0001c175 != '\0') {\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" (if "if") (parenthesized_expression "(DAT_0001c175 != '\0')" (( "(") (binary_expression "DAT_0001c175 != '\0'" (identifier "DAT_0001c175") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);\n    }" ({ "{") (expression_statement "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);" (call_expression "fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" (identifier "fwrite_unlocked") (argument_list "(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3)" (( "(") (identifier "PTR_DAT_0001c0ec") (, ",") (number_literal "1") (, ",") (identifier "DAT_0001c168") (, ",") (identifier "param_3") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (DAT_0001c176 == '\0') {\n    return;\n  }" (else "else") (if_statement "if (DAT_0001c176 == '\0') {\n    return;\n  }" (if "if") (parenthesized_expression "(DAT_0001c176 == '\0')" (( "(") (binary_expression "DAT_0001c176 == '\0'" (identifier "DAT_0001c176") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))))))) (expression_statement "fwrite_unlocked((void *)*param_2,1,*param_1,param_3);" (call_expression "fwrite_unlocked((void *)*param_2,1,*param_1,param_3)" (identifier "fwrite_unlocked") (argument_list "((void *)*param_2,1,*param_1,param_3)" (( "(") (cast_expression "(void *)*param_2" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (, ",") (number_literal "1") (, ",") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (identifier "param_3") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* DWARF original prototype: void writeline(linebuffer * line, FILE * stream, int class, linebuffer
   * line) */

void __regparm3 function_1(type_1 *line,type_2 *stream,int class,type_1 *var_1)

{
  if (var_1 == (type_1 *)0x2) {
    if (!var_3) {
      return;
    }
    if (only_file_1) {
      var_2(col_sep,1,col_sep_len,(type_2 *)class);
    }
  }
  else if (var_1 == (type_1 *)0x3) {
    if (!both) {
      return;
    }
    if (only_file_1) {
      var_2(col_sep,1,col_sep_len,(type_2 *)class);
    }
    if (var_3 != false) {
      var_2(col_sep,1,col_sep_len,(type_2 *)class);
    }
  }
  else if (!only_file_1) {
    return;
  }
  var_2((void *)stream->_flags,1,line->size,(type_2 *)class);
  return;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (return_statement))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (number_literal) (pointer_expression argument: (identifier)) (identifier)))) (return_statement))))

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

void __regparm3 MASKED(size_t *param_1,undefined4 *param_2,FILE *param_3,int param_4)

{
  if (param_4 == 2) {
    if (DAT_0001c175 == '\0') {
      return;
    }
    if (DAT_0001c176 != '\0') {
      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);
    }
  }
  else if (param_4 == 3) {
    if (DAT_0001c174 == '\0') {
      return;
    }
    if (DAT_0001c176 != '\0') {
      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);
    }
    if (DAT_0001c175 != '\0') {
      fwrite_unlocked(PTR_DAT_0001c0ec,1,DAT_0001c168,param_3);
    }
  }
  else if (DAT_0001c176 == '\0') {
    return;
  }
  fwrite_unlocked((void *)*param_2,1,*param_1,param_3);
  return;
}

