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

char * __regparm3 get_section_contents(Elf_Internal_Shdr *section,Filedata *filedata)

{
  bfd_size_type nmemb;
  char *pcVar1;
  char *__format;
  
  nmemb = section->sh_size;
  if ((*(int *)((int)&section->sh_size + 4) != 0 || (int)section->sh_size != 0) &&
     (section->sh_type != 8)) {
    pcVar1 = (char *)dcgettext(0,"section contents",5);
    pcVar1 = (char *)get_data((void *)0x0,filedata,(ulong)section->sh_offset,1,nmemb,pcVar1);
    return pcVar1;
  }
  pcVar1 = printable_section_name
                     ((Filedata *)&filedata->string_table,
                      (Elf_Internal_Shdr *)&filedata->string_table_length,(Filedata *)section);
  __format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);
  printf(__format,pcVar1);
  return (char *)0x0;
}



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

undefined4 __regparm3 FUN_00032770(int param_1)

{
  int iVar1;
  int iVar2;
  undefined4 uVar3;
  char *__format;
  
  iVar1 = *(int *)(param_1 + 0x24);
  iVar2 = *(int *)(param_1 + 0x20);
  if ((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)) {
    uVar3 = dcgettext(0,"section contents",5);
    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);
    return uVar3;
  }
  uVar3 = FUN_00022190();
  __format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);
  printf(__format,uVar3);
  return 0;
}


PUSH EBP
PUSH EDI
PUSH ESI
MOV ESI,EAX
PUSH EBX
CALL 0x00013f70
ADD EBX,0x81885
SUB ESP,0x1c
MOV EBP,dword ptr [EAX + 0x24]
MOV EDI,dword ptr [EAX + 0x20]
MOV ECX,EBP
OR ECX,EDI
JZ 0x000327d0
CMP dword ptr [EAX + 0x4],0x8
JZ 0x000327d0
MOV dword ptr [ESP + 0xc],EDX
LEA EAX,[EBX + 0xfffc7b33]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV ECX,dword ptr [ESI + 0x18]
MOV dword ptr [ESP],EAX
XOR EAX,EAX
PUSH EBP
PUSH EDI
PUSH 0x0
PUSH 0x1
MOV EDX,dword ptr [ESP + 0x2c]
CALL 0x0001bf90
ADD ESP,0x20
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EDI,[EDX + 0x68]
MOV ECX,ESI
LEA EAX,[EDX + 0x64]
MOV EDX,EDI
CALL 0x00022190
SUB ESP,0x4
MOV ESI,EAX
LEA EAX,[EBX + 0xfffcf7d8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
XOR EAX,EAX
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 __regparm3 FUN_00032770(int param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *__format;\n  \n  iVar1 = *(int *)(param_1 + 0x24);\n  iVar2 = *(int *)(param_1 + 0x20);\n  if ((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)) {\n    uVar3 = dcgettext(0,"section contents",5);\n    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);\n    return uVar3;\n  }\n  uVar3 = FUN_00022190();\n  __format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);\n  printf(__format,uVar3);\n  return 0;\n}\n\n" comment (function_definition "undefined4 __regparm3 FUN_00032770(int param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *__format;\n  \n  iVar1 = *(int *)(param_1 + 0x24);\n  iVar2 = *(int *)(param_1 + 0x20);\n  if ((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)) {\n    uVar3 = dcgettext(0,"section contents",5);\n    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);\n    return uVar3;\n  }\n  uVar3 = FUN_00022190();\n  __format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);\n  printf(__format,uVar3);\n  return 0;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00032770(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *__format;\n  \n  iVar1 = *(int *)(param_1 + 0x24);\n  iVar2 = *(int *)(param_1 + 0x20);\n  if ((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)) {\n    uVar3 = dcgettext(0,"section contents",5);\n    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);\n    return uVar3;\n  }\n  uVar3 = FUN_00022190();\n  __format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);\n  printf(__format,uVar3);\n  return 0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x24);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x24)" identifier = (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(param_1 + 0x20);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x20)" identifier = (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if ((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)) {\n    uVar3 = dcgettext(0,"section contents",5);\n    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);\n    return uVar3;\n  }" if (parenthesized_expression "((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8))" ( (binary_expression "(iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)" (parenthesized_expression "(iVar1 != 0 || iVar2 != 0)" ( (binary_expression "iVar1 != 0 || iVar2 != 0" (binary_expression "iVar1 != 0" identifier != number_literal) || (binary_expression "iVar2 != 0" identifier != number_literal)) )) && (parenthesized_expression "(*(int *)(param_1 + 4) != 8)" ( (binary_expression "*(int *)(param_1 + 4) != 8" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    uVar3 = dcgettext(0,"section contents",5);\n    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);\n    return uVar3;\n  }" { (expression_statement "uVar3 = dcgettext(0,"section contents",5);" (assignment_expression "uVar3 = dcgettext(0,"section contents",5)" identifier = (call_expression "dcgettext(0,"section contents",5)" identifier (argument_list "(0,"section contents",5)" ( number_literal , (string_literal ""section contents"" " string_content ") , number_literal )))) ;) (expression_statement "uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);" (assignment_expression "uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3)" identifier = (call_expression "FUN_0001bf90(1,0,iVar2,iVar1,uVar3)" identifier (argument_list "(1,0,iVar2,iVar1,uVar3)" ( number_literal , number_literal , identifier , identifier , identifier )))) ;) (return_statement "return uVar3;" return identifier ;) })) (expression_statement "uVar3 = FUN_00022190();" (assignment_expression "uVar3 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "__format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Section \'%s\' has no data to dump.\n",5)" identifier (argument_list "(0,"Section \'%s\' has no data to dump.\n",5)" ( number_literal , (string_literal ""Section \'%s\' has no data to dump.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(__format,uVar3);" (call_expression "printf(__format,uVar3)" identifier (argument_list "(__format,uVar3)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nchar * __regparm3 get_section_contents(Elf_Internal_Shdr *section,Filedata *filedata)\n\n{\n  bfd_size_type nmemb;\n  char *pcVar1;\n  char *__format;\n  \n  nmemb = section->sh_size;\n  if ((*(int *)((int)&section->sh_size + 4) != 0 || (int)section->sh_size != 0) &&\n     (section->sh_type != 8)) {\n    pcVar1 = (char *)dcgettext(0,"section contents",5);\n    pcVar1 = (char *)get_data((void *)0x0,filedata,(ulong)section->sh_offset,1,nmemb,pcVar1);\n    return pcVar1;\n  }\n  pcVar1 = printable_section_name\n                     ((Filedata *)&filedata->string_table,\n                      (Elf_Internal_Shdr *)&filedata->string_table_length,(Filedata *)section);\n  __format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);\n  printf(__format,pcVar1);\n  return (char *)0x0;\n}\n\n" comment (function_definition "char * __regparm3 get_section_contents(Elf_Internal_Shdr *section,Filedata *filedata)\n\n{\n  bfd_size_type nmemb;\n  char *pcVar1;\n  char *__format;\n  \n  nmemb = section->sh_size;\n  if ((*(int *)((int)&section->sh_size + 4) != 0 || (int)section->sh_size != 0) &&\n     (section->sh_type != 8)) {\n    pcVar1 = (char *)dcgettext(0,"section contents",5);\n    pcVar1 = (char *)get_data((void *)0x0,filedata,(ulong)section->sh_offset,1,nmemb,pcVar1);\n    return pcVar1;\n  }\n  pcVar1 = printable_section_name\n                     ((Filedata *)&filedata->string_table,\n                      (Elf_Internal_Shdr *)&filedata->string_table_length,(Filedata *)section);\n  __format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);\n  printf(__format,pcVar1);\n  return (char *)0x0;\n}" primitive_type (pointer_declarator "* __regparm3 get_section_contents(Elf_Internal_Shdr *section,Filedata *filedata)" * (ERROR "__regparm3" identifier) (function_declarator "get_section_contents(Elf_Internal_Shdr *section,Filedata *filedata)" identifier (parameter_list "(Elf_Internal_Shdr *section,Filedata *filedata)" ( (parameter_declaration "Elf_Internal_Shdr *section" type_identifier (pointer_declarator "*section" * identifier)) , (parameter_declaration "Filedata *filedata" type_identifier (pointer_declarator "*filedata" * identifier)) )))) (compound_statement "{\n  bfd_size_type nmemb;\n  char *pcVar1;\n  char *__format;\n  \n  nmemb = section->sh_size;\n  if ((*(int *)((int)&section->sh_size + 4) != 0 || (int)section->sh_size != 0) &&\n     (section->sh_type != 8)) {\n    pcVar1 = (char *)dcgettext(0,"section contents",5);\n    pcVar1 = (char *)get_data((void *)0x0,filedata,(ulong)section->sh_offset,1,nmemb,pcVar1);\n    return pcVar1;\n  }\n  pcVar1 = printable_section_name\n                     ((Filedata *)&filedata->string_table,\n                      (Elf_Internal_Shdr *)&filedata->string_table_length,(Filedata *)section);\n  __format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);\n  printf(__format,pcVar1);\n  return (char *)0x0;\n}" { (declaration "bfd_size_type nmemb;" type_identifier identifier ;) (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (expression_statement "nmemb = section->sh_size;" (assignment_expression "nmemb = section->sh_size" identifier = (field_expression "section->sh_size" identifier -> field_identifier)) ;) (if_statement "if ((*(int *)((int)&section->sh_size + 4) != 0 || (int)section->sh_size != 0) &&\n     (section->sh_type != 8)) {\n    pcVar1 = (char *)dcgettext(0,"section contents",5);\n    pcVar1 = (char *)get_data((void *)0x0,filedata,(ulong)section->sh_offset,1,nmemb,pcVar1);\n    return pcVar1;\n  }" if (parenthesized_expression "((*(int *)((int)&section->sh_size + 4) != 0 || (int)section->sh_size != 0) &&\n     (section->sh_type != 8))" ( (binary_expression "(*(int *)((int)&section->sh_size + 4) != 0 || (int)section->sh_size != 0) &&\n     (section->sh_type != 8)" (parenthesized_expression "(*(int *)((int)&section->sh_size + 4) != 0 || (int)section->sh_size != 0)" ( (binary_expression "*(int *)((int)&section->sh_size + 4) != 0 || (int)section->sh_size != 0" (binary_expression "*(int *)((int)&section->sh_size + 4) != 0" (pointer_expression "*(int *)((int)&section->sh_size + 4)" * (cast_expression "(int *)((int)&section->sh_size + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&section->sh_size + 4)" ( (binary_expression "(int)&section->sh_size + 4" (cast_expression "(int)&section->sh_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&section->sh_size" & (field_expression "section->sh_size" identifier -> field_identifier))) + number_literal) )))) != number_literal) || (binary_expression "(int)section->sh_size != 0" (cast_expression "(int)section->sh_size" ( (type_descriptor "int" primitive_type) ) (field_expression "section->sh_size" identifier -> field_identifier)) != number_literal)) )) && (parenthesized_expression "(section->sh_type != 8)" ( (binary_expression "section->sh_type != 8" (field_expression "section->sh_type" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n    pcVar1 = (char *)dcgettext(0,"section contents",5);\n    pcVar1 = (char *)get_data((void *)0x0,filedata,(ulong)section->sh_offset,1,nmemb,pcVar1);\n    return pcVar1;\n  }" { (expression_statement "pcVar1 = (char *)dcgettext(0,"section contents",5);" (assignment_expression "pcVar1 = (char *)dcgettext(0,"section contents",5)" identifier = (cast_expression "(char *)dcgettext(0,"section contents",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"section contents",5)" identifier (argument_list "(0,"section contents",5)" ( number_literal , (string_literal ""section contents"" " string_content ") , number_literal ))))) ;) (expression_statement "pcVar1 = (char *)get_data((void *)0x0,filedata,(ulong)section->sh_offset,1,nmemb,pcVar1);" (assignment_expression "pcVar1 = (char *)get_data((void *)0x0,filedata,(ulong)section->sh_offset,1,nmemb,pcVar1)" identifier = (cast_expression "(char *)get_data((void *)0x0,filedata,(ulong)section->sh_offset,1,nmemb,pcVar1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "get_data((void *)0x0,filedata,(ulong)section->sh_offset,1,nmemb,pcVar1)" identifier (argument_list "((void *)0x0,filedata,(ulong)section->sh_offset,1,nmemb,pcVar1)" ( (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(ulong)section->sh_offset" ( (type_descriptor "ulong" type_identifier) ) (field_expression "section->sh_offset" identifier -> field_identifier)) , number_literal , identifier , identifier ))))) ;) (return_statement "return pcVar1;" return identifier ;) })) (expression_statement "pcVar1 = printable_section_name\n                     ((Filedata *)&filedata->string_table,\n                      (Elf_Internal_Shdr *)&filedata->string_table_length,(Filedata *)section);" (assignment_expression "pcVar1 = printable_section_name\n                     ((Filedata *)&filedata->string_table,\n                      (Elf_Internal_Shdr *)&filedata->string_table_length,(Filedata *)section)" identifier = (call_expression "printable_section_name\n                     ((Filedata *)&filedata->string_table,\n                      (Elf_Internal_Shdr *)&filedata->string_table_length,(Filedata *)section)" identifier (argument_list "((Filedata *)&filedata->string_table,\n                      (Elf_Internal_Shdr *)&filedata->string_table_length,(Filedata *)section)" ( (cast_expression "(Filedata *)&filedata->string_table" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filedata->string_table" & (field_expression "filedata->string_table" identifier -> field_identifier))) , (cast_expression "(Elf_Internal_Shdr *)&filedata->string_table_length" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filedata->string_table_length" & (field_expression "filedata->string_table_length" identifier -> field_identifier))) , (cast_expression "(Filedata *)section" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "__format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Section \'%s\' has no data to dump.\n",5)" identifier (argument_list "(0,"Section \'%s\' has no data to dump.\n",5)" ( number_literal , (string_literal ""Section \'%s\' has no data to dump.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(__format,pcVar1);" (call_expression "printf(__format,pcVar1)" identifier (argument_list "(__format,pcVar1)" ( identifier , identifier ))) ;) (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "undefined4 __regparm3 FUN_00032770(int param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *__format;\n  \n  iVar1 = *(int *)(param_1 + 0x24);\n  iVar2 = *(int *)(param_1 + 0x20);\n  if ((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)) {\n    uVar3 = dcgettext(0,"section contents",5);\n    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);\n    return uVar3;\n  }\n  uVar3 = FUN_00022190();\n  __format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);\n  printf(__format,uVar3);\n  return 0;\n}\n\n" (function_definition "undefined4 __regparm3 FUN_00032770(int param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *__format;\n  \n  iVar1 = *(int *)(param_1 + 0x24);\n  iVar2 = *(int *)(param_1 + 0x20);\n  if ((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)) {\n    uVar3 = dcgettext(0,"section contents",5);\n    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);\n    return uVar3;\n  }\n  uVar3 = FUN_00022190();\n  __format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);\n  printf(__format,uVar3);\n  return 0;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00032770(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *__format;\n  \n  iVar1 = *(int *)(param_1 + 0x24);\n  iVar2 = *(int *)(param_1 + 0x20);\n  if ((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)) {\n    uVar3 = dcgettext(0,"section contents",5);\n    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);\n    return uVar3;\n  }\n  uVar3 = FUN_00022190();\n  __format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);\n  printf(__format,uVar3);\n  return 0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x24);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x24)" identifier = (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(param_1 + 0x20);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x20)" identifier = (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if ((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)) {\n    uVar3 = dcgettext(0,"section contents",5);\n    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);\n    return uVar3;\n  }" if (parenthesized_expression "((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8))" ( (binary_expression "(iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)" (parenthesized_expression "(iVar1 != 0 || iVar2 != 0)" ( (binary_expression "iVar1 != 0 || iVar2 != 0" (binary_expression "iVar1 != 0" identifier != number_literal) || (binary_expression "iVar2 != 0" identifier != number_literal)) )) && (parenthesized_expression "(*(int *)(param_1 + 4) != 8)" ( (binary_expression "*(int *)(param_1 + 4) != 8" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    uVar3 = dcgettext(0,"section contents",5);\n    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);\n    return uVar3;\n  }" { (expression_statement "uVar3 = dcgettext(0,"section contents",5);" (assignment_expression "uVar3 = dcgettext(0,"section contents",5)" identifier = (call_expression "dcgettext(0,"section contents",5)" identifier (argument_list "(0,"section contents",5)" ( number_literal , (string_literal ""section contents"" " string_content ") , number_literal )))) ;) (expression_statement "uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);" (assignment_expression "uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3)" identifier = (call_expression "FUN_0001bf90(1,0,iVar2,iVar1,uVar3)" identifier (argument_list "(1,0,iVar2,iVar1,uVar3)" ( number_literal , number_literal , identifier , identifier , identifier )))) ;) (return_statement "return uVar3;" return identifier ;) })) (expression_statement "uVar3 = FUN_00022190();" (assignment_expression "uVar3 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "__format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Section \'%s\' has no data to dump.\n",5)" identifier (argument_list "(0,"Section \'%s\' has no data to dump.\n",5)" ( number_literal , (string_literal ""Section \'%s\' has no data to dump.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(__format,uVar3);" (call_expression "printf(__format,uVar3)" identifier (argument_list "(__format,uVar3)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , IDENT , IDENT , IDENT )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return LIT ;) })))
(function_definition "undefined4 __regparm3 FUN_00032770(int param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *__format;\n  \n  iVar1 = *(int *)(param_1 + 0x24);\n  iVar2 = *(int *)(param_1 + 0x20);\n  if ((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)) {\n    uVar3 = dcgettext(0,"section contents",5);\n    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);\n    return uVar3;\n  }\n  uVar3 = FUN_00022190();\n  __format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);\n  printf(__format,uVar3);\n  return 0;\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00032770(int param_1)" (identifier "FUN_00032770") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *__format;\n  \n  iVar1 = *(int *)(param_1 + 0x24);\n  iVar2 = *(int *)(param_1 + 0x20);\n  if ((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)) {\n    uVar3 = dcgettext(0,"section contents",5);\n    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);\n    return uVar3;\n  }\n  uVar3 = FUN_00022190();\n  __format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);\n  printf(__format,uVar3);\n  return 0;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "char *__format;" (primitive_type "char") (pointer_declarator "*__format" (* "*") (identifier "__format")) (; ";")) (expression_statement "iVar1 = *(int *)(param_1 + 0x24);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x24)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_1 + 0x24)" (* "*") (cast_expression "(int *)(param_1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(param_1 + 0x20);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x20)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if ((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)) {\n    uVar3 = dcgettext(0,"section contents",5);\n    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);\n    return uVar3;\n  }" (if "if") (parenthesized_expression "((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8))" (( "(") (binary_expression "(iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)" (parenthesized_expression "(iVar1 != 0 || iVar2 != 0)" (( "(") (binary_expression "iVar1 != 0 || iVar2 != 0" (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 4) != 8)" (( "(") (binary_expression "*(int *)(param_1 + 4) != 8" (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "8")) () ")"))) () ")")) (compound_statement "{\n    uVar3 = dcgettext(0,"section contents",5);\n    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);\n    return uVar3;\n  }" ({ "{") (expression_statement "uVar3 = dcgettext(0,"section contents",5);" (assignment_expression "uVar3 = dcgettext(0,"section contents",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"section contents",5)" (identifier "dcgettext") (argument_list "(0,"section contents",5)" (( "(") (number_literal "0") (, ",") (string_literal ""section contents"" (" """) (string_content "section contents") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);" (assignment_expression "uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3)" (identifier "uVar3") (= "=") (call_expression "FUN_0001bf90(1,0,iVar2,iVar1,uVar3)" (identifier "FUN_0001bf90") (argument_list "(1,0,iVar2,iVar1,uVar3)" (( "(") (number_literal "1") (, ",") (number_literal "0") (, ",") (identifier "iVar2") (, ",") (identifier "iVar1") (, ",") (identifier "uVar3") () ")")))) (; ";")) (return_statement "return uVar3;" (return "return") (identifier "uVar3") (; ";")) (} "}"))) (expression_statement "uVar3 = FUN_00022190();" (assignment_expression "uVar3 = FUN_00022190()" (identifier "uVar3") (= "=") (call_expression "FUN_00022190()" (identifier "FUN_00022190") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "__format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5)" (identifier "__format") (= "=") (cast_expression "(char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"Section \'%s\' has no data to dump.\n",5)" (identifier "dcgettext") (argument_list "(0,"Section \'%s\' has no data to dump.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Section \'%s\' has no data to dump.\n"" (" """) (string_content "Section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " has no data to dump.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(__format,uVar3);" (call_expression "printf(__format,uVar3)" (identifier "printf") (argument_list "(__format,uVar3)" (( "(") (identifier "__format") (, ",") (identifier "uVar3") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

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

char * __regparm3 function_1(type_1 *section,type_2 *filedata)

{
  type_3 nmemb;
  char *pcVar1;
  char *__format;
  
  nmemb = section->sh_size;
  if ((*(int *)((int)&section->sh_size + 4) != 0 || (int)section->sh_size != 0) &&
     (section->sh_type != 8)) {
    pcVar1 = (char *)var_1(0,"section contents",5);
    pcVar1 = (char *)var_2((void *)0x0,filedata,(type_4)section->sh_offset,1,nmemb,pcVar1);
    return pcVar1;
  }
  pcVar1 = var_3
                     ((type_2 *)&filedata->string_table,
                      (type_1 *)&filedata->string_table_length,(type_2 *)section);
  __format = (char *)var_1(0,"Section \'%s\' has no data to dump.\n",5);
  var_4(__format,pcVar1);
  return (char *)0x0;
}


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

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

undefined4 __regparm3 MASKED(int param_1)

{
  int iVar1;
  int iVar2;
  undefined4 uVar3;
  char *__format;
  
  iVar1 = *(int *)(param_1 + 0x24);
  iVar2 = *(int *)(param_1 + 0x20);
  if ((iVar1 != 0 || iVar2 != 0) && (*(int *)(param_1 + 4) != 8)) {
    uVar3 = dcgettext(0,"section contents",5);
    uVar3 = FUN_0001bf90(1,0,iVar2,iVar1,uVar3);
    return uVar3;
  }
  uVar3 = FUN_00022190();
  __format = (char *)dcgettext(0,"Section \'%s\' has no data to dump.\n",5);
  printf(__format,uVar3);
  return 0;
}

