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

void cg_read_rec(FILE *ifp,char *filename)

{
  char *pcVar1;
  int iVar2;
  char *__format;
  uint count;
  bfd_vma from_pc;
  bfd_vma self_pc;
  undefined4 uStack_14;
  
  uStack_14 = 0x14449;
  iVar2 = gmon_io_read_vma(ifp,&from_pc);
  if (iVar2 == 0) {
    iVar2 = gmon_io_read_vma(ifp,&self_pc);
    if (iVar2 == 0) {
      iVar2 = gmon_io_read_32(ifp,&count);
      if (iVar2 == 0) {
        if (((byte)debug_level & 0x40) != 0) {
          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,
                 (undefined4)self_pc,count);
        }
        cg_tally(CONCAT44(from_pc._4_4_,(undefined4)from_pc),
                 CONCAT44(self_pc._4_4_,(undefined4)self_pc),count);
        return;
      }
    }
  }
  pcVar1 = whoami;
  __format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);
  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar1,filename);
                    /* WARNING: Subroutine does not return */
  done(1);
}



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

void FUN_00014440(undefined4 param_1,undefined4 param_2)

{
  undefined4 uVar1;
  int iVar2;
  char *__format;
  undefined4 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined4 local_24;
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x14449;
  iVar2 = FUN_00019cc0(param_1,&local_2c);
  if (iVar2 == 0) {
    iVar2 = FUN_00019cc0(param_1,&local_24);
    if (iVar2 == 0) {
      iVar2 = FUN_00019c60(param_1,&local_30);
      if (iVar2 == 0) {
        if (((byte)DAT_0002e158 & 0x40) != 0) {
          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);
        }
        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);
        return;
      }
    }
  }
  uVar1 = DAT_0002e508;
  __format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);
  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2);
                    /* WARNING: Subroutine does not return */
  FUN_0001adb0(1);
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00013030
ADD EBX,0x18bb7
SUB ESP,0x34
MOV ESI,dword ptr [ESP + 0x48]
LEA EAX,[ESP + 0x18]
PUSH EAX
PUSH ESI
CALL 0x00019cc0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000144f8
SUB ESP,0x8
LEA EAX,[ESP + 0x20]
PUSH EAX
PUSH ESI
CALL 0x00019cc0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000144f8
SUB ESP,0x8
LEA EAX,[ESP + 0x14]
PUSH EAX
PUSH ESI
CALL 0x00019c60
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000144f8
LEA EBP,[EBX + 0x1158]
MOV ECX,dword ptr [ESP + 0xc]
MOV ESI,dword ptr [ESP + 0x18]
MOV EDI,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x14]
TEST byte ptr [EBP],0x40
JNZ 0x000144d0
SUB ESP,0xc
PUSH ECX
PUSH EDI
PUSH ESI
PUSH EDX
PUSH EAX
CALL 0x00014320
ADD ESP,0x4c
POP EBX
POP ESI
POP EDI
POP EBP
RET
PUSH ECX
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xffff5210]
PUSH EAX
CALL 0x00012070
MOV ECX,dword ptr [ESP + 0x1c]
MOV ESI,dword ptr [ESP + 0x28]
MOV EDI,dword ptr [ESP + 0x2c]
MOV EAX,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x24]
ADD ESP,0x10
JMP 0x000144b6
LEA EAX,[EBX + 0x1508]
SUB ESP,0x4
MOV ESI,dword ptr [EAX]
LEA EAX,[EBX + 0xffff5058]
PUSH 0x5
PUSH EAX
LEA EAX,[EBX + 0xffff500c]
PUSH EAX
CALL 0x00012120
PUSH dword ptr [ESP + 0x54]
PUSH ESI
PUSH EAX
MOV EAX,dword ptr [EBX + 0xffffffcc]
PUSH dword ptr [EAX]
CALL 0x00012310
ADD ESP,0x14
PUSH 0x1
CALL 0x0001adb0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00014440(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  char *__format;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x14449;\n  iVar2 = FUN_00019cc0(param_1,&local_2c);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00019cc0(param_1,&local_24);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }\n  }\n  uVar1 = DAT_0002e508;\n  __format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2);\n                    /* WARNING: Subroutine does not return */\n  FUN_0001adb0(1);\n}\n\n" comment (function_definition "void FUN_00014440(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  char *__format;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x14449;\n  iVar2 = FUN_00019cc0(param_1,&local_2c);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00019cc0(param_1,&local_24);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }\n  }\n  uVar1 = DAT_0002e508;\n  __format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2);\n                    /* WARNING: Subroutine does not return */\n  FUN_0001adb0(1);\n}" primitive_type (function_declarator "FUN_00014440(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  char *__format;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x14449;\n  iVar2 = FUN_00019cc0(param_1,&local_2c);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00019cc0(param_1,&local_24);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }\n  }\n  uVar1 = DAT_0002e508;\n  __format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2);\n                    /* WARNING: Subroutine does not return */\n  FUN_0001adb0(1);\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x14449;" (assignment_expression "uStack_14 = 0x14449" identifier = number_literal) ;) (expression_statement "iVar2 = FUN_00019cc0(param_1,&local_2c);" (assignment_expression "iVar2 = FUN_00019cc0(param_1,&local_2c)" identifier = (call_expression "FUN_00019cc0(param_1,&local_2c)" identifier (argument_list "(param_1,&local_2c)" ( identifier , (pointer_expression "&local_2c" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n    iVar2 = FUN_00019cc0(param_1,&local_24);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar2 = FUN_00019cc0(param_1,&local_24);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }\n  }" { (expression_statement "iVar2 = FUN_00019cc0(param_1,&local_24);" (assignment_expression "iVar2 = FUN_00019cc0(param_1,&local_24)" identifier = (call_expression "FUN_00019cc0(param_1,&local_24)" identifier (argument_list "(param_1,&local_24)" ( identifier , (pointer_expression "&local_24" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }" { (expression_statement "iVar2 = FUN_00019c60(param_1,&local_30);" (assignment_expression "iVar2 = FUN_00019c60(param_1,&local_30)" identifier = (call_expression "FUN_00019c60(param_1,&local_30)" identifier (argument_list "(param_1,&local_30)" ( identifier , (pointer_expression "&local_30" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }" { (if_statement "if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }" if (parenthesized_expression "(((byte)DAT_0002e158 & 0x40) != 0)" ( (binary_expression "((byte)DAT_0002e158 & 0x40) != 0" (parenthesized_expression "((byte)DAT_0002e158 & 0x40)" ( (binary_expression "(byte)DAT_0002e158 & 0x40" (cast_expression "(byte)DAT_0002e158" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }" { (expression_statement "printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);" (call_expression "printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30)" identifier (argument_list "("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30)" ( (string_literal ""[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) (expression_statement "FUN_00014320(local_2c,local_28,local_24,local_20,local_30);" (call_expression "FUN_00014320(local_2c,local_28,local_24,local_20,local_30)" identifier (argument_list "(local_2c,local_28,local_24,local_20,local_30)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) })) })) (expression_statement "uVar1 = DAT_0002e508;" (assignment_expression "uVar1 = DAT_0002e508" identifier = identifier) ;) (expression_statement "__format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);" (assignment_expression "__format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5)" identifier = (cast_expression "(char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext("gprof","%s: %s: unexpected end of file\n",5)" identifier (argument_list "("gprof","%s: %s: unexpected end of file\n",5)" ( (string_literal ""gprof"" " string_content ") , (string_literal ""%s: %s: unexpected end of file\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2);" (call_expression "fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2)" identifier (argument_list "(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2)" ( (pointer_expression "*(FILE **)PTR_stderr_0002cfcc" * (cast_expression "(FILE **)PTR_stderr_0002cfcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier , identifier , identifier ))) ;) comment (expression_statement "FUN_0001adb0(1);" (call_expression "FUN_0001adb0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nvoid cg_read_rec(FILE *ifp,char *filename)\n\n{\n  char *pcVar1;\n  int iVar2;\n  char *__format;\n  uint count;\n  bfd_vma from_pc;\n  bfd_vma self_pc;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x14449;\n  iVar2 = gmon_io_read_vma(ifp,&from_pc);\n  if (iVar2 == 0) {\n    iVar2 = gmon_io_read_vma(ifp,&self_pc);\n    if (iVar2 == 0) {\n      iVar2 = gmon_io_read_32(ifp,&count);\n      if (iVar2 == 0) {\n        if (((byte)debug_level & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,\n                 (undefined4)self_pc,count);\n        }\n        cg_tally(CONCAT44(from_pc._4_4_,(undefined4)from_pc),\n                 CONCAT44(self_pc._4_4_,(undefined4)self_pc),count);\n        return;\n      }\n    }\n  }\n  pcVar1 = whoami;\n  __format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar1,filename);\n                    /* WARNING: Subroutine does not return */\n  done(1);\n}\n\n" comment comment (function_definition "void cg_read_rec(FILE *ifp,char *filename)\n\n{\n  char *pcVar1;\n  int iVar2;\n  char *__format;\n  uint count;\n  bfd_vma from_pc;\n  bfd_vma self_pc;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x14449;\n  iVar2 = gmon_io_read_vma(ifp,&from_pc);\n  if (iVar2 == 0) {\n    iVar2 = gmon_io_read_vma(ifp,&self_pc);\n    if (iVar2 == 0) {\n      iVar2 = gmon_io_read_32(ifp,&count);\n      if (iVar2 == 0) {\n        if (((byte)debug_level & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,\n                 (undefined4)self_pc,count);\n        }\n        cg_tally(CONCAT44(from_pc._4_4_,(undefined4)from_pc),\n                 CONCAT44(self_pc._4_4_,(undefined4)self_pc),count);\n        return;\n      }\n    }\n  }\n  pcVar1 = whoami;\n  __format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar1,filename);\n                    /* WARNING: Subroutine does not return */\n  done(1);\n}" primitive_type (function_declarator "cg_read_rec(FILE *ifp,char *filename)" identifier (parameter_list "(FILE *ifp,char *filename)" ( (parameter_declaration "FILE *ifp" type_identifier (pointer_declarator "*ifp" * identifier)) , (parameter_declaration "char *filename" primitive_type (pointer_declarator "*filename" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  int iVar2;\n  char *__format;\n  uint count;\n  bfd_vma from_pc;\n  bfd_vma self_pc;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x14449;\n  iVar2 = gmon_io_read_vma(ifp,&from_pc);\n  if (iVar2 == 0) {\n    iVar2 = gmon_io_read_vma(ifp,&self_pc);\n    if (iVar2 == 0) {\n      iVar2 = gmon_io_read_32(ifp,&count);\n      if (iVar2 == 0) {\n        if (((byte)debug_level & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,\n                 (undefined4)self_pc,count);\n        }\n        cg_tally(CONCAT44(from_pc._4_4_,(undefined4)from_pc),\n                 CONCAT44(self_pc._4_4_,(undefined4)self_pc),count);\n        return;\n      }\n    }\n  }\n  pcVar1 = whoami;\n  __format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar1,filename);\n                    /* WARNING: Subroutine does not return */\n  done(1);\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "uint count;" type_identifier identifier ;) (declaration "bfd_vma from_pc;" type_identifier identifier ;) (declaration "bfd_vma self_pc;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x14449;" (assignment_expression "uStack_14 = 0x14449" identifier = number_literal) ;) (expression_statement "iVar2 = gmon_io_read_vma(ifp,&from_pc);" (assignment_expression "iVar2 = gmon_io_read_vma(ifp,&from_pc)" identifier = (call_expression "gmon_io_read_vma(ifp,&from_pc)" identifier (argument_list "(ifp,&from_pc)" ( identifier , (pointer_expression "&from_pc" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n    iVar2 = gmon_io_read_vma(ifp,&self_pc);\n    if (iVar2 == 0) {\n      iVar2 = gmon_io_read_32(ifp,&count);\n      if (iVar2 == 0) {\n        if (((byte)debug_level & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,\n                 (undefined4)self_pc,count);\n        }\n        cg_tally(CONCAT44(from_pc._4_4_,(undefined4)from_pc),\n                 CONCAT44(self_pc._4_4_,(undefined4)self_pc),count);\n        return;\n      }\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar2 = gmon_io_read_vma(ifp,&self_pc);\n    if (iVar2 == 0) {\n      iVar2 = gmon_io_read_32(ifp,&count);\n      if (iVar2 == 0) {\n        if (((byte)debug_level & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,\n                 (undefined4)self_pc,count);\n        }\n        cg_tally(CONCAT44(from_pc._4_4_,(undefined4)from_pc),\n                 CONCAT44(self_pc._4_4_,(undefined4)self_pc),count);\n        return;\n      }\n    }\n  }" { (expression_statement "iVar2 = gmon_io_read_vma(ifp,&self_pc);" (assignment_expression "iVar2 = gmon_io_read_vma(ifp,&self_pc)" identifier = (call_expression "gmon_io_read_vma(ifp,&self_pc)" identifier (argument_list "(ifp,&self_pc)" ( identifier , (pointer_expression "&self_pc" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n      iVar2 = gmon_io_read_32(ifp,&count);\n      if (iVar2 == 0) {\n        if (((byte)debug_level & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,\n                 (undefined4)self_pc,count);\n        }\n        cg_tally(CONCAT44(from_pc._4_4_,(undefined4)from_pc),\n                 CONCAT44(self_pc._4_4_,(undefined4)self_pc),count);\n        return;\n      }\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar2 = gmon_io_read_32(ifp,&count);\n      if (iVar2 == 0) {\n        if (((byte)debug_level & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,\n                 (undefined4)self_pc,count);\n        }\n        cg_tally(CONCAT44(from_pc._4_4_,(undefined4)from_pc),\n                 CONCAT44(self_pc._4_4_,(undefined4)self_pc),count);\n        return;\n      }\n    }" { (expression_statement "iVar2 = gmon_io_read_32(ifp,&count);" (assignment_expression "iVar2 = gmon_io_read_32(ifp,&count)" identifier = (call_expression "gmon_io_read_32(ifp,&count)" identifier (argument_list "(ifp,&count)" ( identifier , (pointer_expression "&count" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n        if (((byte)debug_level & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,\n                 (undefined4)self_pc,count);\n        }\n        cg_tally(CONCAT44(from_pc._4_4_,(undefined4)from_pc),\n                 CONCAT44(self_pc._4_4_,(undefined4)self_pc),count);\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        if (((byte)debug_level & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,\n                 (undefined4)self_pc,count);\n        }\n        cg_tally(CONCAT44(from_pc._4_4_,(undefined4)from_pc),\n                 CONCAT44(self_pc._4_4_,(undefined4)self_pc),count);\n        return;\n      }" { (if_statement "if (((byte)debug_level & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,\n                 (undefined4)self_pc,count);\n        }" if (parenthesized_expression "(((byte)debug_level & 0x40) != 0)" ( (binary_expression "((byte)debug_level & 0x40) != 0" (parenthesized_expression "((byte)debug_level & 0x40)" ( (binary_expression "(byte)debug_level & 0x40" (cast_expression "(byte)debug_level" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,\n                 (undefined4)self_pc,count);\n        }" { (expression_statement "printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,\n                 (undefined4)self_pc,count);" (call_expression "printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,\n                 (undefined4)self_pc,count)" identifier (argument_list "("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(undefined4)from_pc,\n                 (undefined4)self_pc,count)" ( (string_literal ""[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n"" " string_content escape_sequence ") , (cast_expression "(undefined4)from_pc" ( (type_descriptor "undefined4" type_identifier) ) identifier) , (cast_expression "(undefined4)self_pc" ( (type_descriptor "undefined4" type_identifier) ) identifier) , identifier ))) ;) })) (expression_statement "cg_tally(CONCAT44(from_pc._4_4_,(undefined4)from_pc),\n                 CONCAT44(self_pc._4_4_,(undefined4)self_pc),count);" (call_expression "cg_tally(CONCAT44(from_pc._4_4_,(undefined4)from_pc),\n                 CONCAT44(self_pc._4_4_,(undefined4)self_pc),count)" identifier (argument_list "(CONCAT44(from_pc._4_4_,(undefined4)from_pc),\n                 CONCAT44(self_pc._4_4_,(undefined4)self_pc),count)" ( (call_expression "CONCAT44(from_pc._4_4_,(undefined4)from_pc)" identifier (argument_list "(from_pc._4_4_,(undefined4)from_pc)" ( (field_expression "from_pc._4_4_" identifier . field_identifier) , (cast_expression "(undefined4)from_pc" ( (type_descriptor "undefined4" type_identifier) ) identifier) ))) , (call_expression "CONCAT44(self_pc._4_4_,(undefined4)self_pc)" identifier (argument_list "(self_pc._4_4_,(undefined4)self_pc)" ( (field_expression "self_pc._4_4_" identifier . field_identifier) , (cast_expression "(undefined4)self_pc" ( (type_descriptor "undefined4" type_identifier) ) identifier) ))) , identifier ))) ;) (return_statement "return;" return ;) })) })) })) (expression_statement "pcVar1 = whoami;" (assignment_expression "pcVar1 = whoami" identifier = identifier) ;) (expression_statement "__format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);" (assignment_expression "__format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5)" identifier = (cast_expression "(char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext("gprof","%s: %s: unexpected end of file\n",5)" identifier (argument_list "("gprof","%s: %s: unexpected end of file\n",5)" ( (string_literal ""gprof"" " string_content ") , (string_literal ""%s: %s: unexpected end of file\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar1,filename);" (call_expression "fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar1,filename)" identifier (argument_list "(*(FILE **)PTR_stderr_0002cfcc,__format,pcVar1,filename)" ( (pointer_expression "*(FILE **)PTR_stderr_0002cfcc" * (cast_expression "(FILE **)PTR_stderr_0002cfcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier , identifier , identifier ))) ;) comment (expression_statement "done(1);" (call_expression "done(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit "void FUN_00014440(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  char *__format;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x14449;\n  iVar2 = FUN_00019cc0(param_1,&local_2c);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00019cc0(param_1,&local_24);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }\n  }\n  uVar1 = DAT_0002e508;\n  __format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2);\n                    \n  FUN_0001adb0(1);\n}\n\n" (function_definition "void FUN_00014440(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  char *__format;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x14449;\n  iVar2 = FUN_00019cc0(param_1,&local_2c);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00019cc0(param_1,&local_24);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }\n  }\n  uVar1 = DAT_0002e508;\n  __format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2);\n                    \n  FUN_0001adb0(1);\n}" primitive_type (function_declarator "FUN_00014440(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  char *__format;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x14449;\n  iVar2 = FUN_00019cc0(param_1,&local_2c);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00019cc0(param_1,&local_24);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }\n  }\n  uVar1 = DAT_0002e508;\n  __format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2);\n                    \n  FUN_0001adb0(1);\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x14449;" (assignment_expression "uStack_14 = 0x14449" identifier = number_literal) ;) (expression_statement "iVar2 = FUN_00019cc0(param_1,&local_2c);" (assignment_expression "iVar2 = FUN_00019cc0(param_1,&local_2c)" identifier = (call_expression "FUN_00019cc0(param_1,&local_2c)" identifier (argument_list "(param_1,&local_2c)" ( identifier , (pointer_expression "&local_2c" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n    iVar2 = FUN_00019cc0(param_1,&local_24);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar2 = FUN_00019cc0(param_1,&local_24);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }\n  }" { (expression_statement "iVar2 = FUN_00019cc0(param_1,&local_24);" (assignment_expression "iVar2 = FUN_00019cc0(param_1,&local_24)" identifier = (call_expression "FUN_00019cc0(param_1,&local_24)" identifier (argument_list "(param_1,&local_24)" ( identifier , (pointer_expression "&local_24" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }" { (expression_statement "iVar2 = FUN_00019c60(param_1,&local_30);" (assignment_expression "iVar2 = FUN_00019c60(param_1,&local_30)" identifier = (call_expression "FUN_00019c60(param_1,&local_30)" identifier (argument_list "(param_1,&local_30)" ( identifier , (pointer_expression "&local_30" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }" { (if_statement "if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }" if (parenthesized_expression "(((byte)DAT_0002e158 & 0x40) != 0)" ( (binary_expression "((byte)DAT_0002e158 & 0x40) != 0" (parenthesized_expression "((byte)DAT_0002e158 & 0x40)" ( (binary_expression "(byte)DAT_0002e158 & 0x40" (cast_expression "(byte)DAT_0002e158" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }" { (expression_statement "printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);" (call_expression "printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30)" identifier (argument_list "("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30)" ( (string_literal ""[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n"" " string_content escape_sequence ") , identifier , identifier , identifier ))) ;) })) (expression_statement "FUN_00014320(local_2c,local_28,local_24,local_20,local_30);" (call_expression "FUN_00014320(local_2c,local_28,local_24,local_20,local_30)" identifier (argument_list "(local_2c,local_28,local_24,local_20,local_30)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) })) })) (expression_statement "uVar1 = DAT_0002e508;" (assignment_expression "uVar1 = DAT_0002e508" identifier = identifier) ;) (expression_statement "__format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);" (assignment_expression "__format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5)" identifier = (cast_expression "(char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext("gprof","%s: %s: unexpected end of file\n",5)" identifier (argument_list "("gprof","%s: %s: unexpected end of file\n",5)" ( (string_literal ""gprof"" " string_content ") , (string_literal ""%s: %s: unexpected end of file\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2);" (call_expression "fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2)" identifier (argument_list "(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2)" ( (pointer_expression "*(FILE **)PTR_stderr_0002cfcc" * (cast_expression "(FILE **)PTR_stderr_0002cfcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier , identifier , identifier ))) ;) (expression_statement "FUN_0001adb0(1);" (call_expression "FUN_0001adb0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })))
(function_definition "void FUN_00014440(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  char *__format;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x14449;\n  iVar2 = FUN_00019cc0(param_1,&local_2c);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00019cc0(param_1,&local_24);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }\n  }\n  uVar1 = DAT_0002e508;\n  __format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2);\n                    \n  FUN_0001adb0(1);\n}" (primitive_type "void") (function_declarator "FUN_00014440(undefined4 param_1,undefined4 param_2)" (identifier "FUN_00014440") (parameter_list "(undefined4 param_1,undefined4 param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  char *__format;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x14449;\n  iVar2 = FUN_00019cc0(param_1,&local_2c);\n  if (iVar2 == 0) {\n    iVar2 = FUN_00019cc0(param_1,&local_24);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }\n  }\n  uVar1 = DAT_0002e508;\n  __format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);\n  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2);\n                    \n  FUN_0001adb0(1);\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "char *__format;" (primitive_type "char") (pointer_declarator "*__format" (* "*") (identifier "__format")) (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x14449;" (assignment_expression "uStack_14 = 0x14449" (identifier "uStack_14") (= "=") (number_literal "0x14449")) (; ";")) (expression_statement "iVar2 = FUN_00019cc0(param_1,&local_2c);" (assignment_expression "iVar2 = FUN_00019cc0(param_1,&local_2c)" (identifier "iVar2") (= "=") (call_expression "FUN_00019cc0(param_1,&local_2c)" (identifier "FUN_00019cc0") (argument_list "(param_1,&local_2c)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_2c" (& "&") (identifier "local_2c")) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n    iVar2 = FUN_00019cc0(param_1,&local_24);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar2 = FUN_00019cc0(param_1,&local_24);\n    if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar2 = FUN_00019cc0(param_1,&local_24);" (assignment_expression "iVar2 = FUN_00019cc0(param_1,&local_24)" (identifier "iVar2") (= "=") (call_expression "FUN_00019cc0(param_1,&local_24)" (identifier "FUN_00019cc0") (argument_list "(param_1,&local_24)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_24" (& "&") (identifier "local_24")) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar2 = FUN_00019c60(param_1,&local_30);\n      if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }\n    }" ({ "{") (expression_statement "iVar2 = FUN_00019c60(param_1,&local_30);" (assignment_expression "iVar2 = FUN_00019c60(param_1,&local_30)" (identifier "iVar2") (= "=") (call_expression "FUN_00019c60(param_1,&local_30)" (identifier "FUN_00019c60") (argument_list "(param_1,&local_30)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }\n        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);\n        return;\n      }" ({ "{") (if_statement "if (((byte)DAT_0002e158 & 0x40) != 0) {\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }" (if "if") (parenthesized_expression "(((byte)DAT_0002e158 & 0x40) != 0)" (( "(") (binary_expression "((byte)DAT_0002e158 & 0x40) != 0" (parenthesized_expression "((byte)DAT_0002e158 & 0x40)" (( "(") (binary_expression "(byte)DAT_0002e158 & 0x40" (cast_expression "(byte)DAT_0002e158" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0002e158")) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);\n        }" ({ "{") (expression_statement "printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);" (call_expression "printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30)" (identifier "printf") (argument_list "("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30)" (( "(") (string_literal ""[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n"" (" """) (string_content "[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu") (escape_sequence "\n") (" """)) (, ",") (identifier "local_2c") (, ",") (identifier "local_24") (, ",") (identifier "local_30") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00014320(local_2c,local_28,local_24,local_20,local_30);" (call_expression "FUN_00014320(local_2c,local_28,local_24,local_20,local_30)" (identifier "FUN_00014320") (argument_list "(local_2c,local_28,local_24,local_20,local_30)" (( "(") (identifier "local_2c") (, ",") (identifier "local_28") (, ",") (identifier "local_24") (, ",") (identifier "local_20") (, ",") (identifier "local_30") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "uVar1 = DAT_0002e508;" (assignment_expression "uVar1 = DAT_0002e508" (identifier "uVar1") (= "=") (identifier "DAT_0002e508")) (; ";")) (expression_statement "__format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);" (assignment_expression "__format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5)" (identifier "__format") (= "=") (cast_expression "(char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext("gprof","%s: %s: unexpected end of file\n",5)" (identifier "dcgettext") (argument_list "("gprof","%s: %s: unexpected end of file\n",5)" (( "(") (string_literal ""gprof"" (" """) (string_content "gprof") (" """)) (, ",") (string_literal ""%s: %s: unexpected end of file\n"" (" """) (string_content "%s: %s: unexpected end of file") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2);" (call_expression "fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2)" (identifier "fprintf") (argument_list "(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2)" (( "(") (pointer_expression "*(FILE **)PTR_stderr_0002cfcc" (* "*") (cast_expression "(FILE **)PTR_stderr_0002cfcc" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stderr_0002cfcc"))) (, ",") (identifier "__format") (, ",") (identifier "uVar1") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "FUN_0001adb0(1);" (call_expression "FUN_0001adb0(1)" (identifier "FUN_0001adb0") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (} "}")))

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

void function_1(type_1 *ifp,char *filename)

{
  char *pcVar1;
  int var_2;
  char *__format;
  type_2 count;
  type_3 from_pc;
  type_3 self_pc;
  type_4 uStack_14;
  
  uStack_14 = 0x14449;
  var_2 = var_1(ifp,&from_pc);
  if (var_2 == 0) {
    var_2 = var_1(ifp,&self_pc);
    if (var_2 == 0) {
      var_2 = var_3(ifp,&count);
      if (var_2 == 0) {
        if (((type_5)debug_level & 0x40) != 0) {
          var_4("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",(type_4)from_pc,
                 (type_4)self_pc,count);
        }
        var_5(var_6(from_pc._4_4_,(type_4)from_pc),
                 var_6(self_pc._4_4_,(type_4)self_pc),count);
        return;
      }
    }
  }
  pcVar1 = whoami;
  __format = (char *)var_7("gprof","%s: %s: unexpected end of file\n",5);
  var_8(*(type_1 **)PTR_stderr_0002cfcc,__format,pcVar1,filename);
                    /* WARNING: Subroutine does not return */
  var_9(1);
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence)) (identifier) (identifier) (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier)))) (return_statement))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))))

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

void MASKED(undefined4 param_1,undefined4 param_2)

{
  undefined4 uVar1;
  int iVar2;
  char *__format;
  undefined4 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined4 local_24;
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x14449;
  iVar2 = FUN_00019cc0(param_1,&local_2c);
  if (iVar2 == 0) {
    iVar2 = FUN_00019cc0(param_1,&local_24);
    if (iVar2 == 0) {
      iVar2 = FUN_00019c60(param_1,&local_30);
      if (iVar2 == 0) {
        if (((byte)DAT_0002e158 & 0x40) != 0) {
          printf("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",local_2c,local_24,local_30);
        }
        FUN_00014320(local_2c,local_28,local_24,local_20,local_30);
        return;
      }
    }
  }
  uVar1 = DAT_0002e508;
  __format = (char *)dcgettext("gprof","%s: %s: unexpected end of file\n",5);
  fprintf(*(FILE **)PTR_stderr_0002cfcc,__format,uVar1,param_2);
                    /* WARNING: Subroutine does not return */
  FUN_0001adb0(1);
}

